Apa itu shift-left testing?

Shift-left testing adalah pendekatan pengujian perangkat lunak di mana kode diuji pada tahap awal dalam siklus hidup pengembangan perangkat lunak (SDLC). Istilah “shift-left” merujuk pada pergeseran pengujian ke arah kiri dalam timeline SDLC. Tiga tujuan utama dari shift-left testing ini adalah untuk mempercepat pengujian, mengurangi jumlah bug dalam kode sedini mungkin, dan meningkatkan kualitas kode serta aplikasi perangkat lunak.

Dalam lingkungan pengembangan tradisional, proses pengembangan bersifat linier, dengan tahapan-tahapan yang dilakukan secara berurutan. Pendekatan seperti ini berarti pengujian kode baru dilakukan setelah proses pengembangan selesai, atau di tahap akhir SDLC. Dengan pendekatan shift-left, pengujian dilakukan lebih awal, sering kali bersamaan dengan proses pengembangan. Artinya, proses pengujian bergeser ke kiri dalam timeline SDLC.

Shift-left menggambarkan prinsip umum dalam pengembangan perangkat lunak: “uji lebih awal dan lebih sering”. Model pengujian tradisional yang menunggu hingga tahap akhir pengembangan bisa menjadi bottleneck. Bottleneck ini biasanya muncul akibat adanya bug dan masalah lain dalam kode yang harus diperbaiki sebelum bisa diproduksi. Semakin banyak bug yang ditemukan, semakin lama proses penyelesaian kode dan aplikasi — akibatnya, jadwal rilis jadi molor dan pekerjaan harus diulang.

Shift-left testing adalah model yang lebih cocok untuk pengembangan shift-left atau fast-lane. Karena pendekatan ini mendorong pengujian sejak dini dan secara rutin, maka tim pengembang dapat mengeliminasi banyak bug sejak awal sehingga kode bisa diproduksi lebih cepat dan aplikasinya siap dipasarkan atau digunakan oleh pelanggan.

Manfaat shift-left testing

Inti dari shift-left testing adalah melibatkan penguji lebih awal dalam SDLC — biasanya ketika proses pengembangan masih berlangsung. Ini berbeda dengan model SDLC tradisional, di mana penguji baru dilibatkan di tahap akhir ketika kode sudah selesai dibuat.

Dengan bergeser ke kiri, penguji bisa menemukan masalah lebih awal dalam siklus pengembangan. Yang paling penting, pengembang juga jadi punya lebih banyak waktu untuk memperbaiki masalah tersebut dan mencegah kesalahan yang lebih kompleks. Deteksi masalah sejak awal juga mempermudah proses debugging, yang biasanya lebih sulit, memakan waktu, dan mahal jika dilakukan ketika perangkat lunak sudah hampir jadi atau sudah kompleks dengan banyak fitur.

Pergeseran ke kiri memungkinkan pendeteksian bug dan error lebih cepat, sehingga kerja tim tidak terbuang untuk memperbaiki implementasi yang sudah telanjur salah. Ini juga meminimalkan kebutuhan untuk mendesain ulang aplikasi yang rusak, yang tentunya butuh banyak waktu, tenaga, dan biaya tambahan.

Shift-left testing juga membantu manajer proyek (PM) dalam mengalokasikan sumber daya pengujian dengan lebih tepat. Karena penguji dilibatkan sejak tahap perencanaan dalam SDLC, PM bisa memperkirakan sejak awal berapa banyak penguji yang dibutuhkan selama SDLC untuk menemukan dan memperbaiki error seiring berjalannya waktu.

Proses pengembangan aplikasi pun jadi lebih cepat dan waktu ke pasar (time to market) juga lebih singkat. Pengujian aplikasi secara iteratif dan terus menerus sepanjang SDLC menciptakan transparansi yang lebih besar terhadap status pengembangan dan kualitas produk. Masalah sudah diperbaiki jauh sebelum tanggal peluncuran, sehingga produk akhir punya kualitas lebih tinggi dan siap digunakan tepat waktu oleh pelanggan.

Terakhir, shift-left testing memungkinkan tim menggunakan alat pengujian otomatis untuk menguji kode lebih awal dan lebih sering — setiap kali ada fitur atau fungsi baru ditambahkan. Otomatisasi mengurangi beban kerja tim pengujian dan memberikan feedback lebih cepat kepada tim pengembang. Tim pengujian bisa menulis tes lebih cepat, dan tim pengembang bisa memperbaiki masalah lebih cepat, yang ujung-ujungnya menghasilkan kode dan produk yang lebih berkualitas.

Jenis-jenis shift-left testing

Tim pengembang dan penguji bisa memilih berbagai pendekatan shift-left testing. Berikut ini empat pendekatan yang paling umum digunakan:

Shift-left tradisional

Metode shift-left tradisional fokus pada unit testing dan integration testing melalui pengujian API dan alat pengujian modern. Pendekatan ini tidak terlalu menekankan pada pengujian tingkat acceptance dan system. Pengujian antarmuka pengguna (UI) — seperti menggunakan alat rekam dan putar ulang — tidak termasuk dalam pendekatan tradisional.

Shift-left bertahap (incremental)

Metode ini bertujuan memecah pengembangan kompleks menjadi bagian-bagian kecil yang lebih mudah ditangani. Setiap bagian dapat diuji secara bertahap. Baik pengujian pengembangan maupun pengujian operasional digeser ke kiri, yang berarti pengujian kode dan kesiapan operasional produk dilakukan lebih awal dalam SDLC.

Incremental testing cocok digunakan untuk aplikasi perangkat lunak yang besar atau kompleks. Jika pengujian dilakukan di akhir, bisa jadi banyak bug yang tidak terdeteksi atau tidak sempat diperbaiki, dan itu bisa sangat mempengaruhi jadwal produksi serta biaya. Dengan memecah pengembangan jadi bagian kecil, risiko tersebut bisa diminimalisir.

Shift-left dalam Agile/DevOps

Dalam model Agile atau DevOps, pengujian dilakukan dalam banyak sprint, yaitu periode singkat di mana penguji menguji kode dalam bentuk inkremental. Biasanya model ini hanya melibatkan pengujian pengembangan, bukan pengujian operasional, dengan aktivitas pengujian yang terintegrasi dalam SDLC. Alat pengujian otomatis bisa mempercepat pengujian dan penyelesaian bug sejak awal. Komunikasi berkelanjutan dan kolaborasi erat antar tim adalah kunci dalam shift-left testing versi Agile/DevOps.

Shift-left berbasis model (model-based)

Metode berbasis model menggunakan requirement, arsitektur, dan desain yang dapat dieksekusi. Tujuannya untuk menghilangkan banyak kesalahan yang biasanya muncul di tahap awal SDLC. Ini merupakan pendekatan shift-left yang paling baru, tapi sudah banyak digunakan oleh berbagai organisasi dan tim, khususnya yang menggunakan model atau alat uji simulasi.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *