Metodologi agile memperkenalkan aturannya sendiri dalam proses pengujian perangkat lunak, dan setiap tim secara mandiri mengembangkan, menguji, dan menyebarkan layanan mereka. Namun, dalam sistem yang kompleks, ketika pekerjaan terkoordinasi dari lusinan layanan diperlukan untuk mendukung proses bisnis, ada kebutuhan untuk tingkat pengujian tambahan. Oleh karena itu, kami di M.Video - Eldorado telah membuat departemen khusus untuk pengujian lintas sistem. Baca tentang bagaimana itu dibentuk, apa yang dilakukan penguji lintas-sistem, dan bagaimana proses pengujian diatur di sini.
Pada postingan sebelumnya ( tyk ), kita telah membahas mengapa pengujian lintas sistem penting bagi perusahaan kita. Hari ini kami akan fokus pada cara kerja spesialis kami dan membahas tentang metodologi proses ini.
Empat proyek percontohan
Untuk membentuk pendekatan tipikal untuk pengujian lintas sistem, kami perlu mengumpulkan informasi dan melacak interaksi antar sistem. Tidak mudah untuk mendekati topik ini, jadi kami memutuskan untuk tidak sendirian dengannya dan beralih ke kontraktor.
Bersama-sama kami menguraikan "rasa sakit" kami dan sampai pada kesimpulan bahwa perusahaan kami harus memiliki penguji khusus yang terlibat dalam pengujian lintas sistem, serta manajer pengujian yang mengawasi proyek semacam itu. Pekerjaan mereka dilengkapi oleh analis lintas sistem yang, bahkan pada tahap desain, memantau interaksi antar sistem dan membuat basis pengetahuan tentang hubungan antara berbagai komponen proses bisnis.
Untuk membangun pekerjaan ini, diputuskan untuk meluncurkan sejumlah proyek percontohan. Yang pertama adalah promosi pengujian proyek yang diuji oleh kolega kami secara teratur. Percontohan ini memungkinkan kami untuk mulai membangun basis pengetahuan departemen (137 halaman pedoman dibuat di Confluence), dan karyawan mulai bekerja dengan instruksi standar - yang berarti mereka menjadi lebih dapat dipertukarkan.
Proyek percontohan kedua diselenggarakan sepenuhnya atas dasar dan model peran unit baru. Kami menguji proses menghasilkan kode produk digital. Proyek bernama Digital Content 2.0 ini berlangsung selama 5 bulan. Ini mempengaruhi 15 sistem, dan 114 kasus uji dikembangkan untuk implementasinya. Selama uji coba ini, kami menyadari kebutuhan akan manajemen terpusat dari lingkungan pengujian dan data master proyek, dan kami membuat tim spesialis untuk mendukung pekerjaan semua tim di lingkungan pengujian.
Proyek percontohan ketiga MarketPlace dilakukan sepenuhnya secara independen, tanpa partisipasi kontraktor. Tim kami menguji 15 sistem, yang kerja gabungannya memungkinkan kami menjual barang dari pasar Barang di situs web M.Video. 209 kasus uji lainnya dikembangkan, tetapi yang terpenting, kami membuat template tingkat tinggi umum untuk proses pengujian lintas sistem yang dapat digunakan pada proyek baru.
Selama MarketPlace, kami mulai menjalankan uji kasus di Jira, mengumpulkan laporan dan statistik dalam bentuk yang mudah.
Selama proyek ini, pada musim semi 2020, pekerjaan seluruh departemen dipindahkan ke jadwal kerja jarak jauh dan menjadi jelas bahwa bahan tambahan diperlukan untuk melatih penguji yang bekerja pada jarak satu sama lain, dan kami mulai membentuk dasar video pelatihan.
Percontohan keempat, setelah pekerjaan kami dipindahkan ke kualitas baru, sedang menguji aplikasi seluler Eldorado. Pengujian dengan nama Eldo Mobile menjadi pengujian produk - yaitu, pelanggannya bukanlah Manajer Projet, tetapi Pemilik Produk. Dan meskipun kami hanya menguji 16 sistem terkait selama tahap uji coba tiga bulan, pendekatan baru memungkinkan untuk merencanakan pengujian lintas sistem untuk setiap rilis baru aplikasi seluler.
Pekerjaan divisi pengujian lintas sistem hari ini
Saat ini, divisi pengujian lintas sistem bertindak sebagai penyedia layanan QA internal untuk pemilik produk dan proses. Kami menerima aplikasi dari departemen yang berbeda, dan manajer pengujian membuat jadwal dan mendistribusikan tugas pengujian. Penjadwalan dilakukan seminggu sekali - tugas besar dan kecil didistribusikan antara manajer pengujian dan penguji, dengan mempertimbangkan beban kerja dan pengalaman mereka.
Jika proses yang kompleks sedang diuji, penguji dapat mengerjakan proyek yang sama sepanjang minggu. Dalam kasus lain, spesialis berhasil menyelesaikan dua atau tiga tugas dari pelanggan yang berbeda. Terkadang penguji bekerja dengan dua manajer pengujian sekaligus, yang mendistribusikan waktunya sesuai dengan jadwal digital dinamis.
Metodologi yang dibuat sebelumnya melibatkan pengerjaan kasus uji yang khas. Berkat ini, seseorang dapat dengan mudah beralih dari satu tugas ke tugas lainnya. Dalam pekerjaan kami, ini sering kali diperlukan, terutama jika sesuatu tiba-tiba mulai "terbakar", dan untuk proyek lain, tenggat waktu memungkinkan Anda untuk sedikit menggeser tenggat waktu.
Agar departemen kami dapat berinteraksi dengan penguji dari tim produk, kami juga mengembangkan peraturan yang jelas untuk pelaksanaan kasus pengujian: kriteria untuk memulai dan mengakhiri pengujian, waktu dan urutan tugas, daftar orang yang bertanggung jawab untuk setiap tahap, dan seterusnya.
Faktanya, hari ini kami membawa metodologi pengujian lintas sistem ke tim tangkas yang sudah mapan. Pendekatan ini memungkinkan kami untuk menghindari persetujuan terus-menerus dan melakukan pengujian dalam kerangka waktu yang jelas.
Kualitas penguji lintas sistem
Bahkan ketika semua pengembangan berada dalam ritme yang gesit, pengujian lintas-sistem tetap berbasis proyek secara inheren, dengan semua kebutuhan selanjutnya untuk perencanaan, realokasi sumber daya, baik di setiap tim maupun di dalam seluruh grup.
Intinya adalah bahwa lingkungan kerja untuk penguji lintas sistem dan manajer pengujian terus berubah. Misalnya, kami baru-baru ini menerima tugas untuk pengujian lintas sistem dari chatbot, serta proses penandatanganan kontrak untuk pembelian non-komersial. Untuk menyelesaikan tugas ini, penguji harus bergabung dengan area baru, memahami fungsionalitas dan fitur sistem yang sebelumnya tidak dikenal.
Dalam proyek semacam itu, kami menyertakan fase pelatihan untuk penguji, yang dapat berkisar dari satu minggu hingga satu bulan. Pada saat yang sama, orang dituntut untuk dapat dengan cepat terlibat dalam topik baru, berkomunikasi dengan analis dari tim yang berbeda, dan secara efektif mengatur waktu mereka.
Namun, meski tanpa ini, ada cukup banyak ketidakpastian dalam pekerjaan unit. Manajer tes dapat memulai hari dengan satu rencana, dan mengubahnya secara drastis pada waktu makan siang. Semua pelanggan memiliki tenggat waktu yang berbeda dan prioritas tugas yang berbeda, sistem apa pun dapat tiba-tiba offline dan memerlukan realokasi sumber daya.
Akhirnya, lingkungan pengujian bisa kewalahan. Oleh karena itu, manajer penguji sendiri harus menjadi PM yang kuat dan dapat menangani perencanaan secara langsung.
Pengujian produk
Setelah proyek percontohan kami selesai, perusahaan telah menguraikan kursus yang jelas untuk pengujian produk. Saya harus mengatakan bahwa pendekatan ini memfasilitasi pengujian lintas fungsi, karena beberapa tugas pengujian tetap ada di tim produk.
Kami menentukan sebelumnya pada titik waktu apa dan mengapa tim pengujian lintas fungsi terhubung ke proses dan mengalokasikan sumber daya penguji dengan jelas.
Dalam hal ini, pengujian produk lebih mudah direncanakan karena berjalan sesuai jadwal, sesuai dengan gelombang perkembangan. Saat kami menerima rilis baru, kami bertanya kepada tim apa yang perlu diperiksa, menyesuaikan kasus pengujian, dan mulai bekerja. Pada saat yang sama, penguji lintas-sistem tertentu ditugaskan untuk setiap produk.
Keuntungan dari pendekatan terpusat adalah satu penguji dapat bekerja dengan beberapa proyek atau produk sekaligus. Misalnya, aplikasi seluler secara teratur menghabiskan 50% waktu spesialis yang ditugaskan. Mereka dapat menghabiskan 50% sisanya untuk menguji sistem lain - sesuai dengan tugas manajer pengujian.
Hasil divisi baru
Kami belum lama hidup dalam paradigma pengujian lintas sistem, tetapi sudah jelas bahwa waktu pengujian menjadi lebih pendek (terkadang beberapa kali), dan kualitas pengujian lebih tinggi.
Tim penguji lintas sistem lebih murah bagi perusahaan daripada berkembang dengan penguji tambahan untuk tim produk, dan berkat kehadiran pusat akumulasi kompetensi, pengujian lintas sistem lulus lebih cepat dan lebih cepat dengan setiap tugas baru. Selain itu, kami juga mengembangkan metodologi untuk memasukkan "proyek asing" sehingga peluncuran pengujian lintas fungsi ke arah yang baru lebih cepat.
Metodologi baru telah menambahkan transparansi pada pekerjaan semua tim dan meningkatkan QA. Akumulasi keahlian dan analitik lintas sistem yang terus-menerus memungkinkan untuk memprediksi secara lebih akurat perubahan apa di beberapa sistem yang dapat memengaruhi pengoperasian sistem lain.
Basis pengetahuan berkembang, dan hari ini kami sudah dapat menangani kasus uji yang beberapa bulan lalu tidak dapat kami lakukan tanpa persiapan tambahan. Oleh karena itu, praktik pengujian lintas sistem secara bertahap menjadi bagian alami dari ekosistem pengembangan M.Video-Eldorado dan budaya perusahaan perusahaan secara keseluruhan.
PS Tim kami berkembang. Kami membutuhkan penguji berbakat . Jika ya, selamat bergabung!