Seberapa sering, ketika bekerja sebagai tim, apakah Anda menghadapi situasi di mana bagian dari tugas otomatisasi pengujian jatuh ke dalam tumpukan dan tetap dalam pengujian manual selamanya? Kami terus-menerus dihadapkan dengan masalah seperti itu, dan alasannya selalu berbeda:
- tidak punya waktu / tidak punya cukup waktu, lalu lupa;
- tidak cukup pengalaman;
- tugas otomasi ternyata sangat besar, membutuhkan integrasi pihak ketiga.
Terinspirasi oleh gagasan rekan-rekan dari
Avito , pada pertengahan Mei,
Yaromudr dan
saya mengadakan Hari Otomasi pertama, tujuan acara ini adalah untuk mengotomatisasi pengujian di mana, untuk alasan di atas, kami belum melakukannya.
Di atasnya, kami mengumpulkan semua insinyur QA yang tertarik, dan juga mempersiapkan sebelumnya:
- tumpukan tugas;
- aturan perilaku;
- menyetujui tumpukan teknologi;
- alat yang disiapkan;
- memerintahkan akses yang diperlukan.
Untuk otomatisasi, lapisan uji integrasi API dipilih. Setiap tugas dalam backlog berisi:
- tautan ke titik akhir, serta parameter input dan output dari permintaan lainnya dalam format json;
- esensi dari tes, bagaimana dan mengapa kita memeriksanya.
Pada awal proyek, kami memilih tumpukan berikut untuk otomatisasi, di situlah kami menyiapkan templat proyek, yang akan kami isi dengan pengujian otomatis:
- Java8
- Junit5
- Musim semi
- Unirest
Contoh template proyek dapat ditemukan di
sini .
Perlu dicatat bahwa untuk waktu yang lama kami telah menyiapkan alat untuk menghasilkan data uji untuk waktu yang lama, tanpa ini kami tidak ingin membuat kerangka kerja baru, karena sudah ada pengalaman buruk dengan integrasi otomatis pada data uji statis, hanya lapisan di bawahnya. Kami sebagian membicarakan masalah ini di pertemuan kami,
komunikasi kualitatif PETA .
Aturannya
Aturan untuk peserta Hari Otomasi sesederhana mungkin. Sebelum memulai pengembangan, kami mendemonstrasikan struktur proyek yang dirancang sebelumnya dan melakukan pengarahan singkat. Ketika berkembang, peserta harus mematuhi struktur proyek yang diberikan.
Dari 10 hingga 19, kadang-kadang terganggu oleh makan siang dan makan malam, peserta menulis tes di Jawa + JUnit5. Implementasi logika untuk tes di Jawa diatur sebagai panggilan API menggunakan perpustakaan Unirest.
Dan di ruang permainan kami yang nyaman, dua belas insinyur QA dan dua penyelenggara acara Hari Otomasi berkumpul.
Perlu dikatakan bahwa tingkat QA-engineer berbeda, seseorang tahu seluruh tumpukan, seseorang tidak pernah menggunakan Spring dalam proyek mereka, seseorang hanya menggunakan Yakin dalam proyek mereka dan belum pernah melihat Unirest, beberapa tidak otomatis Pengujian API dan mengujinya dengan tangan Anda.
Hasil
Apa yang kami dapatkan selama 8 jam kerja pengembangan intensif:
- + 12 permintaan tarik;
- 12 tugas tertutup dari backlog;
- + 14 autopsi integrasi;
- > 99% dari autotes berhasil lulus untuk setiap peluncuran;
- 12 QA-engineer yang berorientasi pada proyek.
Satu bulan kemudian
Ketika kami mengambil metrik pengujian sekitar sebulan kemudian, kami mendapat indikator yang sangat menarik:
- + 30 permintaan tarik;
- 30 tugas tertutup dari backlog;
- + 48 autopsi integrasi;
- diganti Unirest dengan Retrofit;
- > 97% dari autotes berhasil lulus untuk setiap peluncuran.
Saya terutama ingin mencatat dampak positif dari peristiwa semacam itu pada komunikasi dalam tim QA, ketika orang dihadapkan dengan tugas produk nyata dan ada orang-orang terdekat yang dapat membantu dan mengajar, ini selalu memberikan efek positif. Contoh sederhana, salah satu peserta
ilya_tad menyarankan untuk menggunakan Retrofit daripada Unirest, karena sejumlah alasan itu ternyata benar-benar menjadi alat yang lebih nyaman bagi kami. Baru-baru ini, peserta yang sama mengadakan Hari Otomasi kedua, di mana setiap orang juga menulis tes, tetapi sudah menggunakan Retrofit. Ngomong-ngomong, pada Hari Otomasi kedua, kami sepenuhnya mengganti Unirest dengan Retrofit, bagi kami peningkatannya minimal. Perkiraan templat proyek yang direvisi dapat ditemukan di
sini .
Ulasan
Semua peserta Hari Otomasi menerima t-shirt superhero yang baru dicetak. Dan ya, tentu saja, kami mengumpulkan umpan balik dari para peserta setelah Hari Otomasi pertama. Jawaban atas pertanyaan "Apa yang paling berharga dan berguna di Hari Otomasi ini?":
- keterlibatan semua peserta dalam meliput lapisan autotest lain dari piramida pengujian (menurunkan lapisan paling atas dari autotest ujung UI 2-ujung);
- kemampuan untuk berkonsentrasi pada tugas tanpa terganggu oleh hal lain, serta pengalaman mentoring yang tak ternilai;
- kerja kolektif pada tugas-tugas khusus untuk periode waktu yang ditentukan secara jelas, fokus pada penyelesaian berbagai tugas dan masalah yang sempit;
- ide umum dari kerangka kerja lokal telah muncul.
Kami juga mengumpulkan harapan dari para peserta, kami tidak akan mencantumkan semuanya, tetapi yang paling populer adalah mengadakan Hari Otomasi secara teratur.
Kesimpulan
Tentunya, kami akan mencoba melakukan acara seperti itu secara teratur. Kami akan melakukan berbagai topik, mencoba alat baru.
Automation Day memungkinkan Anda untuk mendidik orang tentang tugas-tugas produk nyata, orang-orang mulai berbagi pengalaman, mengambil inisiatif, dan berkomunikasi lebih baik satu sama lain. Dengan persiapan dan pengaturan yang tepat, acara ini memungkinkan Anda untuk secara relatif cepat membentuk seluruh lapisan autotest dan mempersiapkan orang untuk pengembangan lebih lanjut dari lapisan ini.

Kami berencana untuk mencurahkan Hari Otomasi ketiga untuk menulis pengujian komponen untuk iOS menggunakan alat EarlGrey.