Kerangka Otomatisasi Tes Agile
โก Ringkasan Cerdas
Otomatisasi pengujian Agile menerapkan pemeriksaan otomatis di dalam sprint pendek, di mana persyaratan berubah setiap minggu dan rangkaian pengujian yang dibangun untuk rilis waterfall yang stabil dengan cepat menjadi beban pemeliharaan daripada jaring pengaman.
Pengujian Otomatisasi Agile
Pengujian otomatisasi Agile Automasi pengujian adalah praktik penggunaan automasi pengujian dalam proses pengiriman Agile. Tujuannya adalah untuk membuat pengembangan perangkat lunak lebih efektif dan efisien sekaligus melindungi kualitas dan mengendalikan waktu serta sumber daya yang dikonsumsi oleh sebuah rilis. Karena pengujian ditulis bersamaan dengan pengerjaan fitur, praktik ini sangat bergantung pada koordinasi antara pengembang dan penguji.
Sejak metodologi Agile berupaya menghilangkan realitas melelahkan dari model waterfall, pengaruhnya telah terasa di berbagai bidang. pengujian otomasi juga. Kedua disiplin ilmu tersebut harus digabungkan secara sengaja:
Otomatisasi dalam Waterfall vs Otomatisasi dalam Agile
Dalam siklus hidup pengujian perangkat lunak tradisional, pengujian otomatis menjadi mungkin dilakukan setelah aplikasi tersebut stabil dan persyaratannya telah ditetapkanIni mengasumsikan sebuah waktu yang cukup lama, spesialis otomatisasi yang sangat terampil, dan biaya pengaturan yang cukup besar. Tujuan utamanya adalah untuk mengurangi biaya dalam jangka panjang dan untuk memastikan bahwa tidak ada cacat baru yang muncul di sekitar kasus uji yang ada.
Pengujian otomatisasi pada dasarnya bukanlah pengujian eksploratif.Karena peran utamanya adalah menghemat waktu dan mengurangi biaya. Pengujian otomatis tidak dirancang untuk mengungkap cacat baru dan inovatif. Pengujian otomatis sebagian besar hanya mengkonfirmasi perilaku yang sudah ada.
Oleh karena itu, kedua pengaturan tersebut memberikan tuntutan yang sangat berbeda pada rangkaian pengujian:
| Faktor | Otomatisasi dalam model air terjun | Otomatisasi dalam Agile |
|---|---|---|
| Status aplikasi | Stabil dan disetujui sebelum penulisan skrip dimulai. | Berubah setiap sprint, seringkali saat membuat skrip. |
| Waktu tersedia | Fase otomatisasi khusus | Apa pun yang sesuai dalam jangka waktu satu hingga empat minggu. |
| Siapa yang menulis naskah? | Tim spesialis otomatisasi yang terpisah | Tim pengiriman, penguji, dan pengembang bersama-sama |
| Tujuan utama | Pengurangan biaya jangka panjang di seluruh rangkaian regresi yang besar. | Umpan balik cepat pada peningkatan yang baru saja dibuat. |
| Risiko pemeliharaan | Rendah, karena persyaratannya bergerak lambat. | Tinggi, karena persyaratan terus berubah. |
Cara Melakukan Otomatisasi dalam Metodologi Agile
Sesuai definisinya sendiri, metodologi Agile menghilangkan dokumentasi yang membosankan sehingga ide-ide baru dapat diimplementasikan dengan cepat dan orang-orang dapat berinteraksi secara bebas. Metodologi ini lebih mengutamakan pekerjaan eksploratif daripada pekerjaan administrasi:
Terdapat kontradiksi nyata antara filosofi dasar metodologi Agile dan pengujian otomatisasi. Tim Agile menyelesaikannya dengan mempersempit apa yang mereka otomatisasi, bukan dengan mengurangi otomatisasi: pemeriksaan ditulis dalam sprint yang sama dengan fitur, didorong ke tingkat unit dan API di mana biaya pemeliharaannya paling murah, dan dijalankan pada setiap build.
Poin Dasar untuk Otomatisasi Tes Agile
Sebelum mengalokasikan kapasitas sprint untuk otomatisasi, pertimbangkan poin-poin yang menentukan apakah sebuah skrip dapat diselesaikan sama sekali:
- Waktu desain dan pengkodean: Setiap skrip harus dirancang, dikodekan, dan ditinjau seperti kode produksi.
- Validasi terhadap data uji: Skrip yang sudah selesai harus divalidasi dengan data uji yang ada sebelum dapat dipercaya oleh siapa pun.
- Tujuan tes ini: Pengujian fungsional dan regresi memiliki biaya perawatan dan masa pakai yang berbeda.
- Sprint panjang: Satu sprint berlangsung selama satu hingga empat minggu, paling sering dua minggu, yang jarang menyisakan ruang untuk upaya penulisan skrip yang besar.
Faktor kedua adalah perubahan persyaratan. Agile, menurut definisinya, adalah teknik untuk menanggapi perubahan yang didorong oleh pelanggan, sehingga memungkinkan penyesuaian yang sering dilakukan selama pengembangan.
Sebaliknya, pengujian otomatis paling berguna untuk persyaratan yang stabil. Metode ini kurang cocok untuk perubahan konstan dalam metodologi Agile, oleh karena itu pilihan tentang apa yang akan diotomatisasi memiliki bobot lebih besar daripada jumlah yang diotomatisasi.
Alat Otomatisasi Agile
Pemilihan yang relevan alat otomatisasi Faktor penting lainnya dalam mengadopsi pengujian otomatis dalam metodologi Agile adalah penggunaan perangkat lunak otomatisasi berlisensi. Misalnya, perangkat lunak otomatisasi berlisensi memberlakukan kriteria akses keamanan yang ketat pada berbagai jenis dan tingkatan pengguna, yang membatasi siapa yang dapat mengakses sumber daya yang dimiliki oleh kerangka kerja otomatisasi pengujian tersebut.
Sebaliknya, metodologi Agile menekankan kolaborasi terbuka dan interaksi tanpa batas antar anggota tim. Kebijakan akses yang membatasi justru menghambat kohesi tersebut dan dapat menghasilkan hasil yang tidak bermanfaat atau kondusif bagi keberhasilan proyek.
Prioritasnya adalah menghasilkan skrip otomatisasi berkualitas dalam waktu yang diizinkan oleh proses Agile. Pilih kasus uji yang tepat dengan cermat, sehingga skrip yang dihasilkan dapat digunakan kembali di kemudian hari dan tetap selesai dalam waktu yang telah ditentukan.
Bahkan dalam lingkungan Agile, beberapa pengujian tetap harus dilakukan โ terutama pengujian regresi. Bagian selanjutnya akan membahas situasi di mana pengujian otomatisasi cocok dan bagaimana masing-masing situasi tersebut dipetakan ke dalam pengujian Agile.
Pengujian Otomatisasi Concepts Ketika Diterapkan pada Agile
Tabel di bawah ini menyajikan tujuh kondisi klasik yang membenarkan otomatisasi pengujian dan memberikan jawaban Agile untuk masing-masing kondisi. Hanya tiga kondisi yang dapat diterjemahkan dengan jelas ke dalam sprint Agile, dan ketiganya berbentuk regresi:
| # | Konsep pengujian otomatisasi | Jawaban metodologi Agile |
|---|---|---|
| 1 | Tes tersebut harus diulang berkali-kali. | Di sinilah konsep pengujian regresi berperan. |
| 2 | Alur kerja pengujian dan validasinya berkembang dan berubah secara perlahan seiring waktu. | Tidak berguna untuk pengujian Agile, karena pengujian Agile berarti seringnya perubahan persyaratan. |
| 3 | Tes ini memvalidasi proses bisnis atau alur kerja, bukan tampilan dan nuansa, warna, atau tata letak tabel. | Skenario ini dapat dianggap sebagai terkait dengan pengujian manual. |
| 4 | Tes tersebut menghasilkan hasil untuk badan pengatur yang menuntut agar hasil tersebut dicatat dan diarsipkan secara elektronik sebagai bukti formal kepatuhan. | Tidak cocok untuk metodologi Agile, karena dokumentasi yang lengkap bukanlah bagian dari metodologi Agile. |
| 5 | Tes tersebut sangat berulang atau memiliki banyak langkah yang harus dilakukan persis sama setiap kali, sehingga kelelahan penguji manual harus dihindari. | Tidak cocok untuk metodologi Agile. |
| 6 | Hasil lulus atau gagal dari pengujian relatif mudah ditentukan dan dicatat dengan alat otomatisasi yang dipilih. | Cocok untuk pengujian regresi selama pengujian Agile yang membutuhkan kemampuan berulang dan melelahkan. |
| 7 | Pengujian tersebut perlu memasukkan sejumlah besar data ke dalam aplikasi. | Dapat diintegrasikan sebagai pengujian regresi. |

.jpg)


