Penulis "Kalender Kalender" November adalah Olya Fazulzyanova, penguji Kontur.Ekterna, dan Olya Izyuryeva, penguji Kontur. Billing, dan penyelenggara kursus penguji. Gadis-gadis itu berbicara tentang pengujian pasangan, tentang tugas-tugas yang membantu menyelesaikannya, dan memberikan contoh penggunaan praktik yang gagal.

Ada praktik dalam metodologi XP - pemrograman pasangan. Banyak sumber telah menulis tentang massa keuntungannya: kualitas kode yang tinggi, kemampuan yang dapat dipertukarkan dari pengembang, dll.
Jika pemrograman pasangan sangat efektif, lalu mengapa tidak menerapkan prinsip serupa dalam pengujian? Ya, itu bisa dilakukan, pengujian pasangan sudah ada sejak lama dan sudah terbukti dengan baik. Tetapi jangan lupa bahwa latihan apa pun hanyalah alat untuk menyelesaikan masalah.
Wikipedia tidak memiliki istilah "pengujian pasangan", tetapi ada definisi untuk pemrograman pasangan, yang dapat diambil sebagai dasar. Kemudian, menurut pendapat kami, kami mendapatkan yang berikut.
Pengujian pasangan adalah teknik di mana pengujian fungsi tunggal dilakukan oleh beberapa orang di tempat kerja yang sama. Satu tester ("lead") mengontrol komputer, yang kedua ("navigator") terus memantau pekerjaan yang pertama. Selain itu, selama pekerjaan berlangsung, mereka bertukar gagasan dan mendiskusikannya.
Praktik apa pun hanyalah alat. Kami tidak ingin memalu kuku dengan mikroskop, oleh karena itu, kami selalu memulai dari tugas. Mari kita lihat tugas-tugas yang relevan dengan penggunaan "pengujian pasangan".
Tugas: Mentoring
Kapan saja, orang baru dapat datang ke tim. Harapan tim darinya - perendaman yang cukup cepat dalam tim dan dalam spesifik proyek dan, tentu saja, kinerja berkualitas tinggi dari pekerjaan mereka. Untuk membuat harapan cepat berubah menjadi kenyataan, ada proses pendampingan di banyak perusahaan. Tetapi apa yang akan terjadi jika mentoring dilaksanakan melalui pengujian pasangan?
Contoh:
Penguji baru datang ke proyek, dengan pengalaman atau tidak, itu tidak masalah. Anda, sebagai mentor, duduk bersamanya di komputer Anda dan mulai membangun prosesnya sebagai berikut: pada awalnya Anda memiliki peran utama, dan tujuan utamanya adalah untuk memperkenalkan pemula pada proses proyek dan area subjek. Kenalan dapat melalui cerita, presentasi, atau segera melalui pengujian tugas bersama.
Anda dapat mulai dengan membahas esensi masalah, menemukan jawaban atas pertanyaan dan mengembangkan rencana pengujian. Ketika semuanya siap untuk pengujian, Anda mengambil keyboard dan mouse dan menunjukkan cara menguji, dan pemula mengamati. Tidak ada yang melarang mengubah peran dan pekerjaan dalam tugas selanjutnya. Hal utama adalah tidak mengubah esensi - pengujian tugas bersama di satu workstation sampai Anda yakin dengan pasangan Anda.
Keuntungan:
- Pemula beradaptasi lebih cepat dalam tim. Dia memiliki titik masuk - seorang mentor yang dengannya Anda dapat bertemu anggota tim lainnya. Selain itu, pemula akan membentuk gagasan tentang bidang tanggung jawab kolega, karena selama mencari jawaban atas pertanyaan, Anda akan langsung mengarahkannya ke orang yang tepat.
- Seorang pemula akan dengan cepat mengetahui area subjek baru.
- Jika seorang pemula tanpa pengalaman pengujian, maka ia akan belajar dalam praktik tentang teknik pengujian baru dan mengevaluasi penerapannya.
- Ada berbagi pengetahuan: tentang proses pengembangan, tentang teknik, tentang alat pengujian.
- Pandangan pemula tidak kabur, sehingga ia dapat membawa skenario non-standar baru.
- Mentor akan dengan cepat menentukan tingkat kesiapan orang baru. Ini akan membantu memperbaiki vektor pengembangan dengan tepat waktu, memilih tugas untuk itu.
- Pemimpin ujian dan / atau manajer pengembangan tidak terganggu oleh adaptasi pemula. Pendatang baru ada di tangan yang baik, dan pasti tidak akan ada masalah dengan kualitas tugas pertama.
Output mini:
Latihan cocok jika pasangannya adalah orang yang tidak memiliki pengalaman dan Anda perlu dengan cepat mengubahnya dari pemula menjadi spesialis. Ada untung ketika bekerja dengan pemula yang berpengalaman: semua orang belajar, termasuk seorang mentor. Bagaimanapun, setiap orang bekerja dengan caranya sendiri dan berpikir dengan cara yang unik, menggunakan praktik dan alatnya sendiri.
Tugas: pelatihan lanjutan
Kita mungkin menemukan fakta bahwa untuk menyelesaikan pekerjaan kita dengan sukses, kita perlu memiliki pengetahuan tentang spesialisasi terkait: dapat menyusun dokumentasi, mengotomatiskan tugas, dll. Bagaimana cara cepat dan murah membangun kompetensi? Hubungi anggota tim Anda.
Contoh:
Anda sebagai tester memiliki tugas yang lebih tepat untuk dibahas dengan unit test, tetapi Anda tidak memiliki kualifikasi yang cukup, dan Anda pergi ke pengembang untuk meminta bantuan. Anda duduk bersamanya di satu komputer yang berfungsi dan mulai membangun prosesnya sebagai berikut: di awal, pengembang harus memainkan peran utama, karena dia harus memperkenalkan Anda ke basis kode dan tes yang tersedia. Kemudian Anda mengumpulkan skrip dan mulai mengotomatiskannya. Pengembang menulis tes pertama, dan Anda mengamati, dan Anda sudah mengambil tes berikutnya ke tangan Anda sendiri.
Keuntungan:
- Anda akan dengan cepat mengetahui cara kerja proyek dan tes apa yang sudah ada.
- Belajar tidak hanya untuk menulis tes, tetapi untuk menulisnya dengan benar (gaya).
- Pengembang akan memperluas idenya tentang skenario pengujian, karena Anda akan menunjukkan cara berpikir di luar kotak.
- Pengembang akan memperluas pemahamannya tentang proses pengujian, karena Anda akan mengajarinya untuk memeriksa kualitas kode sebelum meneruskannya ke pengujian.
- Tugas akan ditanggung oleh autotests dalam periode yang lebih singkat.
- Seorang manajer atau pemimpin tim akan senang keinginan Anda untuk berkembang.
Output mini:
Bekerja berpasangan memungkinkan Anda untuk mendapatkan pengetahuan di bidang baru dengan cepat dan efisien, segera memperbaikinya dalam praktik.
Tugas: menyingkirkan sifat tidak terpisahkan ( faktor-bus )
Sangat sering ada orang dalam tim - satu-satunya pembawa pengetahuan tertentu. Seringkali seorang penguji menjadi orang seperti itu, karena ia tahu segalanya: skenario pengguna, bagaimana layanan diterapkan, apa yang perlu dikonfigurasikan untuk pengujian, dan banyak lagi. Tetapi dalam hidup ada situasi yang dapat menghilangkan proyek sumber pengetahuan (pemecatan, liburan, cuti sakit ...). Karenanya, untuk meminimalkan konsekuensinya, Anda dapat memainkannya dengan aman dan membagikan pengetahuan dari satu kepala ke kepala lainnya terlebih dahulu. Bagaimana? Melalui pengujian pasangan, tentu saja!
Contoh:
Sebagai seorang penguji, Anda perlu membenamkan anggota tim dalam tugas Anda, mentransfer pengetahuan suci. Anda duduk bersamanya di satu komputer yang bekerja dan mulai membangun proses sebagai berikut: Anda selalu memiliki peran utama, di awal Anda memberi tahu dan / atau menunjukkan sumber informasi, memperbarui, memilih dan menganalisis tugas yang akan membantu mengkonsolidasikan pengetahuan yang diperoleh.
Keuntungan:
- Tekanan tanggung jawab berkurang, Anda bisa pergi berlibur dengan aman, magang, dll.
- Bekerja berpasangan akan memungkinkan Anda untuk mengubah konteks dan mencairkan rutinitas penguji yang sangat khusus.
- Manajer itu tenang, karena beberapa orang memiliki pengetahuan dan dengan kepergian seseorang, pekerjaan itu tidak akan muncul.
Output mini:
Jika ada spesialis yang sempit, maka pasangkan latihan untuk Anda. Ini meningkatkan pertukaran dan transfer informasi yang relevan.
Tugas: mendapatkan umpan balik
Jika tim pengujian terdiri dari beberapa orang, maka praktik umpan balik dapat diterapkan. Pengujian pasangan adalah alat yang cocok untuk OS.
Contoh:
Anda atau kolega Anda membutuhkan umpan balik. Anda duduk bersamanya di satu komputer yang berfungsi. Bagaimana Anda membangun proses itu tidak penting, yang utama adalah bekerja bersama.
Keuntungan:
- Anda atau kolega Anda akan memiliki gagasan tentang keterampilan pasangan.
- Anda atau kolega Anda akan memiliki gagasan tentang vektor pengembangan berdasarkan umpan balik.
- Umpan balik tentang kolega akan masuk akal, karena akan didukung oleh contoh.
Output mini:
Sesi berpasangan memberi penguji kesempatan untuk mengamati pekerjaan rekan kerja, akibatnya umpan balik akan lebih dapat diandalkan.
Kami telah menganalisis tugas yang dapat diselesaikan dengan pengujian pasangan.
Sekarang mari kita bicara tentang pengalaman nyata untuk menggambarkan dengan jelas jebakan yang dapat terjadi saat menggunakan latihan ini.
Case of Life, atau Jangan Suka Kami
Pada salah satu retrospektif dari tim pengujian, masalah-masalah berikut diidentifikasi:
- pekerjaan yang tidak setara (metode dan waktu pengujian tugas-tugas serupa sangat tergantung pada orang tertentu);
- umpan balik yang terlalu samar tentang satu sama lain (seringkali hanya satu orang yang terlibat dalam satu tugas, dan pada akhir enam bulan tidak ada yang ditulis tentang banyak rekan, kecuali bahwa "Vasya melakukan pekerjaannya dengan baik, ia bertanggung jawab, responsif, dan mudah bergaul").
Setelah merumuskan masalah-masalah ini, kami menetapkan sendiri tugas-tugas:
- Bertukar pengalaman dan mengidentifikasi cara dan alat terbaik untuk menguji tugas serupa.
- Buat kondisi untuk pengumpulan umpan balik yang lebih rinci.
Kami sepakat bahwa kami akan menggunakan praktik pengujian pasangan untuk menyelesaikannya.
Kolega saya dan saya memulai tugas pengujian yang sama.
Bagian depan pekerjaan itu cukup banyak, itu diperlukan:
- Memahami bidang subjek baru.
- Periksa analitik dan temukan skenario yang tidak terhitung di dalamnya.
- Persiapkan lingkungan pengujian.
- Siapkan data uji.
- Buat kasus uji.
- Dan tes pada akhirnya :).
Semua ini harus dilakukan dari awal.
Setelah duduk di satu komputer, kami mulai membaca analitik. Kami sepakat untuk membaca satu paragraf atau bagian dari teks, dan kemudian membahas pertanyaan-pertanyaan yang muncul dan telah melempar kasus uji pertama. Karena analitiknya agak kurang berkembang dan berisi campuran bagian bisnis dan teknis, kadang-kadang butuh 15-20 menit untuk membahas 10 baris teks. Selain itu, untuk akhirnya menangani setiap masalah, klarifikasi diperlukan dari analis, pengembang atau spesialis dukungan teknis. Semua pesan dan surat ini juga ditulis berpasangan.
Area subjek yang baru cukup kompleks, sehingga mengumpulkan kasus uji diperlukan untuk menyiapkan lingkungan yang kompleks dan menyiapkan bagian dari data uji. Di sini, juga, ada banyak pertanyaan dan klarifikasi bersama.
Menghadapi semua ini, kami memutuskan untuk memperlambat dan mengadakan pertemuan untuk membahas kemajuan pekerjaan dan keberhasilan pengujian pasangan.
Pada pertemuan itu, kami menyadari bahwa, setelah mulai menerapkan latihan, kami sepenuhnya lupa tentang tujuan penggunaannya. Semua perhatian hanya terkonsentrasi pada pengujian, atau lebih tepatnya, bahkan pada persiapan untuk itu, karena itu tidak mencapai menjalankan kasus uji.
Dalam perjalanan kerja, kami tidak berhasil melakukan tinjauan penuh satu sama lain, karena kami melakukan semua tindakan bersama, sebelum membahasnya. Kami tidak memperhatikan alur pemikiran dan tindakan pasangan saat memintal tugas baru. Juga tidak mungkin untuk bertukar pengetahuan, karena bidang studi baru bagi kami berdua.
Sebenarnya, ternyata untuk berbagi pengetahuan, tetapi ini sepele seperti:
- menggunakan tombol pintas baru,
- menggunakan beberapa chip bugtracker tertentu,
- ...
Anda dapat membagikan pengetahuan ini tanpa menggunakan praktik yang mahal.
Menjelang akhir pertemuan, kami membuat kesimpulan untuk diri sendiri:
Menerapkan latihan, kita tidak boleh melupakan tugas-tugas awal.
Tampaknya pada awalnya semuanya dilakukan dengan benar. Kami merumuskan masalah, menetapkan tugas, memilih alat solusi, tetapi selama pekerjaan itu sendiri penekanannya bergeser. Dalam kasus kami, kami hanya mencapai bahwa dua penguji terlibat dalam satu tugas.
Pilih tugas pengujian Anda sehingga praktik tersebut dapat diterapkan.
Tugas baru, kompleks, dan banyak sekali tidak cocok untuk pengujian pasangan:
- sulit untuk melatih seseorang;
- Saya tidak bisa bertukar pengalaman;
- sulit untuk mengumpulkan umpan balik.
Jangan mengabaikan masalah.
Segera setelah Anda merasa ada sesuatu yang salah, segera bicarakan, jangan menunggu akhir tugas atau retrospeksi akhir tim. Jadi, Anda dapat dengan cepat memahami bahwa praktik tersebut diterapkan secara tidak benar, atau mungkin ternyata tidak cocok untuk solusi dari masalah yang Anda pilih.
Ada banyak praktik berbeda. Yang mana dari mereka untuk digunakan dalam pekerjaan tergantung pada Anda. Yang terpenting, jangan lupa mengapa Anda menggunakannya, dan jangan gunakan latihan demi praktik.
PS Jika Anda menggunakan pengujian pasangan untuk tugas-tugas lain dalam kehidupan kerja Anda, beri tahu kami tentang hal itu di komentar.
Daftar artikel kalender:
Coba pendekatan yang berbeda
Pengujian pasangan yang wajar
Umpan balik: bagaimana itu terjadi
Optimalkan Tes
Baca buku
Pengujian analitik
Penguji harus menangkap bug, membaca Caner dan mengatur gerakan.
Muat layanan
Metrik Layanan QA
Uji keamanan
Kenali pelanggan Anda
Ambil backlog