Hikayeden, kendiniz kodladığınızı düşünüyorum.
Normalde BDD'nin amacı, özellikle iş ve geliştiriciler arasında sohbet sağlamaktır, böylece takım ortak bir anlayışa ulaştıklarından emin olabilir. Test kullanıcılarını da eklemeyi seviyoruz, çünkü senaryoları kaçırdığımızda fark edebiliyorlar.
Bunu kendi başınıza yapıyorsanız, lastik bir ördek alın ve ördeklere uygulamanızın davranışını açıklayın. Nasıl çalışması gerektiğine dair bazı örnekler verin. Bunlar sizin senaryolarınız olacak.
Başlangıç olarak, ben öneririm değil bu senaryoları otomatik hale. İsterseniz bunları yazabilirsiniz. Ördekle paylaştığınız iş sonuçlarının onları ifade etmek için doğru seviyede olduğunu unutmayın. Artık uygulamanın nasıl davrandığı hakkında bir fikriniz olmalı ve senaryoları manuel olarak çalıştırabilirsiniz. Henüz işe yaramayan her şeye bir böcek gibi davranmayı seviyorum . Ben var bazen otomasyonla başladı ama sistem çalışır, ben araçları ile tanıdık nasıl çok iyi biliyorum ve yalnızca UI iyi anlaşılmaktadır. O zaman bile, kodu yazarken sık sık biraz yeniden çalışmam gerekiyor.
Daha düşük bir seviyede, ördeğinize her sınıfın nasıl davranacağını söyleyin. Bazı örnekler veriniz. Lastik ördekler, teknik dili mükemmel bir şekilde anlayabilir. Artık birim seviyesinde BDD, yani birim testleri var. Kırmızı-yeşil-refactor döngüsü burada gerçekleşir. (Artık daha fazla yeniden düzenleme yapmaya gerek duymuyorum, çünkü sınıflarımın sorumluluklarını düşünüyorum, iş odaklı dilde ifade ediyorum ve yine de oldukça güzel bir şekilde düşme eğilimi gösteriyor. Bunu bir süredir yapıyorsunuz, eğer yaparsanız sorun değil.)
Çok fazla refactor etmeyin. Kodumuz hakkında hala geri bildirim almak istiyoruz, çünkü her zaman bilmediğimizi bilmediğimiz şeyler var . Mükemmellik burada düşmanınızdır. Yeterince iyi yapın, okunabilir yapın, sonra devam edin. Daha fazla değişiklik yapmak için mükemmel bir şey yapmanız gerekiyorsa, başka değişiklikler yaptığınızda bunu yapın.
Senaryolarınız hakkında iş paydaşlarınızdan geri bildirim alma fırsatınız varsa, ancak sizinle birlikte satılmıyorlarsa, senaryoları yazdıktan hemen sonra ve otomatikleştirmeden önce onlara gönderebilirsiniz. Kelimeleri eylemlerle ilişkilendirebilmeleri için kullanıcı arayüzünün bir maketini de göndermek isteyebilirsiniz. Bununla kodlamanın çok ötesine geçmeyin. Zaten yaptığınız şeyin yanlış olduğu varsayımıyla çalışın ve nasıl yapılacağını öğrenmek için geri bildirim almanız gerekir.
Son bir ipucu olarak, hikayeleri genellikle kullanıcının bakış açısından ifade etmeyin (senaryolar, evet, ancak hikayeler değil). Bunlar kullanıcı hikayeleri değil. Muhtemelen şöyle bir şey okumalıdır:
In order to attract people to my website
As @thom
I want users to easily convert months and days to days.
Zaten aradığınız daha yüksek seviye bir hedef var. Bu aynı zamanda ihtiyacınız olan yetenekleri belirlemenize de yardımcı olacaktır. Onunla iyi şanslar ve ekstra uzun yazı için özür dileriz.