Metodologi Agile dalam Pengujian Perangkat Lunak
Apa Metodologi Agile dalam Pengujian?
Metodologi Agile berarti sebuah praktik yang mempromosikan iterasi terus menerus pengembangan dan pengujian sepanjang siklus pengembangan perangkat lunak proyek. Dalam model Agile dalam pengujian perangkat lunak, aktivitas pengembangan dan pengujian dilakukan secara bersamaan, tidak seperti model Waterfall.

Apa itu Pengembangan Perangkat Lunak Agile?
The Pengembangan perangkat lunak tangkas metodologi adalah salah satu proses paling sederhana dan efektif untuk mengubah visi kebutuhan bisnis menjadi solusi perangkat lunak. Agile adalah istilah yang digunakan untuk menggambarkan pendekatan pengembangan perangkat lunak yang menggunakan perencanaan berkelanjutan, pembelajaran, peningkatan, kolaborasi tim, pengembangan evolusioner, dan pengiriman awal. Hal ini mendorong respons yang fleksibel terhadap perubahan.
Pengembangan perangkat lunak tangkas menekankan pada empat nilai inti.
- Interaksi individu dan tim atas proses dan alat
- Bekerja perangkat lunak di atas dokumentasi yang komprehensif
- Kolaborasi pelanggan tentang negosiasi kontrak
- Menanggapi perubahan mengikuti rencana
Model Agile Vs Model Air Terjun
Model Agile dan Waterfall adalah dua metode berbeda untuk proses pengembangan perangkat lunak. Meskipun pendekatannya berbeda, kedua metode ini terkadang berguna, bergantung pada kebutuhan dan jenis proyek.
model tangkas | Model Air Terjun |
---|---|
Metodologi tangkas dalam definisi pengujian perangkat lunak: Metodologi tangkas mengusulkan pendekatan bertahap dan berulang terhadap desain perangkat lunak | Model Air Terjun: Pengembangan perangkat lunak mengalir secara berurutan dari titik awal hingga titik akhir. |
The Proses tangkas dalam pengujian perangkat lunak dipecah menjadi model individual yang dikerjakan oleh desainer | Proses desain tidak dipecah menjadi model individual |
Pelanggan memiliki kesempatan awal dan sering untuk melihat produk dan membuat keputusan serta perubahan pada proyek | Pelanggan hanya dapat melihat produk di akhir proyek |
Model agile dalam pengujian dianggap tidak terstruktur dibandingkan dengan model air terjun | Model air terjun lebih aman karena berorientasi pada rencana |
Proyek kecil dapat diimplementasikan dengan sangat cepat. Untuk proyek besar, sulit untuk memperkirakan waktu pengembangan. | Segala macam proyek dapat diperkirakan dan diselesaikan. |
Kesalahan dapat diperbaiki di tengah proyek. | Hanya pada akhirnya seluruh produk diuji. Jika ditemukan kesalahan persyaratan atau perubahan apa pun harus dilakukan, proyek harus dimulai dari awal |
Proses pengembangan bersifat berulang, dan proyek dilaksanakan dalam waktu singkat (2-4) minggu iterasi. Perencanaan sangat kurang. | Proses pengembangannya bertahap, dan fase ini jauh lebih besar daripada iterasi. Setiap fase diakhiri dengan penjelasan rinci tentang fase berikutnya. |
Dokumentasi kurang mendapat prioritas dibandingkan pengembangan perangkat lunak | Dokumentasi adalah prioritas utama dan bahkan dapat digunakan untuk melatih staf dan meningkatkan perangkat lunak dengan tim lain |
Setiap iterasi memiliki fase pengujiannya sendiri. Hal ini memungkinkan penerapan pengujian regresi setiap kali fungsi atau logika baru dirilis. | Baru setelah tahap pengembangan, tahap pengujian dijalankan karena bagian-bagian yang terpisah tidak berfungsi penuh. |
Dalam pengujian tangkas ketika iterasi berakhir, fitur produk yang dapat dikirim dikirimkan ke pelanggan. Fitur baru dapat digunakan segera setelah pengiriman. Ini berguna ketika Anda memiliki kontak yang baik dengan pelanggan. | Semua fitur yang dikembangkan dikirimkan sekaligus setelah fase implementasi yang panjang. |
Penguji dan pengembang bekerja sama | Penguji bekerja secara terpisah dari pengembang |
Di akhir setiap sprint, penerimaan pengguna dilakukan | Penerimaan pengguna adalah dilakukan di akhir proyek. |
Hal ini memerlukan komunikasi yang erat dengan pengembang dan bersama-sama menganalisis persyaratan dan perencanaan | Pengembang tidak terlibat dalam proses persyaratan dan perencanaan. Biasanya, ada jeda waktu antara pengujian dan pengkodean |
Juga Periksa: - Agile Vs Waterfall: Ketahui Perbedaan Antara Metodologi
Proses Tangkas
Periksa di bawah ini Metodologi tangkas proses untuk menghasilkan sistem yang sukses dengan cepat.

Ada beragam Metode tangkas hadir dalam pengujian tangkas, dan itu tercantum di bawah ini:
Banyak orang
SCRUM adalah metode pengembangan tangkas yang berkonsentrasi secara khusus pada cara mengelola tugas dalam lingkungan pengembangan berbasis tim. Pada dasarnya Scrum berasal dari aktivitas yang terjadi selama pertandingan rugby. Scrum percaya pada pemberdayaan tim pengembangan dan menganjurkan bekerja dalam tim kecil (misalnya 7 hingga 9 anggota). Agile dan Scrum terdiri dari tiga peran, dan tanggung jawabnya dijelaskan sebagai berikut:

-
Scrum Guru
- Scrum Guru bertanggung jawab untuk menyiapkan tim, rapat sprint, dan menghilangkan hambatan untuk kemajuan
-
Pemilik produk
-
Pemilik Produk membuat product backlog, memprioritaskan backlog dan bertanggung jawab atas penyampaian fungsionalitas pada setiap iterasi
-
-
Tim Scrum
-
Tim mengelola pekerjaannya sendiri dan mengatur pekerjaan untuk menyelesaikan sprint atau siklus
-
Product Backlog
Ini adalah repositori tempat persyaratan dilacak dengan rincian tentang jumlah persyaratan (kisah pengguna) yang harus diselesaikan untuk setiap rilis. Repositori ini harus dikelola dan diprioritaskan oleh Pemilik Produk, dan harus didistribusikan ke tim scrum. Tim juga dapat meminta penambahan atau modifikasi atau penghapusan persyaratan baru.
Praktek Scrum
Praktik dijelaskan secara rinci:

Alur proses Metodologi Scrum:
Aliran proses dari pengujian scrum adalah sebagai berikut:
- Setiap iterasi scrum dikenal sebagai Sprint
- Backlog produk adalah daftar tempat semua detail dimasukkan untuk mendapatkan produk akhir.
- Selama masing-masing Sprint, cerita pengguna teratas dari Product backlog dipilih dan diubah menjadi Sprint jaminan simpanan
- Tim bekerja pada sprint backlog yang telah ditentukan
- Tim memeriksa pekerjaan sehari-hari
- Di akhir sprint, tim mengirimkan fungsionalitas produk
Pemrograman Ekstrim (XP)
Teknik Pemrograman Ekstrim sangat membantu ketika ada permintaan atau persyaratan yang terus berubah dari pelanggan atau ketika mereka tidak yakin dengan fungsionalitas sistem. Hal ini menganjurkan “peluncuran” produk secara sering dalam siklus pengembangan yang singkat, yang secara inheren meningkatkan produktivitas sistem dan juga memperkenalkan pos pemeriksaan di mana setiap kebutuhan pelanggan dapat dengan mudah diterapkan. XP mengembangkan perangkat lunak yang menjaga pelanggan tetap pada sasarannya.

Persyaratan bisnis dikumpulkan dalam bentuk cerita. Semua cerita itu disimpan di tempat yang disebut tempat parkir.
Dalam metodologi jenis ini, rilis didasarkan pada siklus pendek yang disebut Iterasi dengan rentang waktu 14 hari. Setiap iterasi mencakup fase seperti pengkodean, pengujian unit, dan pengujian sistem di mana pada setiap fase beberapa fungsi kecil atau besar akan dibangun dalam aplikasi.
Tahapan pemrograman eXtreme:
Ada 6 fase yang tersedia dalam metode Agile XP, dan dijelaskan sebagai berikut:
Perencanaan
-
Identifikasi pemangku kepentingan dan sponsor
-
Persyaratan Infrastruktur
-
Security informasi dan pengumpulan terkait
-
Perjanjian Tingkat Layanan dan ketentuannya
Sampel
-
Menangkap Cerita di Tempat Parkir
-
Prioritaskan cerita di tempat parkir
-
Menggosok cerita untuk estimasi
-
Tentukan Iterasi SPAN (Waktu)
-
Perencanaan sumber daya untuk tim Pengembangan dan QA
Mendesain
-
Perincian tugas
-
Persiapan Skenario Tes untuk setiap tugas
-
Kerangka Otomatisasi Regresi
Execution
-
Pengkodean
-
Eksekusi skenario pengujian Manual
-
Pembuatan Laporan Cacat
-
Konversi kasus uji regresi Manual ke Otomatisasi
-
Tinjauan Iterasi Pertengahan
-
Tinjauan Akhir Iterasi
Pembungkus
-
Rilis Kecil
-
Demo dan ulasan
-
Kembangkan cerita baru berdasarkan kebutuhan
-
Perbaikan Proses berdasarkan komentar tinjauan akhir iterasi
Penutupan
-
Peluncuran Percontohan
-
Pelatihan
-
Peluncuran Produksi
-
Jaminan Jaminan SLA
-
Revmelihat strategi SOA
-
Dukungan produksi
Ada dua storyboard yang tersedia untuk melacak pekerjaan setiap hari, dan semuanya tercantum di bawah ini sebagai referensi.
-
Karton Cerita
-
Ini adalah cara tradisional mengumpulkan semua cerita di papan dalam bentuk catatan tempel untuk melacak aktivitas XP harian. Karena kegiatan manual ini memerlukan lebih banyak tenaga dan waktu, lebih baik beralih ke formulir online.
-
-
Papan Cerita Daring
-
Alat online Storyboard dapat digunakan untuk menyimpan cerita. Beberapa tim dapat menggunakannya untuk tujuan yang berbeda.
-
Metodologi Kristal
Metodologi Kristal didasarkan pada tiga konsep
-
Pemborongan: Berbagai aktivitas yang terlibat dalam fase ini adalah membentuk tim pengembangan, melakukan analisis kelayakan awal, mengembangkan rencana awal, dan menyempurnakan metodologi pengembangan.
-
Pengiriman siklik: Fase pengembangan utama terdiri dari dua atau lebih siklus pengiriman, di mana
- Tim memperbarui dan menyempurnakan rencana rilis
- Menerapkan subset persyaratan melalui satu atau lebih iterasi integrasi pengujian program
- Produk terintegrasi dikirimkan ke pengguna nyata
- Revgambaran rencana proyek dan metodologi pengembangan yang diadopsi
- Bungkus: Aktivitas yang dilakukan pada fase ini adalah penerapan ke lingkungan pengguna, dilakukan tinjauan dan refleksi pasca penerapan.
Metode Pengembangan Perangkat Lunak Dinamis (DSDM)
DSDM adalah a Pengembangan Aplikasi yang Cepat (RAD) untuk pengembangan perangkat lunak dan menyediakan kerangka penyampaian proyek yang tangkas. Aspek penting dari DSDM adalah pengguna dituntut untuk terlibat secara aktif, dan tim diberi kekuasaan untuk mengambil keputusan. Pengiriman produk yang sering menjadi fokus aktif DSDM. Teknik yang digunakan dalam DSDM adalah
- Waktu Boxing
- Peraturan Moskow
- prototyping
Proyek DSDM terdiri dari 7 fase
- Pra-proyek
- Studi kelayakan
- Studi Bisnis
- Iterasi Model Fungsional
- Merancang dan membangun Iterasi
- Organisasi
- Pasca proyek
Pengembangan Berbasis Fitur (FDD)
Metode ini difokuskan pada fitur "merancang & membangun". Tidak seperti metode Agile lainnya dalam rekayasa perangkat lunak, FDD menggambarkan fase kerja yang sangat spesifik dan singkat yang harus diselesaikan secara terpisah per fitur. Metode ini mencakup penelusuran domain, inspeksi desain, promosi untuk membangun, inspeksi kode, dan desain. FDD mengembangkan produk dengan tetap mengikuti hal-hal yang menjadi target
- Pemodelan objek domain
- Pengembangan berdasarkan fitur
- Kepemilikan Komponen/Kelas
- Tim Fitur
- inspeksi
- Manajemen konfigurasi
- Bangunan Reguler
- Visibilitas kemajuan dan hasil
Pengembangan Perangkat Lunak Lean
Metode pengembangan perangkat lunak lean didasarkan pada prinsip “produksi Just in time”. Hal ini bertujuan untuk meningkatkan kecepatan pengembangan perangkat lunak dan mengurangi biaya. Pengembangan lean dapat diringkas dalam tujuh langkah.
- Menghilangkan Limbah
- Memperkuat pembelajaran
- Tunda komitmen (memutuskan selambat mungkin)
- Pengiriman awal
- Memberdayakan tim
- Bangunan Integrity
- Optimalkan keseluruhannya
Kanban
Kanban awalnya muncul dari kata Jepang yang berarti kartu yang berisi semua informasi yang diperlukan untuk mengerjakan suatu produk di setiap tahap sepanjang jalan menuju penyelesaian. Kerangka kerja atau metode ini cukup diadopsi dalam metode pengujian perangkat lunak terutama dalam konsep Agile.
Scrum Vs Kanban
Banyak orang | Kanban |
---|---|
Dalam teknik scrum, pengujian harus dipecah sehingga dapat diselesaikan dalam satu sprint | Tidak ada ukuran item tertentu yang ditentukan |
Menentukan product backlog yang diprioritaskan | Prioritas adalah opsional |
Tim scrum berkomitmen pada sejumlah pekerjaan tertentu untuk iterasi tersebut | Komitmen adalah opsional |
Bagan burndown ditentukan | Tidak ada ukuran item tertentu yang ditentukan |
Di antara setiap sprint, papan scrum akan diatur ulang | Dewan Kanban bersifat gigih. Ini membatasi jumlah item dalam status alur kerja |
Itu tidak dapat menambahkan item ke iterasi yang sedang berlangsung | Itu dapat menambahkan item kapan pun kapasitas tersedia |
WIP terbatas secara tidak langsung | WIP terbatas secara langsung |
Iterasi yang dibatasi waktu ditentukan | Iterasi dengan batas waktu opsional |
Juga Periksa: - Kanban Vs. Scrum: Apa Bedanya?
Metrik tangkas
Metrik yang dapat dikumpulkan untuk penggunaan Agile yang efektif adalah:
-
Faktor Tarik
-
Upaya dalam jam yang tidak berkontribusi pada tujuan sprint
-
Faktor hambatan dapat ditingkatkan dengan mengurangi jumlah sumber daya bersama, mengurangi jumlah pekerjaan yang tidak berkontribusi
-
Estimasi baru dapat ditingkatkan berdasarkan persentase faktor hambatan -Estimasi baru = (Estimasi lama+faktor hambatan)
-
-
Kecepatan
-
Jumlah backlog (cerita pengguna) yang diubah menjadi fungsionalitas sprint yang dapat dikirim
-
-
Jumlah Tes Unit yang ditambahkan
-
Interval waktu yang dibutuhkan untuk menyelesaikan pembangunan harian
-
Bug terdeteksi pada iterasi atau iterasi sebelumnya
-
Kebocoran cacat produksi