Saya sedikit pendukung vokal dari metodologi Pengembangan Perilaku Didorong (alias BDD). Saya telah menerapkan BDD selama beberapa tahun sekarang, dan telah mengadopsi StoryQ sebagai kerangka pilihan saya ketika mengembangkan aplikasi DotNet. Meskipun saya telah menguji unit selama bertahun-tahun, dan sebelumnya telah bergeser ke pendekatan test-first, saya telah menemukan bahwa saya mendapatkan nilai lebih dari menggunakan kerangka BDD, karena tes saya menangkap maksud dari persyaratan dalam relatif bahasa Inggris yang jelas dalam kode saya, dan karena tes saya dapat menjalankan beberapa pernyataan tanpa mengakhiri tes setengah jalan - yang berarti saya dapat melihat pernyataan spesifik yang lulus / gagal sekilas tanpa debugging untuk membuktikannya.
Ini benar-benar menjadi puncak gunung es bagi saya, karena saya juga memperhatikan bahwa saya dapat men-debug kode pengujian dan implementasi dengan cara yang lebih bertarget, dengan hasil bahwa produktivitas saya telah tumbuh secara signifikan, dan bahwa saya dapat lebih dengan mudah menentukan di mana kegagalan terjadi jika masalah terjadi untuk membuat semua jalan ke build integrasi karena output yang masuk ke log build. Lebih lanjut, api StoryQ memiliki sintaks fasih yang indah yang mudah dipelajari dan yang dapat diterapkan dalam sejumlah cara yang luar biasa, tidak memerlukan dependensi eksternal untuk menggunakannya.
Jadi dengan semua manfaat ini, Anda akan merasa mudah untuk memperkenalkan konsep ini ke seluruh tim. Sayangnya, anggota tim yang lain enggan untuk bahkan melihat StoryQ untuk mengevaluasinya dengan benar (apalagi menghibur ide menerapkan BDD), dan telah meyakinkan satu sama lain untuk mencoba dan menghapus sejumlah elemen StoryQ dari kerangka pengujian inti kami sendiri, bahkan meskipun mereka awalnya mendukung penggunaan StoryQ, dan meskipun kode yang ingin mereka hapus tidak berdampak pada bagian lain dari sistem pengujian kami. Melakukan hal itu pada akhirnya akan menambah beban kerja saya secara keseluruhan secara keseluruhan dan benar-benar bertentangan dengan keinginan, karena saya yakin melalui pengalaman praktis bahwa itu adalah cara yang lebih baik untuk bekerja dengan cara uji-pertama di lingkungan kerja khusus kami, dan hanya dapat mengarah pada peningkatan peningkatan kualitas perangkat lunak kami, mengingat saya Saya merasa lebih mudah untuk tetap dengan tes pertama menggunakan BDD. Untuk lebih memperjelas, sebagian besar unit test kami cenderung sangat rapuh dan sulit untuk dipertahankan, peninggalan dari tahun pengujian yang diterapkan dengan buruk di mana keengganan untuk bertahan dengan proses yang digerakkan tes telah melihat pengembang jatuh pada kebiasaan lama dan lakukan semua pengujian mereka di akhir proyek (orang-orang yang sama ini mengklaim Agile!).
Jadi pertanyaannya benar-benar muncul sebagai berikut:
- Argumen apa yang dapat saya gunakan untuk benar-benar mengarahkan poin bahwa akan lebih baik bagi tim ini untuk menggunakan StoryQ, atau paling tidak untuk mengadopsi metodologi BDD?
- Dapatkah Anda menunjukkan bukti anekdotal yang dapat saya gunakan untuk mendukung argumen saya untuk mengadopsi BDD sebagai metode pilihan standar kami?
- Argumen balasan apa yang dapat Anda pikirkan yang dapat menyarankan bahwa keinginan saya untuk mendorong tim untuk mengadopsi BDD mungkin salah? Ya, saya senang terbukti salah asalkan argumennya masuk akal.
CATATAN : Saya tidak menganjurkan agar kami menulis ulang pengujian kami secara keseluruhan, melainkan untuk mulai bekerja dengan cara yang berbeda untuk semua pekerjaan pengujian di masa depan, dan lebih disukai dengan cara kami melibatkan pelanggan kami.
Dan bagi Anda yang ingin mempelajari lebih lanjut tentang BDD, tautan berikut mungkin berguna:
- http://dannorth.net/introducing-bdd/
- http://en.wikipedia.org/wiki/Behaviour_driven_development
- http://behaviour-driven.org/Pengantar
Bagi mereka yang tertarik pada detail lebih lanjut, kami adalah tim kecil yang terdiri dari 4 orang yang mengerjakan sekitar 5 proyek besar. "Uji coba percontohan" untuk BDD berjalan sekitar 2 bulan pada awalnya, dengan sekitar 4 bulan berikutnya. Tim menerima bahwa saya harus terus bekerja dengan cara ini dan harus melakukan uji coba sendiri. Saya sudah mengalami BDD selama sekitar 2 tahun sekarang sejak persidangan berakhir, sementara yang lain menjadi sangat pandai mengelak masalah ini. Alih-alih memaksakan "konfrontasi" atas masalah ini, saya mencari cara untuk dengan lembut membujuk tim untuk keluar dari belakang kolektif mereka dan meluangkan waktu untuk melakukan bagian mereka.