Agile adalah salah satu iterative model SDLC dimana aktivitas development dan testing dilakukan secara bersamaan tidak dalam fase yang terpisah. Coding dan testing dilakukan secara interaktif dan bertahap, menghasilkan produk akhir yang berkualitas, yang memenuhi persyaratan dari client / customer. Pada saat menemukan bug maka tester akan melaporkan kedapa developer lalu developer melakukan bug fixing langsung, dengan begitu dapat menghemat waktu, biaya dan tenaga.
Agile Testing melibatkan semua anggota tim proyek, dengan keahlian khusus yang bekerjasama dengan tester. Testing bukan fase terpisah dengan development bekerja sama dalam semua tahap pengembangan seperti requirements, design, coding dan membuat test case. Pengujian dilakukan secara bersamaan melalui Development Life Cycle.
Selanjutnya, dengan tester berpartisipasi dalam keseluruhan Development Lifecycle dengan anggota tim. kontribusi tester terhadap pengembangan perangkat lunak sesuai kebutuhan customer, dengan desain dan kode yang lebih baik akan menjadi produk yang berkualitas.
Agile Testing mencakup semua tingkat pengujian dan semua jenis pengujian.
Berikut ini adalah beberapa perbedaan antara Agile Testing dan Waterfall Testing:
Testing membuat project menjadi maju - Testing secara terus-menerus adalah satu-satunya cara untuk memastikan kemajuan dalam project pembangunan software. Agile Testing memberikan feedback secara berkelanjutan dan produk akhir memenuhi permintaan customer.
Testing is not a phase − Agile team tests bersama tim development (programmer) memastikan bahwa fitur yang diterapkan selama iterasi tertentu benar-benar dilakukan.
Everyone tests - Dalam agile testing seluruh tim termasuk analis, developer dan tester menguji aplikasi. Setelah setiap iterasi, bahkan customer melakukan User Acceptance Testing.
Keep the Code Clean − bug finding dan bug fixing terjadi secara bersamaan. Hal ini memastikan kode bersih pada setiap level development.
“Done Done,” not just done − Dalam agile testing, sebuah fitur bisa dikatakan "done" setelah development selesai, namun dapat dikatakan "done" apabila sudah masuk kedalam tahap development dan testing
Kegiatan agile testing pada saat iterasi:
Baca Juga: Jenis-Jenis Testing Software
Apa itu Agile Testing?
Agile Testing adalah praktik pengujian perangkat lunak yang mengikuti prinsip agile software development.Agile Testing melibatkan semua anggota tim proyek, dengan keahlian khusus yang bekerjasama dengan tester. Testing bukan fase terpisah dengan development bekerja sama dalam semua tahap pengembangan seperti requirements, design, coding dan membuat test case. Pengujian dilakukan secara bersamaan melalui Development Life Cycle.
Selanjutnya, dengan tester berpartisipasi dalam keseluruhan Development Lifecycle dengan anggota tim. kontribusi tester terhadap pengembangan perangkat lunak sesuai kebutuhan customer, dengan desain dan kode yang lebih baik akan menjadi produk yang berkualitas.
Agile Testing mencakup semua tingkat pengujian dan semua jenis pengujian.
Agile Testing Vs Waterfall Testing
Dalam metodologi Waterfall Development, development dan testing dilakukan secara bertahap yang berurutan. Dalam Waterfall, testing adalah fase terpisah dan dimulai setelah development sudah selesai.Berikut ini adalah beberapa perbedaan antara Agile Testing dan Waterfall Testing:
Agile Testing | Waterfall Testing |
---|---|
Testing bukan fase terpisah, berjalan bersamaan | Testing fase terpisah, Testing dimulai setelah development selesai |
Testers dan developers bekerja bersama | Testers bekerja terpisah dengan developers. |
Testers terlibat dalam fase requirement, membantu dalam pemetaan persyaratan terhadap perilaku user | Testers tidak terlibat dalam fase requirement |
Acceptance Testing dilakukan setelah setiap iterasi dan mendapatkan feedback dari customer | Acceptance Testing dilakuan pada saat project selesai |
Setiap iterasi melengkapi pengujiannya sendiri sehingga memungkinkan pengujian regresi untuk diterapkan setiap kali fungsi atau logika baru selesai | Regrestion Testing hanya bisa dilaksanakan setelah development selesai |
tidak ada waktu delay antara coding dan testing. | biasanya ada waktu delay / tunggu-tungguan antara coding dan testing. |
Testing is a best practice. | Testing sering diabaikan |
Prinsip Agile Testing
Berikut adah prinsip-prinsip utama dalam agile testing:Testing membuat project menjadi maju - Testing secara terus-menerus adalah satu-satunya cara untuk memastikan kemajuan dalam project pembangunan software. Agile Testing memberikan feedback secara berkelanjutan dan produk akhir memenuhi permintaan customer.
Testing is not a phase − Agile team tests bersama tim development (programmer) memastikan bahwa fitur yang diterapkan selama iterasi tertentu benar-benar dilakukan.
Everyone tests - Dalam agile testing seluruh tim termasuk analis, developer dan tester menguji aplikasi. Setelah setiap iterasi, bahkan customer melakukan User Acceptance Testing.
Keep the Code Clean − bug finding dan bug fixing terjadi secara bersamaan. Hal ini memastikan kode bersih pada setiap level development.
“Done Done,” not just done − Dalam agile testing, sebuah fitur bisa dikatakan "done" setelah development selesai, namun dapat dikatakan "done" apabila sudah masuk kedalam tahap development dan testing
Agile Testing Activity
Berikut adalah kegiatan dalam agile testing:- Release Planning (Test Plan)
- Regression Testing
- Release Activities (Test Related)
Kegiatan agile testing pada saat iterasi:
- Berpartisipasi dalam perencanaan iterasi
- mengestimasikan waktu tugas dari setiap task
- Membuat test case berdasarkan deskripsi fitur
- Unit Testing
- Integration Testing
- Feature Testing
- Bug Fixing
- Integration Testing
- Acceptance Testing
- Report Progress Testing
Baca Juga: Jenis-Jenis Testing Software
Agile Manifesto
Agile Manifesto dipublikasian oleh tim software developer pada tahun 2001, menyoroti pentingnya tim pengembangan, mengakomodasi perubahan persyaratan dan keterlibatan pelanggan.
Agile Manifesto adalah
menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini, kita harus menghargai:
Artinya apabila dalam sebuah barang mempunyai nilai lebih di kananya, kenapa kita tidak memberikan nilai lebih di sebelah kirinya.
menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini, kita harus menghargai:
- Individu dan interaksi atas proses dan alat.
- Berjalanya software melalui dokumentasi yang komprehensif
- Kerjasama customer melalui negosiasi kontrak
- Menanggapi perubahan setelah mengikuti sebuah rencana.
Artinya apabila dalam sebuah barang mempunyai nilai lebih di kananya, kenapa kita tidak memberikan nilai lebih di sebelah kirinya.
EmoticonEmoticon