Apa itu Pengujian Agile? Proses & Siklus Hidup
Apa itu Pengujian Agile?
Pengujian Agile adalah praktik pengujian yang mengikuti aturan dan prinsip pengembangan perangkat lunak tangkas. Berbeda dengan metode Waterfall, Agile Testing dapat dimulai pada awal proyek dengan integrasi berkelanjutan antara pengembangan dan pengujian. Metodologi Agile Testing tidak berurutan (dalam artian dijalankan hanya setelah tahap pengkodean) tetapi berkelanjutan.
Prinsip Pengujian Agile
Berikut adalah Prinsip penting dari Agile Testing:
- Dalam model pengujian Agile ini, perangkat lunak yang berfungsi adalah ukuran utama kemajuan.
- Hasil terbaik dapat dicapai oleh tim yang mengatur dirinya sendiri.
- Memberikan perangkat lunak yang berharga secara dini dan berkelanjutan adalah prioritas utama kami.
- Pengembang perangkat lunak harus bertindak untuk berkumpul setiap hari selama proyek berlangsung.
- Meningkatkan ketangkasan melalui perbaikan teknis berkelanjutan dan desain yang baik.
- Agile Testing memastikan bahwa produk akhir memenuhi harapan bisnis dengan memberikan umpan balik yang berkelanjutan.
- Dalam proses Agile Test, kita perlu menjalankan proses pengujian selama implementasi, sehingga mengurangi waktu pengembangan.
- Proses pengujian di Agile harus berjalan pada kecepatan pengembangan yang konsisten
- Berikan refleksi rutin tentang bagaimana menjadi lebih efektif.
- Arsitektur, persyaratan, dan desain terbaik muncul dari tim yang mengorganisasikan diri sendiri.
- Setiap kali tim bertemu, tim meninjau dan menyesuaikan perilakunya agar menjadi lebih efektif.
- Percakapan tatap muka dengan tim pengembangan adalah metode penyampaian informasi yang paling efektif dan efisien dalam tim.
Agile Testing mencakup berbagai prinsip yang membantu kami meningkatkan produktivitas Perangkat Lunak.
Siklus Hidup Pengujian Agile
Siklus hidup Pengujian Agile diselesaikan dalam lima fase berbeda, seperti yang dapat kita lihat pada gambar berikut:
Berikut langkah-langkah pengujian proses Agile:
Fase1: Penilaian Dampak: Pada tahap awal ini, kami mengumpulkan masukan dari pemangku kepentingan dan pengguna. Fase ini juga disebut fase umpan balik, karena membantu teknisi pengujian dalam menetapkan tujuan untuk siklus hidup berikutnya.
Fase 2: Perencanaan Pengujian Agile: Ini adalah fase kedua dari siklus hidup pengujian Agile, di mana semua pemangku kepentingan berkumpul untuk merencanakan jadwal proses pengujian dan hasil yang dihasilkan.
Fase 3: Kesiapan Rilis: Pada tahap ini kami meninjau fitur-fitur yang telah dikembangkan/diimplementasikan apakah siap untuk go live atau belum. Pada tahap ini juga diputuskan mana yang perlu kembali ke tahap pengembangan sebelumnya.
Fase 4: Scrum Harian: Tahap ini mencakup setiap pertemuan pagi standup untuk mengetahui status pengujian dan menetapkan tujuan sepanjang hari.
Fase 5: Uji Ketangkasan Revlihat: Fase terakhir dari siklus hidup Agile adalah Agility Revpertemuan baru. Ini melibatkan pertemuan mingguan dengan para pemangku kepentingan untuk mengevaluasi dan menilai kemajuan terhadap tujuan secara teratur.
Rencana Tes Agile
Rencana pengujian tangkas mencakup jenis pengujian yang dilakukan dalam iterasi itu seperti persyaratan data pengujian, infrastruktur, lingkungan pengujian, dan hasil tes. Berbeda dengan model air terjun, dalam model tangkas, rencana pengujian ditulis dan diperbarui untuk setiap rilis. Rencana pengujian umum dalam agile meliputi
- Ruang Lingkup Pengujian
- Fungsionalitas baru yang sedang diuji
- Tingkat atau Jenis Pengujian Berdasarkan Kompleksitas Fitur
- Pengujian Beban dan Kinerja
- Pertimbangan Infrastruktur
- Rencana Mitigasi atau Risiko
- Penyerahan sumber daya
- Hasil Kerja dan Tonggak Pencapaian
Strategi Pengujian Agile
Siklus hidup pengujian tangkas mencakup empat tahap
iterasi 0
Selama tahap pertama atau iterasi 0, Anda melakukan tugas pengaturan awal. Ini termasuk mengidentifikasi orang untuk pengujian, memasang alat pengujian, menjadwalkan sumber daya (lab pengujian kegunaan), dll. Langkah-langkah berikut ditetapkan untuk dicapai dalam Iterasi 0
- Menetapkan kasus bisnis untuk proyek tersebut
- Tetapkan kondisi batas dan ruang lingkup proyek
- Uraikan persyaratan utama dan kasus penggunaan yang akan mendorong trade-off desain
- Jelaskan satu atau lebih arsitektur kandidat
- Mengidentifikasi risiko
- Estimasi biaya dan menyiapkan proyek awal
Iterasi Konstruksi
Fase kedua dari metodologi pengujian tangkas adalah Iterasi Konstruksi, sebagian besar pengujian terjadi selama fase ini. Fase ini diamati sebagai serangkaian iterasi untuk membangun peningkatan solusi. Untuk melakukan itu, dalam setiap iterasi, tim menerapkan gabungan praktik dari XP, Scrum, pemodelan Agile, dan data tangkas, dan seterusnya.
Dalam iterasi konstruksi, tim tangkas mengikuti praktik persyaratan yang diprioritaskan: Pada setiap iterasi, mereka mengambil persyaratan paling penting yang tersisa dari tumpukan item kerja dan mengimplementasikannya.
Iterasi konstruksi diklasifikasikan menjadi dua, pengujian konfirmasi dan pengujian investigatif. Konsentrat pengujian konfirmatori pada verifikasi bahwa sistem memenuhi maksud para pemangku kepentingan seperti yang dijelaskan kepada tim hingga saat ini, dan dilakukan oleh tim. Sedangkan pengujian investigasi mendeteksi masalah yang dilewati atau diabaikan oleh tim konfirmasi. Dalam pengujian Investigasi, penguji menentukan potensi masalah dalam bentuk cerita cacat. Pengujian investigasi berkaitan dengan masalah umum seperti pengujian integrasi, pengujian beban/tekanan, dan pengujian keamanan.
Sekali lagi, pengujian konfirmasi ada dua aspek pengujian pengembang dan pengujian penerimaan tangkas. Keduanya diotomatisasi untuk memungkinkan pengujian regresi berkelanjutan sepanjang siklus hidup. Pengujian konfirmatori setara dengan pengujian terhadap spesifikasi.
Pengujian penerimaan tangkas adalah kombinasi pengujian fungsional tradisional dan pengujian penerimaan tradisional sebagai tim pengembangan, dan pemangku kepentingan melakukannya bersama-sama. Sedangkan pengujian pengembang merupakan gabungan pengujian unit tradisional dan pengujian integrasi layanan tradisional. Pengujian pengembang memverifikasi kode aplikasi dan skema database.
Rilis Game Akhir Atau Fase Transisi
Sasaran dari "Rilis, Akhir Permainan" adalah untuk menerapkan sistem Anda dengan sukses ke tahap produksi. Aktivitas yang termasuk dalam fase ini adalah pelatihan pengguna akhir, staf pendukung, dan staf operasional. Selain itu, fase ini juga mencakup pemasaran rilis produk, pencadangan & pemulihan, finalisasi sistem dan dokumentasi pengguna.
Tahap akhir pengujian metodologi agile meliputi pengujian sistem penuh dan pengujian penerimaan. Untuk menyelesaikan tahap pengujian akhir Anda tanpa hambatan apa pun, Anda harus menguji produk lebih teliti saat sedang dalam iterasi konstruksi. Selama permainan akhir, penguji akan mengerjakan cerita cacatnya.
Produksi
Setelah tahap rilis, produk akan melanjutkan ke tahap produksi.
Kuadran Pengujian Agile
Kuadran pengujian tangkas memisahkan seluruh proses dalam empat Kuadran dan membantu memahami bagaimana pengujian tangkas dilakukan.
Kuadran tangkas I
Kualitas kode internal adalah fokus utama dalam kuadran ini, dan terdiri dari kasus uji yang didorong oleh teknologi dan diterapkan untuk mendukung tim, termasuk
- Tes Unit
- Tes Komponen
Kuadran Agile II
Ini berisi kasus uji yang didorong oleh bisnis dan diterapkan untuk mendukung tim. Kuadran ini berfokus pada persyaratan. Jenis tes yang dilakukan pada tahap ini adalah
- Menguji contoh skenario dan alur kerja yang mungkin
- Pengujian pengalaman Pengguna seperti prototipe
- Pengujian berpasangan
Kuadran Agile III
Kuadran ini memberikan umpan balik kepada kuadran satu dan dua. Kasus uji dapat digunakan sebagai dasar untuk melakukan pengujian otomasi. Di kuadran ini, banyak putaran tinjauan iterasi dilakukan untuk membangun kepercayaan terhadap produk. Jenis pengujian yang dilakukan pada kuadran ini adalah
- Kegunaan Pengujian
- Pengujian Eksplorasi
- Pasangkan pengujian dengan pelanggan
- Pengujian kolaboratif
- Pengujian penerimaan pengguna
Kuadran Agile IV
Kuadran ini berkonsentrasi pada persyaratan non-fungsional seperti kinerja, keamanan, stabilitas, dll. Dengan bantuan kuadran ini, aplikasi dibuat untuk memberikan kualitas non-fungsional dan nilai yang diharapkan.
- Tes non-fungsional seperti pengujian stres dan kinerja
- Pengujian keamanan sehubungan dengan pembuktian keaslian dan peretasan
- Pengujian infrastruktur
- Pengujian migrasi data
- Pengujian skalabilitas
- Uji beban
Tantangan QA dengan pengembangan perangkat lunak yang tangkas
- Kemungkinan kesalahan lebih besar terjadi pada agile, karena dokumentasi kurang diprioritaskan, yang pada akhirnya memberi tekanan lebih besar pada tim QA
- Fitur-fitur baru diperkenalkan dengan cepat, sehingga mengurangi waktu yang tersedia bagi tim penguji untuk mengidentifikasi apakah fitur-fitur terbaru sesuai dengan kebutuhan dan apakah fitur tersebut benar-benar memenuhi kebutuhan bisnis.
- Penguji sering kali diharuskan memainkan peran semi-pengembang
- Siklus eksekusi pengujian sangat terkompresi
- Sangat sedikit waktu untuk mempersiapkan rencana ujian
- Untuk pengujian regresi, mereka memiliki waktu yang minimal
- Perubahan peran mereka dari penjaga gerbang kualitas menjadi mitra dalam kualitas
- Perubahan dan pembaruan persyaratan melekat pada metode agile, yang menjadi tantangan terbesar bagi QA
Risiko Otomatisasi dalam Proses Agile
- UI otomatis memberikan tingkat kepercayaan yang tinggi, namun lambat untuk dijalankan, rapuh untuk dipelihara, dan mahal untuk dibangun. Otomatisasi mungkin tidak meningkatkan produktivitas pengujian secara signifikan kecuali penguji mengetahui cara mengujinya
- Pengujian yang tidak dapat diandalkan merupakan masalah utama dalam pengujian otomatis. Memperbaiki pengujian yang gagal dan menyelesaikan masalah terkait pengujian yang rapuh harus menjadi prioritas utama untuk menghindari kesalahan positif
- Jika pengujian otomatis dimulai secara manual dan bukan melalui CI (Integrasi Berkelanjutan) maka ada risiko pengujian tersebut tidak berjalan secara teratur dan oleh karena itu dapat menyebabkan kegagalan pengujian
- Pengujian otomatis bukanlah pengganti pengujian manual eksplorasi. Untuk memperoleh mutu produk yang diharapkan, diperlukan campuran jenis dan kadar pengujian
- Banyak alat otomatisasi yang tersedia secara komersial menyediakan fitur sederhana seperti mengotomatiskan perekaman dan pemutaran ulang kasus uji manual. Alat tersebut mendorong pengujian melalui UI dan mengarah pada pengujian yang pada dasarnya rapuh dan sulit dipertahankan. Selain itu, menyimpan kasus uji di luar sistem kontrol versi menciptakan kompleksitas yang tidak perlu.
- Untuk menghemat waktu, sering kali rencana pengujian otomasi tidak direncanakan dengan baik atau tidak direncanakan sehingga mengakibatkan pengujian gagal
- Prosedur pengaturan dan pembongkaran pengujian biasanya terlewatkan selama otomatisasi pengujian, sementara melakukan pengujian manual, prosedur pengaturan dan pembongkaran pengujian terdengar mulus
- Metrik produktivitas seperti jumlah kasus pengujian yang dibuat atau dieksekusi per hari bisa sangat menyesatkan, dan dapat menyebabkan investasi besar dalam menjalankan pengujian yang tidak berguna.
- Anggota tim otomasi tangkas harus menjadi konsultan yang efektif: mudah didekati, kooperatif, dan banyak akal, atau sistem ini akan cepat gagal.
- Otomatisasi dapat mengusulkan dan memberikan solusi pengujian yang memerlukan terlalu banyak pemeliharaan berkelanjutan dibandingkan dengan nilai yang diberikan
- Pengujian otomatis mungkin kurang memiliki keahlian untuk menyusun dan memberikan solusi yang efektif
- Pengujian otomatis mungkin sangat berhasil sehingga tidak ada masalah penting yang harus diselesaikan, dan kemudian beralih ke masalah yang tidak penting.
Kesimpulan
Metodologi tangkas dalam pengujian perangkat lunak melibatkan pengujian sedini mungkin siklus pengembangan perangkat lunak. Ini menuntut keterlibatan pelanggan yang tinggi dan kode pengujian segera setelah tersedia. Kode harus cukup stabil untuk dibawa ke pengujian sistem. Pengujian regresi ekstensif dapat dilakukan untuk memastikan bahwa bug telah diperbaiki dan diuji. Terutama, Komunikasi antar tim membuat pengujian model tangkas berhasil!!!