Terapkan pengujian di perusahaan Anda dengan Chrome

Demián Renzulli
Demián Renzulli

Bayangkan jika software terpenting perusahaan Anda tiba-tiba rusak—apa yang akan terjadi? Pesanan bisa hilang, tenggat waktu mungkin terlewat, tetapi pelanggan pasti akan mengeluh.

Skenario buruk ini dapat dihindari: dengan menerapkan proses pengujian yang berkelanjutan dan ketat, yang menangkap masalah sebelum menyebabkan kekacauan. Namun, menerapkan proses tersebut di organisasi Anda lebih mudah diucapkan daripada dilakukan.

Artikel ini akan menunjukkan semua hal yang perlu Anda pertimbangkan saat memulai pengujian di perusahaan, dan bagaimana Anda dapat memperoleh manfaat dari pengujian dalam jangka panjang.

Praktik terbaik pengujian untuk tim produk

Bagian pertama artikel ini membahas proses memulai penerapan pengujian dalam alur kerja Anda.

Menerapkan budaya pengujian di tim Anda

Untuk berhasil memperkenalkan pengujian di tim Anda, semua orang harus memiliki pola pikir yang sama, dan melihat kualitas bukan sebagai beban, melainkan sebagai investasi. Ini adalah proses yang, seperti setiap perubahan budaya lainnya, memerlukan waktu dan konsistensi.

Salah satu hal yang dapat membantu membentuk budaya ini adalah rapat rutin untuk membahas kerusakan, dampaknya, asalnya, dan apa yang diperlukan untuk memperbaikinya. Hal ini membantu menciptakan kesadaran tentang alasan mengapa sebaiknya mencegah kerusakan tersebut sejak awal.

Memiliki orang khusus di tim yang mengawasi dan mendorong upaya tersebut dapat meningkatkan peluang keberhasilan secara signifikan. Seseorang yang menentukan panduan tim—atau bahkan seluruh organisasi—mengumpulkan praktik terbaik, membagikannya, dan mengadvokasi upaya di berbagai tingkatan.

Instrumen berguna lainnya adalah memutar peran dukungan produk Anda. Mendapatkan insight langsung dan tidak difilter dari pelanggan serta mempelajari masalah sehari-hari yang mereka hadapi dengan produk Anda dapat menjadi pengalaman berharga bagi manajer produk, desainer, dan developer.

Tujuannya adalah agar semua orang di tim Anda memahami bahwa kualitas adalah fitur, yang sama pentingnya dengan fungsi lain yang Anda buat untuk produk Anda. Setelah semua orang mengadopsi pola pikir tersebut, akan menjadi perkembangan alami untuk memahami bahwa pengujian juga merupakan fitur. Karena pengujian adalah hal yang memastikan kualitas produk yang dikirimkan.

Proses pengujian langkah demi langkah

Setelah ada keselarasan antara berbagai tim yang terlibat dalam pengembangan produk, Anda dapat lebih memformalkan keberadaan dan penggunaan pengujian.

Menjadikan pengujian sebagai bagian dari "Definisi Selesai"

Dengan menambahkan pengujian sebagai persyaratan fitur, Anda menyatakan bahwa fitur belum siap dikirimkan hingga diuji dengan benar dan otomatis

Menjalankan pengujian secara rutin

Setelah diterapkan, pengujian otomatis dapat menjadi perlindungan Anda di setiap langkah proses pengembangan. Pengujian otomatis tidak memerlukan intervensi manusia, dan dapat dijalankan pada setiap langkah penting dalam pipeline pengembangan Anda. Contoh:

  • Pada setiap commit.
  • Pada setiap permintaan pull.
  • Setelah setiap rilis lengkap atau perubahan lingkungan.

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

Menentukan serangkaian 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 menunjukkan proses pengembangan yang lebih gesit. Pengujian otomatis memainkan peran penting di sini dengan memastikan rilis dapat dilanjutkan dengan percaya diri.
  • Laporan bug: Tren penurunan laporan bug dapat menjadi tanda positif bahwa pengujian (dan proses pengembangan) Anda efektif.
  • Cakupan pengujian: Meskipun bukan metrik yang tepat, cakupan dapat menjadi indikator yang baik tentang seberapa dalam Anda menguji kasus penggunaan penting.

Perhatikan bahwa metrik ini juga dipengaruhi oleh faktor lain yang mungkin memiringkannya. Misalnya, jumlah rilis Anda mungkin turun pada musim liburan, sementara laporan bug meningkat. Jadi, jangan hanya mengandalkan beberapa metrik dan pastikan untuk membandingkannya dengan data lain yang tersedia untuk tim Anda.

Jika Anda berhasil menerapkan langkah-langkah tersebut dengan tim Anda, kesehatan produk Anda pasti akan diuntungkan dalam jangka panjang. Namun, masih ada hal lain yang dapat Anda lakukan.

Praktik terbaik pengujian untuk administrator sistem

Tim produk tidak dapat bekerja sendiri. Mereka mengandalkan hardware, alat, dan infrastruktur yang dikelola oleh administrator sistem. Meskipun administrator sistem biasanya tidak berkontribusi langsung pada pengembangan produk, mereka tetap dapat memengaruhi alur kerja pengembangan secara positif. Misalnya, dengan mengelola versi browser yang digunakan oleh grup pengguna tertentu di perusahaan secara aktif.

Bagian kedua artikel ini menjelaskan cara kerjanya, menggunakan saluran dan kebijakan perusahaan Chrome.

Saluran rilis Chrome

Secara default, Chrome diupdate secara otomatis untuk memastikan setiap pengguna menjalankan versi Chrome terbaru, paling stabil, dan aman, termasuk setiap fitur terbaru—versi Chrome yang dirilis di saluran stabil.

Sebagai perusahaan yang mengembangkan produk berbasis web, Anda mungkin ingin menggunakan browser sebelum saluran stabil, untuk memberi tim produk waktu untuk mengadaptasi produk Anda terhadap 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 Anda gunakan, untuk mengantisipasi perubahan browser di masa mendatang dan menguji fitur terbaru sebelum tersedia secara luas:

  • Saluran stabil: Di sinilah sebagian besar pengguna berada. Saluran stabil otomatis diupdate saat ada rilis Chrome baru, yang terjadi setiap bulan.
  • Saluran beta: Versi ini akan menjadi stabil dalam waktu empat hingga enam minggu, sehingga memberi Anda kesempatan untuk melihat pratinjau dan menguji rilis stabil mendatang serta mempersiapkannya.
  • Saluran dev: Saluran ini mendapatkan versi Chrome baru seminggu sekali dan mencakup semua perbaikan terbaru yang pada akhirnya akan dipindahkan ke versi beta. Seperti yang ditunjukkan oleh nama channel, saluran ini masih dalam pengembangan dan mungkin akan rusak secara tidak terduga—tetapi juga mencakup fitur terbaru, terkadang jauh sebelum fitur tersebut masuk ke versi stabil. Hal ini menjadikan saluran dev sebagai alat yang hebat untuk pembuatan prototipe dan pengembangan mutakhir.
  • Saluran canary: Saluran paling eksperimental, yang berisi setiap fitur terbaru tetapi tanpa banyak pengujian. Setidaknya dirilis setiap hari.

Jika Anda ingin mempelajari saluran Chrome lebih lanjut, lihat episode Konsep Chrome yang relevan Chrome Concepts episode.

Ikon produk Chrome stabil, beta, dan dev beserta deskripsinya.

Menggunakan saluran di organisasi yang patut dicontoh

Struktur tim produk bervariasi di antara organisasi, karena tidak ada pendekatan yang cocok untuk semua orang dalam pengembangan software. Sebagai contoh, kita akan mengasumsikan tim dengan peran berikut: Pengelolaan Produk, UX dan UI, Engineering, Operasi, dan Dukungan.

Untuk organisasi seperti ini, Anda dapat memikirkan pembagian saluran berikut:

  • Pengelolaan Produk: PM biasanya dapat menggunakan saluran stabil, untuk menggunakan versi yang sama dengan sebagian besar pengguna. Terkadang, mereka dapat menggunakan saluran beta atau dev jika mengerjakan fitur yang memerlukan API yang belum diluncurkan.
  • Engineering dan UX: Bagian dari tim ini dapat menggunakan saluran dev, untuk memberi mereka akses ke fitur terbaru, seperti Transisi Tampilan, bahkan sebelum fitur tersebut berada dalam versi stabil.
  • Operasi: Dapat menggunakan beta, untuk memprediksi kerusakan yang akan memengaruhi pengguna berikutnya.
  • Dukungan: Dapat tetap menggunakan saluran stabil, untuk memastikan mereka berinteraksi dengan produk menggunakan browser yang sama dengan sebagian besar pelanggan Anda.

Diagram yang menunjukkan alur saluran di seluruh tim contoh

Menggunakan kebijakan perusahaan untuk mengelola saluran

Selain memberikan panduan dan menyerahkan keputusan tentang saluran mana yang akan digunakan, Chrome juga menawarkan alat perusahaan dan administrasi untuk mengelola secara aktif saluran mana yang akan digunakan oleh setiap pengguna. Hal ini berguna karena segera meningkatkan cakupan pengujian dari beberapa individu menjadi serangkaian pengguna yang 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 4–6 minggu tentang versi Stabil dan dapat membantu admin menemukan kemungkinan masalah terkait rilis, sehingga memberi lebih banyak waktu untuk mengatasi masalah sebelum rilis diluncurkan kepada orang lain.
  • Departemen IT: Anggota departemen IT, termasuk admin sistem itu sendiri, dapat menggunakan saluran beta atau dev untuk mendapatkan pratinjau 4–6 atau 9–12 minggu tentang fitur yang akan hadir pada Chrome versi stabil.

Diagram yang menunjukkan pembagian saluran antara karyawan lain dan departemen IT

Saluran rilis jangka panjang

Pengembangan produk mungkin tidak berjalan secepat yang direncanakan dan frekuensi rilis Chrome selama sebulan mungkin terlalu tinggi. Untuk kasus penggunaan ini, Chrome menyediakan saluran Stabil yang diperluas yang memungkinkan Anda mendapatkan pembaruan fitur lebih jarang, tetapi tetap menerima perbaikan keamanan. Saluran ini diupdate setiap delapan minggu.

Diagram berikut menunjukkan cara berbagai pencapaian berjalan melalui berbagai saluran rilis Chrome:

Diagram alur yang menunjukkan tumpang-tindih versi stabil dan stabil yang diperpanjang

  • Versi stabil dan stabil yang diperluas mengirimkan versi yang sama selama empat minggu pertama, setelah itu keduanya berbeda.
  • Tidak ada saluran beta yang diperluas; sebagai gantinya, siklus beta empat minggu standar digunakan untuk menstabilkan versi stabil dan stabil yang diperluas. Perusahaan yang memilih untuk menggunakan versi stabil yang diperluas selama delapan minggu harus terus menjalankan saluran beta seperti yang mereka lakukan saat ini untuk mengidentifikasi masalah secara proaktif yang dapat memengaruhi lingkungan mereka.

Pentingnya saluran dev dan beta yang berkelanjutan bagi pengguna versi stabil yang diperluas

Meskipun saluran stabil dipercepat menjadi siklus rilis dua minggu dan organisasi Anda mengadopsi siklus stabil yang diperluas selama delapan minggu untuk mendapatkan lebih banyak waktu pengujian, Anda tetap harus menggunakan saluran dev dan beta. Tidak ada saluran "dev atau beta yang diperluas" terpisah; saluran dev dan beta standar digunakan untuk menstabilkan rilis stabil dan stabil yang diperluas.

Dengan terus menjalankan saluran dev dan beta, perusahaan mempertahankan kemampuan untuk mengidentifikasi masalah secara proaktif yang dapat memengaruhi lingkungan mereka. Saluran dev dan beta memberikan pratinjau empat minggu tentang rilis stabil mendatang. Untuk pengguna versi stabil yang diperluas, jendela pratinjau ini penting untuk menemukan dan mengatasi potensi kerusakan jauh sebelum pembaruan fitur delapan minggu.

Saluran dev dan beta pada dasarnya bertindak sebagai sistem peringatan dini utama untuk setiap perubahan yang akan datang ke lingkungan stabil yang diperluas selama delapan minggu, sehingga memastikan aplikasi perusahaan Anda tetap kompatibel. Administrator sistem dapat terus menetapkan grup pengguna kecil yang deterministik (misalnya, 5-10% pengguna aplikasi) ke saluran dev dan beta untuk memaksimalkan manfaat ini.

Kesimpulan

Pengujian adalah bagian penting dari perusahaan pengembangan software untuk memastikan kualitas produk mereka dan juga langkah penting bagi administrator sistem, untuk memberi karyawan organisasi akses ke software berkualitas tinggi dan menghindari gangguan pada proses bisnis.

Agar berhasil saat menerapkan alur kerja pengujian di dalam organisasi, penting bagi semua orang untuk memiliki pola pikir yang sama bahwa kualitas dan oleh karena itu pengujian adalah fitur.

Dalam artikel ini, kita telah meninjau berbagai cara untuk mengintegrasikan praktik terbaik pengujian ke dalam organisasi Anda. Untuk tinjauan mendalam tentang alat pengujian yang ada, lihat artikel kami Alat dari Chrome untuk pengujian otomatis tanpa hambatan.

Untuk panduan langsung tentang pengujian, dari awal hingga akhir, lihat juga kursus Belajar Pengujian terbaru dan praktik terbaik otomatisasi pengujian di web.dev.