Bagaimana cara memotivasi rekan kerja untuk menulis tes unit? [Tutup]

92

Kami sedang mengerjakan produk besar yang telah diproduksi selama sekitar 5 tahun. Basis kode adalah .. erm .. berfungsi. Tidak terlalu baik tetapi berfungsi. Fitur-fitur baru dilemparkan ke dalam produksi dan diuji dengan QA kecil. Bug diperbaiki, dll. Tapi tidak ada seorang pun, kecuali saya, yang menulis tes unit. Tidak ada yang menggunakan kekuatan "melacak" bug dengan menulis unit test untuk memastikan bug khusus ini (test case) tidak akan pernah terjadi lagi.

Saya sudah bicara dengan manajemen. Saya sudah bicara dengan pengembang. Saya sudah bicara dengan semua orang di seluruh perusahaan. Semua orang berkata: "Ya, kita harus menulis lebih banyak unit-test!" Itu sekitar setahun yang lalu. Sejak itu saya telah memaksa pengenalan ulasan kode pra-komit ( Gerrit ) dan integrasi berkelanjutan ( Jenkins ).

Saya mengadakan beberapa pertemuan tentang tes unit dan saya juga menunjukkan manfaat dari menulis tes unit. Tapi sepertinya tidak ada yang tertarik.

T1: Bagaimana saya memotivasi rekan kerja saya untuk menulis tes unit?

T2: Bagaimana saya tetap termotivasi untuk mengikuti standar kualitas kode pribadi saya? (Terkadang itu benar-benar membuat frustrasi!)

PS: Beberapa fakta yang membuat frustrasi (dicapai dalam 1 tahun):

  • Total unit-tes: 1693
  • Total "contoh unit-test": sekitar 50
  • Dikerjakan oleh saya: 1521

Sunting: Apakah saya terlalu banyak berharap? Ini adalah tempat kerja pertama saya dan saya berusaha melakukan yang terbaik.

Sunting 2: Berdasarkan semua jawaban, saya telah membuat daftar periksa kecil untuk diri saya sendiri. Saya sudah bicara dengan dua pengembang secara pribadi dan kami melakukan pembicaraan yang baik dan jujur.

Salah satu dari mereka memberi tahu saya, seperti yang dikatakan Telastyn , bahwa dia benar-benar tidak nyaman dengan unit-test. Dia mengatakan bahwa dia ingin menjadi "lebih profesional" tetapi dia membutuhkan kickstart. Dia juga mengatakan bahwa pertemuan uji unit kami dengan semua pengembang (sekitar 9-11) itu baik, tetapi terlalu ramai. Ah. Beberapa kritik untuk saya, tetapi saya akan belajar dari itu. (lihat jawaban di bawah dengan pertemuan kata tdd!)

Yang lain mengatakan bahwa dia tidak tertarik untuk menulis unit-tes. Dia berpikir bahwa pekerjaannya cukup baik untuk gajinya. Dia tidak ingin melakukan lebih banyak usaha. Saya cukup terdiam. Khas 9-5 "pekerja".

Minggu depan saya akan berbicara dengan pengembang lain.

Terima kasih atas jawaban Anda yang hebat (sejauh ini!) Dan dukungan Anda. Saya sangat menghargai itu! Saya telah belajar banyak, terima kasih banyak!

bersembunyi
sumber
Apakah 172 unit tes lain dilakukan oleh Anda di tahun-tahun sebelumnya atau ada orang lain yang melakukan tes unit yang Anda meremehkan kontribusi mereka?
JB King
16
172 unit tes lainnya dilakukan oleh pengembang yang meninggalkan perusahaan. sad :(
lurkerbelow
6
Silakan terus berbicara angka. Berapa banyak bug yang ditemukan pada tahun lalu, berapa banyak yang ditemukan, dan berapa banyak yang dicegah oleh Tes Unit. Berapa banyak tes waktu menulis (1521 dalam setahun oleh satu orang) vs "Melakukan pekerjaan nyata" (dalam hal rekan kerja Anda mungkin berpikir). Apakah mereka menganggap UT bermanfaat, atau membuang-buang waktu. yaitu Tunjukkan saya Uang.
mattnz
1
Karena penasaran, apakah rekan kerja Anda memiliki strategi debugging alternatif? TDD berguna untuk membuktikan bahwa sesuatu berfungsi seperti yang diharapkan, tetapi tidak terlalu banyak untuk masalah yang tidak diketahui. Mereka mungkin merasa nyaman hanya dengan mengaitkannya dengan debugger.
Spencer Rathbun
3
Mengaitkan debugger untuk tujuan pengujian adalah benar, tetapi tidak memastikan bahwa kode akan berfungsi dalam beberapa hari / minggu / bulan dan itulah masalah sebenarnya.
lurkerbelow

Jawaban:

48

Saya perhatikan bahwa berbicara tentang TDD tidak berhasil. Orang suka melihat hasil mentah . Mengatakan bahwa "tes menulis akan mengurangi waktu pengembangan" kemungkinan besar benar, tetapi mungkin tidak cukup untuk meyakinkan siapa pun.

Saya berada di posisi yang sama (well, tidak seburuk milik Anda), dan itu agak teratasi ketika orang-orang mulai bekerja pada kode saya (catatan: kode saya diuji unit, yang lain tidak begitu banyak). Ketika sesuatu berhenti bekerja, tindak lanjut alami setelah penyelidikan lokal adalah untuk bertanya kepada saya apa yang bisa menjadi alasannya . Kemudian kami duduk, kami menjalankan unit test dan melihat apa yang terjadi. Jika tes lulus, sebagian besar masalah waktu berada pada kode baru yang belum diuji. Jika tidak, tes biasanya dapat menemukan masalah (atau setidaknya mengarahkan kita ke arah yang benar). Kami memperbaiki bug, tes kembali, semua orang senang.

Singkat cerita, beberapa situasi seperti ini terjadi dan 2 lebih banyak pengembang menjadi penggemar TDD / pengujian (masih ada beberapa lagi, tetapi terlihat menjanjikan).

Adapun saran, Anda bisa mencobanya dengan TDD kata; tugas sederhana untuk diimplementasikan menggunakan pendekatan tes pertama sebagai lawan dari tes tidak ada . Bergantung pada seberapa kompleks tugas itu, pendekatan non-tes biasanya harus lebih lambat, terutama dengan perubahan tambahan yang disyaratkan:

Sunting : Komentar OP membuat saya menyadari bahwa ada argumen yang lebih kuat yang dia miliki - regresi alias bug yang kembali . Situasi semacam itu adalah contoh sempurna yang menunjukkan bagaimana unit test dapat bermanfaat. Orang-orang seperti angka - seperti yang saya katakan, mengatakan "unit testing baik" mungkin tidak meyakinkan, tetapi mengatur data seperti di bawah ini mungkin pasti:

  • waktu yang dihabiskan untuk mengimplementasikan fitur (tidak ada tes yang ditulis; Saya menganggap ini sering terjadi sehingga seharusnya relatif mudah untuk menemukan contoh seperti itu)
  • perkiraan waktu untuk mengimplementasikan fitur dengan TDD (atau bahkan tes setelah pendekatan; tidak masalah - yang penting adalah adanya tes unit)
  • waktu yang dihabiskan untuk menyelesaikan bug pada kode yang belum diuji vs diuji

Satu hal yang perlu Anda ingatkan (migth ini sudah jelas tetapi patut dicatat): bias hasil - pastikan Anda tidak memilih contoh di mana satu-satunya cara menemukan bug dengan tes adalah dengan menulis tes untuk bug itu. Biasanya, tidak ada yang tahu bug akan muncul dimuka, tetapi tergoda untuk mengatakan "man bug ini akan sepele jika kita menguji X" - mudah untuk menemukan taktik kemenangan untuk perang setelah itu berakhir.

Hasil dari contoh-contoh itu seharusnya berupa pertanyaan sederhana - jika Anda dapat menghabiskan waktu x-jam mengembangkan fitur Y, mengapa bersikeras melakukannya dalam 2x ?

jimmy_keen
sumber
Terima kasih atas masukan Anda. Saya pikir saya akan menjadwalkan pertemuan TDD dengan katas .. Dua pengembang per pertemuan sehingga saya bisa membantu. Ya, perangkat lunak "berfungsi". Tetapi banyak bug yang "kembali". Jika seseorang memperbaiki sesuatu di modul A mungkin submodule A1 tidak akan berfungsi lagi dalam beberapa kasus. Bug-bug itu (kebanyakan) tidak ditemukan selama QA. Itu buang-buang waktu. Tes unit menulis: (mungkin) 1j. Mendapatkan laporan bug dari pelanggan, menganalisis, merencanakan, memperbaiki, meninjau kode, membangun, pengiriman perbaikan terbaru, dll. Tentang .. 6-8j.
lurkerbelow
Gambar bernilai 1000 kata dan semuanya. Menunjukkan bahwa itu menghemat waktu lebih meyakinkan daripada mengatakan Ini seharusnya menghemat waktu .
R0MANARMY
4
@ lurkerbelow: argumen kembali (atau, regresi jika Anda suka) adalah argumen yang sangat kuat. Pikirkan tentang mengatur masalah yang ada atau bug yang telah Anda habiskan terlalu banyak dalam contoh-contoh itu, dan tunjukkan bagaimana memiliki tes tertulis dapat membantu.
km
10
Dalam pengalaman saya, tes menulis tidak mengurangi waktu pengembangan, setidaknya tidak dimuka; itu meningkatkannya. Namun, ia menghasilkan perangkat lunak yang lebih andal, dirancang lebih baik, lebih mudah dirawat.
Robert Harvey
@RobertHarvey: Anda benar tentang itu, "pengembangan" adalah pilihan kata yang buruk di pihak saya. Saya tidak dapat menemukan sesuatu yang lebih baik menggambarkan proses mendesain, mengimplementasikan, merilis dan memelihara perangkat lunak. UT dalam jangka panjang, lakukan perpendek / sederhanakan proses ini dan itulah yang ada dalam pikiran saya.
km
28

Pertama, Anda harus tahu mengapa mereka tidak menulis tes.

Jadwal dev yang ketat sering menjadi alasannya, tetapi Anda mengatakan Anda tidak memilikinya.

Alasan berikutnya adalah bahwa dengan basis kode yang belum teruji yang besar, menulis tes mungkin kelihatannya luar biasa - pekerjaan yang tidak pernah berakhir (seperti mencuci pakaian dan hal-hal yang menyenangkan). Jadi sifat manusia adalah berpikir bahwa itu terlalu banyak untuk dihadapi, jadi saya akan melewatkannya.

Alasan lain bisa jadi bahwa meskipun mereka berpikir tes adalah ide yang baik, mereka tidak yakin tentang bagaimana memulai menulis mereka terutama jika mereka tidak pernah bekerja di mana pun yang menulisnya.

Kemungkinan lain yang kuat adalah karena mereka benar-benar tidak melihat adanya nilai untuk lebih banyak pekerjaan meskipun mereka memberikan ide yang manis.

Jadi bagaimana Anda menangani berbagai alasan?

Alasannya sederhana, tunjukkan pada mereka contoh bagaimana menghemat waktu pengembangan.

Alasan dua - tunjukkan pada mereka berapa banyak tes yang Anda tulis dalam setahun dan berapa persen basis kode yang dicakupnya. Lakukan perhitungan matematika untuk menunjukkan berapa banyak lagi tes yang bisa mereka lakukan saat ini tahun depan jika mereka melakukan ini. Begitu mereka melihat bahwa sedikit kemajuan setiap hari benar-benar bertambah, seluruh gagasan itu tidak begitu luar biasa. Jika Anda dapat menarik data keluar dari sistem, perlihatkan kepada mereka berapa banyak bug yang merupakan bug berulang di bagian kode yang belum diuji dan berapa banyak bug berulang yang muncul dalam kode dengan unit test.

Alasan 3 adalah pelatihan, bukan hanya menunjukkan. Buat mereka menulis tes di kelas pelatihan.

Alasan 4, inilah inti masalahnya. Pertama, pilih titik sakit, salah satu bug yang telah kembali beberapa kali. Ketika itu masuk, inilah saatnya untuk menyarankan kepada manajemen bahwa jika mereka memiliki unit test pada item ini, itu tidak akan terus datang kembali seperti satu sen yang buruk.

Cara lain untuk mengatasi alasan 4 adalah membuat manajemen menjadikannya bagian dari proses dan kode tidak lulus tinjauan kode kecuali jika tes juga lulus tinjauan kode. Terbaik untuk mendekati mereka dengan membuat kebijakan ini tepat setelah salah satu dari titik-titik rasa sakit atau lebih baik setelah Anda memiliki beberapa dalam hitungan hari.

Kita semua suka berpikir bahwa sebagai pengembang kita mengelola sendiri (LOL), tetapi orang yang ambisius akan peduli tentang apa yang ditekankan oleh manajemen kepada mereka yang harus mereka pedulikan dan para profesional yang benar-benar mengelola sendiri sudah menulis ujian. Jika mereka tidak peduli tentang menjadi profesional dan melakukan praktik terbaik karena mereka meningkatkan produk atau peduli bagaimana membuat manajer terkesan dipromosikan (atau tidak dipecat), maka Anda dapat mempertimbangkan apakah ini tempat yang tepat untuk Anda. Jika Anda tidak dapat membuat manajemen peduli dengan praktik terbaik, maka Anda akan terus berjuang keras, Anda mungkin menilai apakah ini budaya perusahaan yang tepat untuk Anda. Meskipun setiap tempat kerja memiliki masalah (dan melarikan diri tidak selalu merupakan jawaban), tempat ini tampaknya tidak sesuai dengan tingkat profesionalisme Anda.

HLGEM
sumber
9

Saya akan mulai dengan menunjukkan manfaat TDD. Cobalah untuk menunjukkan manfaat pengujian unit.

Sebagai manusia normal, pengembang termotivasi oleh manfaat. Mereka tidak ingin melakukan hal-hal yang hanya menciptakan lebih banyak pekerjaan. Pengujian unit berarti lebih sedikit pekerjaan . Itu berarti pacaran lebih banyak dengan teman. Itu berarti bersenang-senang karena Anda tidak perlu menghabiskan setiap malam coding sampai 11 malam. Itu berarti pergi berlibur lebih banyak dengan ketenangan pikiran.

Salah satu manfaat terbesar dari TDD adalah bahwa Anda dapat refactor program Anda untuk desain yang lebih baik atau hanya mengubah nama sesuatu ... dan selama desain yang tidak merusak tes, Anda dapat memiliki keyakinan 100% bahwa perubahan Anda tidak merusak apa pun.

Kasus hebat lainnya untuk TDD adalah membuat unit test untuk kode lawas . Ini akan mewakili salah satu cara terbaik untuk mulai mengembalikan kejahatan. Dalam jangka panjang, ini akan berfungsi untuk meningkatkan pengetahuan Anda tentang basis kode, memahami kekuatan dan kekurangannya, mengenali logika bisnis kode-keras dalam kode dan memberi Anda awal yang baik untuk meningkatkan kualitas bergerak maju!

Referensi yang baik untuk dibaca lebih lanjut:

ElYusubov
sumber
3
@ lurkerbelow, ok, dan sekarang tugas Anda selanjutnya adalah memantau celah-celah tersebut untuk bug - mengawasi pelacak bug Anda dan perubahan kode yang muncul. Jika tidak ada bug, maka rekan Anda ada benarnya. Jika ada banyak, maka Anda ada benarnya. Bagaimanapun, Anda akan memiliki beberapa bukti empiris.
gbjbaanb
3
Fakta bahwa Anda dapat membuktikan bahwa perubahan Anda tidak merusak sesuatu yang lain adalah kekuatan BESAR dalam pandangan saya. Respons langsung dari perangkat lunak yang berfungsi juga bermanfaat. Sayangnya, beberapa orang tidak akan pernah mau mencoba pembelajaran startup. Ironisnya, startup terbatas itu untuk gratifikasi langsung terlalu banyak dalam budaya gratifikasi langsung kami ....
Jennifer S
7

http://blog.jtimothyking.com/2006/07/11/twelve-benefits-of-writing-unit-tests-first

Saya pikir saya menandai tautan itu dari artikel Jeff Atwood beberapa waktu lalu [edit: ya, ini dia] . Tua tapi relevan. Karena manfaat ini dan lainnya yang pasti akan diuraikan dalam jawaban lain, programmer Anda harus dapat memotivasi diri mereka sendiri ! Ini akan memungkinkan mereka untuk bekerja lebih efisien dan dengan demikian membuat pekerjaan mereka sedikit lebih mudah. Siapa yang tidak menginginkan itu?

Sehubungan dengan pertanyaan kedua Anda: rasa kepemilikan dan kebanggaan Anda terhadap standar kualitas kode Anda akan membuat Anda tetap menggunakannya . Pikirkan tentang apa yang ingin Anda capai dengan memiliki standar seperti itu dan siapa yang diuntungkan darinya. Standar kode pribadi saya bisa membuat frustrasi juga, tetapi saya selalu merasa seperti saya melakukan kebaikan dunia / perusahaan / tim dengan menerapkannya. Jadi saya tidak berpikir Anda mencoba melakukan terlalu banyak - hasilnya akan bervariasi dari satu tempat ke tempat lain tetapi setidaknya Anda berusaha.

gws2
sumber
7

Ini seperti contoh besar tentang kepemimpinan .

Ada dua aspek bawaan dari sifat manusia yang Anda lawan:

  • Orang kreatif tidak suka proses.
  • Kebanyakan orang tidak suka penilaian negatif eksternal pada kualitas mereka.

Sangat sulit untuk melawan ini dengan kuliah, pernyataan manajemen, atau bahkan logika. Anda harus menang memanfaatkan aspek alternatif dari sifat manusia.

  • Orang-orang meniru perilaku karyawan terbaik

Jika karyawan terbaik menggunakan TDD dan berfungsi, prosesnya akan berkembang. Jika tidak, itu tidak akan terjadi. Jika Anda perlu meyakinkan siapa pun, itu adalah 1 atau 2 karyawan teratas.

MathAttack
sumber
Perlu dicatat bahwa tanpa berada dalam budaya yang merangkul TDD, kolega Anda tidak mendorong Anda untuk menjadi lebih baik. Jika mereka melihat kelemahan dalam metode Anda, mereka akan memanggilnya dan mengatakan "jadi itu tidak akan berhasil". Untuk memimpin dengan memberi contoh, Anda harus menginvestasikan waktu dan upaya Anda sendiri untuk meningkatkan metodologi Anda.
perfeksionis
3

Tanya mereka.

Anda mengatakan bahwa orang telah diberitahu, dan setuju bahwa mereka harus menulis lebih banyak tes. Kenapa tidak?

Mungkin tidak (sering kali tidak) masalah motivasi sederhana. Mereka mungkin melupakan mereka. Mereka mungkin merasa di bawah tekanan waktu. Mereka mungkin tidak tahu bagaimana menulis tes yang bagus. Mereka mungkin berpikir Anda sangat baik sehingga mereka tidak perlu melakukannya. Mengetahui akar penyebabnya akan membantu Anda memecahkan masalah dengan lebih baik.

Telastyn
sumber
6
Secara teori itu ide yang bagus, tetapi sulit untuk menjawab pertanyaan. Jadi, jika Anda tahu tes unit bagus, mengapa Anda tidak menggunakannya? tanpa terdengar seperti bajingan misalnya saya tidak tahu bagaimana atau saya tidak punya waktu atau saya pintar kode saya harus bekerja . Situasi itu biasanya membuat orang defensif dan Anda akan mendapatkan hasil yang buruk.
R0MANARMY
2
Saya tidak ingin menunjukkan "kesalahan" orang lain. Mungkin saya harus mengobrol chit saat sedang pribadi, misalnya minum bir atau sepuluh. Tekanan Waktu tidak benar-benar tepat. Kami memiliki jadwal yang bagus dengan waktu penyangga yang cukup. (150% + perkiraan)
lurkerbelow
2

Anda akan berpikir unit test akan menjadi penjualan sendiri. Saya tidak tahu bagaimana perusahaan Anda bekerja, tetapi ketika ada masalah selama peluncuran produksi kami mengerjakannya sampai diperbaiki. Tidak masalah jika itu terjadi pada jam 2 pagi pada hari Minggu pagi. Ini sangat jarang bagi kita, tetapi ketika itu terjadi, itu menyebalkan.

Saya akan mulai dengan bertanya kepada mereka berapa kali mereka harus bangun di tengah malam untuk memperbaiki beberapa masalah besar yang dapat dengan mudah ditemukan pengujian otomatis. Itu tidak berarti pengujian otomatis akan memperbaiki semuanya, tetapi seharusnya membantu mengurangi itu.

Penjual besar kedua adalah siklus QA. Sebelum dimulainya TDD di perusahaan saya, kami akan mendorong rilis baru ke QA untuk diuji setiap minggu. Mereka akan membuat setumpuk bug dari rilis itu, kami memperbaiki bug itu dan mendorong rilis lain. Ulangi sampai selesai. Proyek pertama yang kami lakukan TDD tidak memerlukan push to QA sampai beberapa minggu kemudian. Dan jumlah bug yang ditemukan sangat, sangat kecil. 10% dibandingkan dengan proyek serupa. Apakah Anda tetap harus mengumpulkan statistik tersebut untuk tim Anda?

Titik penjualan besar lainnya adalah bagaimana kode terlihat setelah TDD dirangkul, lebih mudah dibaca, karena kami ingin membuatnya lebih mudah untuk diuji. Tunjukkan perbandingan antara kode yang ditulis untuk unit test dan kode yang tidak tertulis.

Akhirnya, tunjukkan pada mereka bagaimana mereka akan dapat memperbaiki kode dengan percaya diri.

Ingatlah semua itu ketika Anda tidak ingin menulis tes. :)

bwalk2895
sumber
1

Saya ingin memperluas jawaban HLGEM , terutama bagian ini:

Alasan berikutnya adalah bahwa dengan basis kode yang belum teruji yang besar, menulis tes mungkin kelihatannya luar biasa - pekerjaan yang tidak pernah berakhir (seperti mencuci pakaian dan hal-hal yang menyenangkan). Jadi sifat manusia adalah berpikir bahwa itu terlalu banyak untuk dihadapi, jadi saya akan melewatkannya.

Saya telah menemukan bahwa kode yang saya tulis dengan maksud tes menulis adalah kode yang jauh lebih baik daripada kode yang saya tulis tanpa maksud tes menulis; bertanya pada diri sendiri Bagaimana saya akan menguji fungsi ini? memaksa desain yang lebih baik untuk setiap fungsi. (Kurang mengandalkan data global atau semi-global; IO terpisah dari perhitungan; fungsi hanya melakukan satu hal; penanganan kesalahan yang konsisten; dan sebagainya.)

Mencoba menguji kode lama yang tidak ditulis dengan pengujian mungkin membuat frustrasi.

sarnold
sumber
1

Saya telah menggunakan beberapa teknik:

a) mengatur bangunan otomatis. Ketika seseorang merusak sesuatu yang Anda uji, tunjukkan pada mereka bagaimana tes mendeteksi dan seberapa buruk bug itu.

b) Lakukan proyek kompleks dengan tes (Anda mengemudi). Ini akan menunjukkan betapa sedikitnya bug yang ada di proyek itu. Saya punya satu proyek interaksi server yang kompleks yang mulai bekerja dengan sempurna. Tidak pernah gagal QA dan semua tes integrasi berjalan 100% dengan lancar. Sistem itu dikenal sebagai sangat stabil dan manajemen secara keseluruhan senang dengannya. Apa yang Anda lakukan dalam situasi ini adalah bagaimana pengujian unit diaktifkan.

c) Tarik satu orang sekaligus. Orang yang mendengarkan Anda. Ambil bug dan tunjukkan bagaimana tes memperlihatkan masalah yang dalam dan sulit. Ini membantu. Tidak pernah hal yang mudah. Tapi begitu Anda mendapatkan penggemar, dia hanya akan membantu. Ini efek domino.

pengguna84575
sumber
c) terlihat bagus untuk kasus saya
Nakilon
0

Panggang pengujian unit dalam proses. Jika bug muncul dalam produksi yang terlalu jelas untuk ditangkap dalam unit test maka orang ini yang disalahkan. Tugaskan orang untuk menulis setiap tes yang mereka buat. Pilih kasus secara acak dan saksikan eksekusi beberapa kasus setiap minggu. Dengan melakukan tes unit, orang akan bertanya tentang persyaratan dan akhirnya mengikat persyaratan untuk pengembangan dan mudah-mudahan mengembangkan perangkat lunak yang diperlukan dan berfungsi :)

Tidak mungkin
sumber
Terima kasih atas masukan Anda. Anda menyatakan bahwa tes unit penulisan memaksa pengembang untuk berpikir sedikit lebih jauh tentang persyaratan, dll. Itu kadang-kadang benar-benar masalah. Fitur A diimplementasikan dan berfungsi. QA mengatakan kepada dev bahwa test case x tidak berfungsi karena dia belum memikirkan kemungkinan efek samping. Kami menggunakan integrasi berkelanjutan untuk menegakkan unit-tes kami. Semua tes dijalankan jika ada yang memeriksa sesuatu. Jadi kami akan mengetahui kemungkinan efek samping sebelum dikirim ke QA / pelanggan.
lurkerbelow
1
Pengujian unit berbeda dari pengujian integrasi. Saya percaya bahwa pengembang juga bertanggung jawab untuk pengujian integrasi dan peran QA adalah untuk memastikan bahwa semuanya berjalan dengan baik (sejauh verifikasi yang dapat mereka lakukan). Tentu saja mungkin ada masalah dalam versi, potongan yang hilang, distribusi kode ke server, dll. Yang tidak dapat ditangkap lebih awal tetapi ini tidak ada hubungannya dengan persyaratan atau pengujian unit.
NoChance