Di mana ada pengembang, harus ada penguji di sekitar. Dan semakin kompleks sistemnya, semakin penting peran yang terakhir. Tetapi tidak semua penguji melakukan fungsi yang sama dengan cara yang sama, dan hari ini kami ingin membicarakan tentang munculnya unit khusus di M. Video-Eldorado, yang berhubungan dengan pengujian lintas-sistem. Baca tentang mengapa kami memutuskan untuk membuat kasta penguji yang terpisah, bagaimana hal itu membantu bisnis dan bagaimana kami sampai pada keputusan ini.
Jika Anda tidak memeriksa apakah sistem akan berfungsi setelah pembaruan diluncurkan ke produksi, bug kecil dapat "menempatkan" seluruh layanan klien atau, misalnya, proses back-office. Untuk mencegah hal ini terjadi, tim tangkas mana pun harus memiliki penguji sendiri, yang memeriksa eksekusi skenario dasar dan melaporkan bug ke pengembang. Jika suatu layanan berinteraksi dengan komponen lain dari sistem, maka tim sering melakukan pengujian integrasi - memeriksa pengaruh komponen terdekat dari ekosistem layanan satu sama lain.
Namun di zaman kita, proses bisnis seringkali jauh lebih rumit, dan untuk mencapai hasil yang diinginkan membutuhkan kerja selusin layanan. Dalam hal ini, perlu menguji kompatibilitas perubahan tidak hanya dua atau tiga sistem tetangga, tetapi seluruh aliran.
Oleh karena itu, pengujian integrasi tidak lagi menjamin operasi bebas kesalahan. Berikut ini contohnya: ketika pengembang aplikasi seluler merilis rilis, maka, secara maksimal, kompatibilitasnya dengan Bitrix (tempat situs web Eldorado berjalan) dicentang. Ini memungkinkan Anda untuk mengevaluasi pekerjaan hanya dari layanan itu sendiri, tetapi tidak memberikan jaminan bahwa pesanan akan dipenuhi, barang akan diberikan kepada pelanggan, dan harga penerbitan akan sesuai dengan harga dalam aplikasi, dan seterusnya.
Faktanya, proses kompleks adalah norma modern. Misalnya, di M.Video dan Eldorado, pemesanan online memerlukan partisipasi 20+ sistem. Dari sisi klien, semuanya terlihat sederhana: pembeli cukup masuk ke aplikasi seluler atau situs web toko online, memilih produk, memasukkannya ke dalam keranjang, dan menetapkan pengiriman ke tanggal berikutnya yang sesuai untuknya. Kurir mengirimkan barang pada waktu yang ditentukan oleh pembeli ke alamat yang ditentukan.
Tetapi untuk memungkinkan semua ini pada bagian layanan TI, ada interaksi sistem otorisasi, mesin situs, modul penghitungan harga, gateway pembayaran, sistem CRM, akuntansi, dan sebagainya. Dan untuk menilai apakah beberapa perubahan di salah satu komponen akan menyebabkan "gangguan" proses pembelian, perlu untuk memeriksa interaksi semua sistem.
- ?
Di satu sisi, setiap tim sudah memiliki penguji sendiri. Dan, tampaknya, dia bisa terlibat dalam tes ujung ke ujung. Tetapi kami telah melihat dari pengalaman kami sendiri bahwa pendekatan ini bukanlah yang paling efektif. Uji lintas-sistem, menurut definisi, sulit; untuk melaksanakannya, Anda perlu mengambil penguji dari setiap sistem, menginstruksikannya, dan menjalankannya.
Setelah menyelesaikan tahapannya, penguji N harus melapor kepada penguji N + 1 bahwa tahapannya telah selesai. orang biasanya sibuk dengan bisnis mereka sendiri - pengujian fungsional dan integrasi, dan proses pengujian lintas sistem lambat.
Kasus nyata: penguji pergi makan siang, tetapi ketika dia kembali, dia lupa bahwa dia harus menyelesaikan panggungnya - dia memiliki banyak pekerjaan lain. Sampai dia diingatkan, proses itu bermanfaat.
Jika kita menemukan masalah pada tahap tertentu, maka pertanyaan yang segera muncul: "Di pihak siapa?" Misalnya, penguji N + 1 mengembalikan kesalahan ke spesialis sebelumnya. Dan penguji N marah: "Apa hubungan sistem kami dan saya dengan itu?". Sampai orang-orang mengetahui di pihak siapa masalah itu muncul, yang dengan tulus tidak mereka anggap sebagai "masalah mereka", mungkin diperlukan waktu beberapa hari. Hasilnya adalah tenggat waktu yang terlewat dan kebutuhan untuk terus mendorong proses.
Terakhir, untuk melakukan pengujian semacam itu, Anda perlu meluncurkan proyek, menghubungkan manajer Proyek, secara berkala mengumpulkan 20 orang dalam satu ruangan (satu untuk setiap sistem) dan mencari tahu di pihak siapa masalah muncul saat mengambil langkah berikutnya. Ini sangat padat karya, tidak efisien, dan mengalihkan perhatian orang dari pekerjaan yang mereka anggap sebagai pekerjaan utama mereka.
Kami memutuskan bahwa akan lebih baik untuk membuat departemen pengujian lintas sistem, yang sekarang menguji seluruh proses bisnis sebelum rilis semua pembaruan utama untuk produksi.
Pengalaman sendiri - PROMO-tindakan
Ketika kami memutuskan untuk melakukan ini, nilai tambah yang besar adalah adanya pengalaman internal dalam pengujian lintas sistem. Kembali pada tahun 2017, kami mulai menerapkan praktik pengujian ujung-ke-ujung baru untuk mendukung kampanye iklan federal untuk merek M.Video. Berbagai promosi terus dilakukan oleh perusahaan, misalnya, "Harga Anda", "Beli TV, Anda akan menerima hadiah" dan sebagainya.
Promosi semacam itu menyiratkan harga khusus, adanya hadiah dalam kit, dan penerbitan hadiah. Promosi diadakan secara bersamaan, menggabungkan atau mengecualikan satu sama lain dalam pembelian tertentu.
Tetapi, dalam proses pengambilan, misalnya, pembelian barang promosi berlangsung di satu sistem, pekerjaan karyawan call center - di sistem lain, dan penerimaan barang - di sistem ketiga. Akibatnya, TV bisa dibiarkan tanpa hadiah, atau ketika item lain ditambahkan ke kuitansi, harga promosi untuk posisi utama dibatalkan. Jelas, pembaruan apa pun pada sistem dapat merusak sesuatu, dan kami membuat tim kecil yang secara khusus terlibat dalam pengujian ujung-ke-ujung promo sebelum peluncuran promosi federal.
Kira-kira setahun kemudian, tim ini membangun proses kerja yang efisien dan menjalankan operasi promosi federal yang bebas kesalahan dan bebas masalah. Dan sebagai bonus tambahan, bisnis mulai menerima umpan balik dan laporan tentang kelayakan teknis dan efektivitas kampanye iklan yang diluncurkan.
Ketika kami menyadari bahwa perusahaan membutuhkan proses pengujian lintas sistem yang lengkap pada proyek lain, pengalaman ini ternyata sangat berguna. Kebutuhan akan jenis pengujian baru sangat jelas pada saat penyatuan M. Video dan Eldorado. Kami telah meningkatkan jumlah perubahan kompleks dan volumetrik, menjadi perlu untuk melakukan proyek untuk dua merek sekaligus, jumlah produk dan sistem back-office yang termasuk dalam satu perubahan telah melebihi 20.
Manfaat pendekatan baru
Saat ini, departemen pengujian lintas sistem mempekerjakan tiga manajer pengujian dan enam penguji, dan di masa mendatang kami berencana untuk mempekerjakan sekitar 40 orang secara permanen dalam pengujian lintas sistem untuk M.Video-Eldorado.
Tugas departemen kami adalah melakukan pengujian ujung ke ujung, menangkap bug yang mungkin tidak diketahui selama pengujian fungsional dan integrasi, sebelum rilis ke produksi perubahan yang diluncurkan dalam proses dan produk perusahaan. Divisi tersebut menilai dampak pemutakhiran masing-masing komponen pada proses internal dan eksternal. Untuk ini, metodologi terpadu untuk mempersiapkan dan menjalankan pengujian dikembangkan, serta aturan untuk berinteraksi dengan penguji internal setiap tim pengembangan.
Pada pertengahan 2021, M.Video-Eldorado telah mendukung lebih dari 100+ produk dan sistem / layanan back-office, dan karenanya, 100+ tim terlibat dalam pengembangan mereka. Setiap minggu ada lebih banyak komponen perangkat lunak (bagaimanapun juga, kita hidup di era layanan mikro), dan perubahannya hampir terus menerus. Perusahaan terus-menerus menjalankan 5-6 proyek skala besar yang memengaruhi lusinan sistem sekaligus.
Dalam kondisi seperti itu, proses pengujian lintas sistem yang berkelanjutan menjadi diperlukan, karena memungkinkan Anda untuk melakukan pemeriksaan interaksi layanan secara tepat waktu dan mencegah pembaruan yang tidak kompatibel memasuki produk.
Jika kita berbicara tentang indikator tertentu, maka kita berhasil :
- , -, - end2end 2 ;
- 15%;
- 20%;
- end2end 10%;
- 50%;
- , -, Jira
Kisah tentang bagaimana kami melakukan proyek percontohan dan tentang proses bisnis apa yang kami kerjakan dalam metodologi pengujian layak mendapat teks terpisah. Oleh karena itu, di posting berikutnya, kami akan berbicara tentang jalur kami menuju pengujian lintas-sistem di mana-mana, serta membagikan metodologi dan kriteria yang ada untuk keberhasilan penerapan pengujian end2end di perusahaan, yang telah kami kembangkan dari pengalaman kami sendiri.
PS Ada beberapa lowongan menarik di tim kami . Selamat datang!