Bayangkan perangkat lunak terpenting perusahaan Anda tiba-tiba rusak—apa yang akan terjadi? Pesanan bisa hilang, tenggat waktu mungkin terlewatkan, tetapi pelanggan pasti mengeluh.
Skenario mimpi buruk ini dapat dihindari: dengan menerapkan proses pengujian yang berkelanjutan dan ketat, yang dapat mendeteksi masalah sebelum menimbulkan kekacauan. Namun, menerapkan proses seperti itu di organisasi Anda lebih mudah dikatakan daripada dilakukan.
Artikel ini akan menunjukkan semua hal yang perlu dipikirkan saat memulai pengujian di perusahaan Anda, dan cara mendapatkan manfaat dari pengujian dalam jangka panjang.
Menguji praktik terbaik untuk tim produk
Bagian pertama artikel ini membahas proses mulai menerapkan pengujian dalam alur kerja Anda.
Terapkan budaya pengujian dalam tim Anda
Agar berhasil melakukan pengujian di tim Anda, setiap orang harus memiliki pola pikir yang sama dan melihat kualitas bukan sebagai beban, melainkan sebagai investasi. Ini adalah proses yang, seperti halnya setiap perubahan budaya lainnya, memerlukan waktu dan konsistensi.
Satu hal yang dapat membantu membentuk budaya ini adalah pertemuan rutin untuk membahas kerusakan, dampak yang dialami, dari mana asalnya, dan apa yang diperlukan untuk memperbaikinya. Hal ini membantu menciptakan awareness tentang alasan terbaik untuk mencegah kerusakan tersebut sejak awal.
Memiliki orang yang berdedikasi dalam tim yang mengawasi dan mendorong upaya dapat sangat meningkatkan peluang keberhasilan. Seseorang yang mendefinisikan pedoman tim—atau bahkan di seluruh organisasi—mengumpulkan praktik terbaik dan membagikannya serta mendukung upaya tersebut di seluruh tingkatan.
Instrumen lain yang berguna adalah dengan merotasi peran pendukung produk Anda. Mendapatkan insight langsung yang tidak difilter dari pelanggan dan mempelajari masalah sehari-hari yang mereka hadapi dengan produk Anda dapat menjadi pengalaman berharga bagi product manager, desainer, dan developer.
Tujuannya adalah agar semua anggota tim memahami bahwa kualitas adalah fitur, sama pentingnya dengan fungsi lain yang Anda buat untuk produk Anda. Setelah semua orang menerapkan pola pikir itu, memahami bahwa ujian juga merupakan fitur yang akan terjadi. Karena pengujian adalah alat yang memastikan kualitas yang dikirim.
Proses pengujian langkah demi langkah
Setelah keselarasan antara tim yang berbeda yang terlibat dalam pengembangan produk, Anda dapat lebih memformalkan keberadaan dan penggunaan pengujian.
Membuat pengujian menjadi bagian dari "Definition of Done"
Dengan menambahkan pengujian sebagai persyaratan fitur, Anda menyatakan bahwa fitur belum siap dikirim hingga diuji dengan benar dan otomatis
Menjalankan pengujian secara rutin
Setelah diimplementasikan, pengujian otomatis dapat menjadi pengamanan Anda di setiap langkah proses pengembangan. Pengujian ini tidak memerlukan campur tangan manusia dan dapat dijalankan di setiap langkah penting dalam pipeline pengembangan Anda. Contoh:
- Pada setiap commit.
- Pada setiap permintaan pull.
- Setiap kali ada perubahan lingkungan atau rilis penuh.
Jika Anda mengandalkan layanan pihak ketiga di lingkungan produksi, sebaiknya jalankan pengujian terhadap produksi untuk memastikan API pihak ketiga berperilaku seperti yang diharapkan.
Menentukan dan mengumpulkan metrik
Menetapkan kumpulan metrik penting untuk mengukur efektivitas pengujian dan dampak alur kerja pengujian terhadap bisnis Anda. Berikut beberapa contoh metrik yang dapat Anda gunakan:
- Rilis per bulan: Jumlah rilis per bulan yang lebih tinggi dapat mengindikasikan proses pengembangan yang lebih cepat. Pengujian otomatis berperan penting dalam hal ini dengan memastikan rilis dapat dilanjutkan dengan yakin.
- Laporan bug: Tren penurunan dalam laporan bug dapat menjadi pertanda positif bahwa pengujian (dan proses pengembangan) Anda efektif.
- Cakupan pengujian: Meskipun tidak pernah merupakan metrik yang tepat, cakupan dapat menjadi indikator yang baik untuk mengetahui seberapa dalam Anda menguji kasus penggunaan penting.
Perhatikan bahwa metrik ini juga dipengaruhi oleh faktor lain yang mungkin mendistorsinya. Misalnya, jumlah rilis Anda mungkin turun di musim liburan, sementara laporan bug meningkat. Jadi jangan hanya mengandalkan beberapa hal dan pastikan untuk melakukan pemetaan silang dengan data lain yang tersedia untuk tim Anda.
Jika Anda berhasil menerapkan langkah-langkah tersebut bersama tim, kesehatan produk Anda pasti akan mendapat manfaat dalam jangka panjang. Namun, masih ada banyak hal yang dapat Anda lakukan.
Menguji praktik terbaik untuk administrator sistem
Tim produk tidak dapat bekerja sendiri. Mereka bergantung pada hardware, alat, dan infrastruktur yang dikelola oleh administrator sistem. Meskipun administrator sistem biasanya tidak langsung berkontribusi pada pengembangan produk, mereka tetap dapat memengaruhi alur kerja pengembangan untuk selamanya. Misalnya dengan mengelola versi browser secara aktif yang digunakan oleh grup pengguna tertentu di perusahaan.
Bagian kedua artikel ini menjelaskan cara kerjanya, menggunakan saluran Chrome dan kebijakan perusahaan.
Saluran rilis Chrome
Secara default, Chrome melakukan update otomatis untuk memastikan setiap pengguna menjalankan versi Chrome terbaru yang paling stabil, dan aman, termasuk setiap fitur terbaru, yaitu versi Chrome yang dirilis di saluran stabil.
Sebagai perusahaan yang mengembangkan produk berbasis web, Anda mungkin ingin menggunakan browser terlebih dahulu dari saluran stabil, untuk memberikan waktu kepada tim produk Anda untuk menyesuaikan produk Anda dengan perubahan pada platform web.
Untuk kasus penggunaan ini, Chrome menawarkan total empat saluran rilis yang ditujukan untuk grup pengguna yang berbeda.
Dalam kasus Chrome, ada berbagai saluran rilis yang dapat digunakan untuk mengantisipasi perubahan browser di masa mendatang dan menguji fitur terbaru sebelum tersedia secara luas:
- Saluran stabil: Ini adalah tempat sebagian besar pengguna berada. Saluran stabil akan diupdate secara otomatis saat ada rilis Chrome baru, yang terjadi setiap bulan.
- Saluran beta: Versi ini akan menjadi stabil dalam waktu empat hingga enam minggu, dengan memberi Anda kesempatan untuk melihat pratinjau dan menguji rilis stabil mendatang serta mempersiapkannya.
- Saluran Dev: Saluran ini mendapatkan Chrome versi baru seminggu sekali dan menyertakan semua perbaikan terbaru yang pada akhirnya akan dipindahkan ke versi beta. Seperti nama saluran, channel ini sedang dalam pengembangan dan mungkin akan rusak secara tidak terduga. Namun, channel ini juga menyertakan fitur terbaru, terkadang jauh sebelum menjadi stabil. Hal ini menjadikan saluran dev sebagai alat yang hebat untuk membuat prototipe dan pengembangan canggih.
- Saluran canary: Saluran paling eksperimental, yang berisi setiap fitur terbaru, tetapi tanpa banyak pengujian. Minimal dirilis setiap hari.
Jika Anda ingin mempelajari lebih lanjut saluran Chrome, lihat episode Chrome Concepts yang relevan.
Menggunakan saluran dalam organisasi teladan
Struktur tim produk bervariasi antar-organisasi, karena tidak ada satu ukuran yang cocok untuk semua pendekatan pengembangan software. Sebagai contoh, kita akan mengasumsikan tim dengan peran berikut: Manajemen Produk, UX dan UI, Teknik, Operasi, dan Dukungan.
Untuk organisasi seperti ini, Anda dapat mempertimbangkan pembagian saluran berikut:
- Pengelolaan Produk: PM biasanya dapat berada di saluran stabil, untuk menggunakan versi yang sama dengan sebagian besar pengguna. Terkadang, mereka dapat menggunakan saluran beta atau dev jika sedang mengerjakan fitur yang memerlukan API yang belum diluncurkan.
- Tim Teknis dan UX: Bagian dari tim ini dapat berada di saluran dev, untuk memberi mereka akses ke fitur terbaru, seperti View Transitions, bahkan sebelum berada dalam stabil.
- Operasi: Mungkin pada versi beta, untuk memperkirakan kerusakan yang akan memengaruhi pengguna berikutnya.
- Dukungan: Dapat tetap berada di saluran stabil, untuk memastikan mereka berinteraksi dengan produk menggunakan browser yang sama seperti sebagian besar pelanggan Anda.
Menggunakan kebijakan perusahaan untuk mengelola saluran
Alih-alih memberikan panduan dan membiarkan keputusan saluran mana yang akan digunakan, Chrome juga menawarkan alat perusahaan dan administrasi untuk secara aktif mengelola saluran mana yang digunakan oleh setiap pengguna. Hal ini berguna karena segera meningkatkan platform pengujian dari beberapa individu menjadi sekumpulan pengguna deterministik, yang membantu mengidentifikasi kerusakan sedini mungkin dan dengan cara yang dapat dilacak.
Jika Anda ingin menggunakan tingkat kontrol tersebut, berikut konfigurasi yang kami rekomendasikan:
- Karyawan (pengguna aplikasi): Untuk meminimalkan risiko gangguan, sebagian besar karyawan harus menggunakan saluran stabil, yang telah diuji sepenuhnya oleh tim pengujian Chrome. Selain itu, sebagian kecil pengguna (dari 5 hingga 10%) dapat menggunakan saluran beta. Saluran ini mendapatkan pratinjau Stabil selama 4–6 minggu dan dapat membantu admin menemukan kemungkinan masalah terkait rilis, sehingga memberikan lebih banyak waktu untuk mengatasi masalah tersebut sebelum rilis diluncurkan kepada orang lain.
- Departemen IT: Anggota departemen IT, termasuk admin sistem sendiri dapat berada di saluran beta atau dev untuk mendapatkan pratinjau 4–6 atau 9–12 minggu terkait hal yang akan hadir pada Chrome versi stabil.
Saluran rilis jangka panjang
Pengembangan produk mungkin tidak berjalan secepat yang direncanakan dan ritme rilis Chrome satu bulan mungkin terlalu tinggi. Untuk kasus penggunaan ini, Chrome menyediakan Saluran stabil yang diperluas yang memungkinkan untuk lebih jarang mendapatkan update fitur, tetapi tetap menerima perbaikan keamanan. Saluran ini diupdate setiap delapan minggu.
Diagram berikut menunjukkan cara proses pencapaian yang berbeda melalui saluran rilis Chrome yang berbeda:
- Stabil dan versi stabil yang diperluas mengirimkan versi yang sama selama empat minggu pertama, setelah itu keduanya menyimpang.
- Tidak ada saluran beta yang diperpanjang; sebagai gantinya, siklus beta standar empat minggu digunakan untuk menstabilkan stabil dan diperpanjang. Perusahaan yang memilih untuk ikut serta dalam stabilisasi selama delapan minggu yang diperpanjang harus terus menjalankan saluran beta seperti saat ini agar dapat secara proaktif mengidentifikasi masalah yang dapat memengaruhi lingkungan mereka.
Kesimpulan
Pengujian adalah bagian penting dari perusahaan pengembangan software guna memastikan kualitas produk mereka dan juga langkah penting bagi administrator sistem, untuk memberi karyawan organisasi akses ke software berkualitas tinggi dan menghindari gangguan proses bisnis.
Agar berhasil saat menerapkan alur kerja pengujian di dalam organisasi, penting agar semua orang memiliki pola pikir yang sama bahwa kualitas dan oleh karena itu pengujian adalah fitur.
Dalam artikel ini, kami telah meninjau berbagai cara untuk mengintegrasikan praktik terbaik pengujian ke dalam organisasi Anda. Untuk peninjauan mendalam tentang alat pengujian yang ada, baca artikel kami Alat dari Chrome untuk pengujian otomatis yang lancar.
Untuk panduan langsung hingga pengujian, dari awal hingga akhir, lihat juga kursus Belajar Pengujian terbaru dan praktik terbaik otomatisasi pengujian di web.dev.