BDD - Örneğe Göre Özellikler
'Örneklerle Spesifikasyon' kitabının yazarı Gojko Adzic'e göre, Örneklerle Spesifikasyon, doğru ürünün verimli bir şekilde teslim edilmesini sağlamak için yazılım ürünlerindeki değişimi kolaylaştıran bir dizi süreç modelidir. "
Örneklerle Spesifikasyon, yazılım ürünleri için gereksinimleri ve iş odaklı fonksiyonel testleri, soyut ifadeler yerine gerçekçi örnekler kullanarak gereksinimleri yakalama ve göstermeye dayalı olarak tanımlamak için işbirliğine dayalı bir yaklaşımdır.
Örneklere Göre Spesifikasyon - Genel Bakış
Örneklerle Spesifikasyonun amacı, önceliklendirilmiş, doğrulanabilir iş gereksinimlerinin geliştirilmesine ve sağlanmasına odaklanmaktır. Örneklerle Spesifikasyon kavramı kendi başına nispeten yeni olsa da, sadece mevcut uygulamaların yeniden ifade edilmesidir.
Her yerde bulunan dil olarak bilinen çok özel, özlü bir kelime dağarcığını destekler.
Yürütülebilir gereksinimleri etkinleştirir.
Takımdaki herkes tarafından kullanılır.
Çapraz işlevli bir ekip tarafından oluşturulur.
Herkesin anlayışını yakalar.
Örneklerle Spesifikasyon, iş alanını yansıtan Otomatikleştirilmiş testler oluşturmaya doğrudan bir girdi olarak kullanılabilir. Bu nedenle, Örneklerle Spesifikasyonun odak noktası, doğru ürünü oluşturmak ve ürünü doğru oluşturmaktır.
Örneğe Göre Spesifikasyonun Amacı
Örneklerle Spesifikasyonun temel amacı doğru ürünü oluşturmaktır. Ortak anlayışa odaklanır, böylece tek bir hakikat kaynağı oluşturur. Kusur tespiti yerine kusur önleme üzerine odaklanılması için kabul kriterlerinin otomasyonunu sağlar. Ayrıca, kusurları erken bulmak için testi erken teşvik eder.
SbE kullanımı
Örneklerle Tanımlama, iş değerini tanımlayan beklenen sistem davranışını göstermek için kullanılır. Örnek somut ve gerçek hayattan örneklerle verilmiştir. Bu örnekler, aşağıdaki çalıştırılabilir gereksinimleri oluşturmak için kullanılır:
Çeviri olmadan test edilebilir.
Canlı belgelerde yakalandı.
Aşağıda, belirli özellikleri açıklamak için örnekler kullanmamızın nedenleri verilmiştir -
Anlaşılması daha kolay.
Yanlış yorumlamaları daha zordur.
SbE'nin Avantajları
Spesifikasyonu Örneklerle kullanmanın avantajları şunlardır:
Artan kalite
Daha az atık
Azaltılmış üretim hatası riski
Odaklı çaba
Değişiklikler daha güvenli yapılabilir
Gelişmiş iş katılımı
SbE Uygulamaları
Örneklere Göre Şartname uygulamaları bul -
Karmaşık iş veya karmaşık organizasyon.
Tamamen teknik sorunlar için iyi çalışmıyor.
UI odaklı yazılım ürünlerinde iyi çalışmaz.
Eski sistemlere de uygulanabilir.
SbE ve Kabul Testi
Kabul testi açısından Örnekle Spesifikasyonun avantajları şunlardır:
Hem ayrıntılı gereksinimler hem de testler için tek bir örnek kullanılmıştır
Projenin ilerlemesi Kabul testleri açısından -
Her test bir davranışı test etmektir.
Test ya bir davranış için geçer ya da geçmez.
Başarılı bir test, belirli davranışın tamamlandığını gösterir.
Tamamlanması için 100 davranış gerektiren bir proje, tamamlanmış 60 davranışa sahipse,% 60'ı tamamlanmış demektir.
Test uzmanları, hata tespitinden hata önlemeye geçer ve çözümün tasarımına katkıda bulunur.
Otomasyon, bir gereksinim değişikliğinin çözüm üzerindeki etkisinin anında anlaşılmasını sağlar.
Örneklerle Tanımlama - Farklı Roller için ne anlama geliyor?
Örneklerle Spesifikasyonun amacı, iş değeri sağlamak için proje boyunca müşteri de dahil olmak üzere ekipteki herkesin işbirliğini teşvik etmektir. Daha iyi anlaşılabilirlik için herkes aynı Kelime Dağarcığını kullanır.
Rol | SbE kullanımı |
---|---|
İş analisti |
|
Geliştirici |
|
Test cihazı |
|
Herkes |
|
SbE - Bir Süreç Modeli Seti
Bu bölümün başında gördüğümüz gibi, Örneklerle Spesifikasyon, doğru ürünün verimli bir şekilde teslim edilmesini sağlamak için yazılım ürünlerindeki değişimi kolaylaştıran bir dizi işlem modeli olarak tanımlanır.
Süreç kalıpları -
Ortak çalışma özelliği
Spesifikasyonları örnekler kullanarak açıklama
Spesifikasyonu iyileştirmek
Otomatikleştirme örnekleri
Sıklıkla doğrulama
Yaşayan belgeler
Ortak Çalışma Şartnamesi
İşbirliğine dayalı şartnamenin amaçları şunlardır:
Ortak bir anlayışa ve ortak bir kelime dağarcığına sahip olmak için bir takımdaki çeşitli rolleri alın.
Bir özellikle ilgili farklı bakış açılarıyla katkıda bulunabilmeleri için herkesi projeye dahil edin.
Özelliklerin ortak iletişimini ve sahipliğini sağlayın.
Bu hedeflere, Üç Kafadar toplantısı olarak da bilinen bir spesifikasyon atölyesinde ulaşılır. Üç Kafadarlar BA, QA ve geliştiricidir. Projede başka roller olsa da, bu üçü özelliklerin tanımından teslimine kadar sorumlu ve sorumlu olacaktır.
During the meeting −
İş Analisti (BA), yeni bir özellik için gereksinimleri ve testleri sunar.
Üç Amigo (BA, Geliştirici ve QA) yeni özelliği tartışır ve spesifikasyonları gözden geçirir.
QA ve geliştirici ayrıca eksik gereksinimleri de belirler.
Üç Kafadarlar
Her yerde bulunan bir dil kullanarak paylaşılan bir model kullanın.
Etki alanı sözlüğünü kullanın (Gerekirse bir sözlük tutulur).
Farklılıkları ve çatışmaları arayın.
Bu noktada uygulama ayrıntılarına atlamayın.
Bir özelliğin yeterince belirtilip belirtilmediği konusunda fikir birliğine varın.
Ortak bir gereksinim duygusu ve test sahipliği, kalite spesifikasyonlarını kolaylaştırır
Gereksinimler, açık, kesin gereksinimler sağlayan senaryolar olarak sunulur. Bir senaryo, kullanıcıların bakış açısından sistemin davranışına bir örnektir.
Spesifikasyonu Örnekler Kullanarak Gösterme
Senaryolar, test edilebilir bir belirtim oluşturmak için Given-When-Then yapısı kullanılarak belirlenir -
Given <bazı ön koşullar>
And <ek ön koşullar> Optional
When <bir eylem / tetikleyici oluşur>
Then <bazı yayın koşulları>
And <ek gönderi koşulları> Optional
Bu belirtim, sistemin davranışına bir örnektir. Aynı zamanda sistemin bir Kabul kriterini temsil eder.
Ekip örnekleri tartışır ve geri bildirim, örneklerin özelliğin beklenen davranışını kapsadığı konusunda mutabakata varana kadar dahil edilir. Bu, iyi bir test kapsamı sağlar.
Spesifikasyonu İyileştirme
Bir spesifikasyonu iyileştirmek için,
Örnekleri yazarken kesin olun. Bir örnek karmaşık hale gelirse, onu daha basit örneklere bölün.
İş perspektifine odaklanın ve teknik ayrıntılardan kaçının.
Hem olumlu hem de olumsuz koşulları düşünün.
Alana özgü kelime dağarcığına bağlı kalın.
Örnekleri müşteriyle tartışın.
Bunu başarmak için konuşmaları seçin.
Yalnızca müşterinin ilgilendiği örnekleri düşünün. Bu, yalnızca gerekli kodun üretilmesini sağlar ve gerekli olmayabilecek olası her kombinasyonu kapsamayı önler
Senaryonun başarılı olmasını sağlamak için, o senaryo için tüm test durumlarının geçmesi gerekir. Bu nedenle, test edilebilir hale getirmek için spesifikasyonları geliştirin. Test senaryoları, çeşitli aralıkları ve veri değerlerini (sınır ve köşe durumları) ve verilerde değişikliklere neden olan farklı iş kurallarını içerebilir.
Karmaşık hesaplamalar, veri işleme / dönüştürme vb. Gibi ek iş kurallarını belirtin.
İşlevsel olmayan senaryoları (ör. Performans, yük, kullanılabilirlik vb.) Örneklerle Spesifikasyon olarak dahil edin
Otomatikleştirme Örnekleri
Otomasyon katmanı çok basit tutulmalıdır - sadece spesifikasyonun test edilen sisteme kablolanması. Aynısı için bir araç kullanabilirsiniz.
Etki Alanına Özgü Dil (DSL) kullanarak test otomasyonu gerçekleştirin ve girişler ile çıkışlar arasında net bir bağlantı gösterin. Komut dosyasına değil, spesifikasyona odaklanın. Testlerin kesin, anlaşılması kolay ve test edilebilir olduğundan emin olun.
Sıklıkla Doğrulama
Her değişiklikle (ekleme / değiştirme) geliştirme hattınıza örnek doğrulama ekleyin. Bir ürünün kalitesinin sağlanmasına yardımcı olmak için benimsenebilecek (ve uygulanması gereken) birçok teknik ve araç vardır. Üç temel ilke etrafında dönüyorlar:Test Early, Test Well ve Test Often.
Zayıf bağlantıları tanımlayabilmek için testleri sık sık gerçekleştirin. Davranışları temsil eden örnekler ilerlemeyi izlemeye yardımcı olur ve bir davranışın ancak ilgili test geçtikten sonra tamamlandığı söylenir.
Yaşayan Belgeler
Spesifikasyonları olabildiğince basit ve kısa tutun. Spesifikasyonları düzenleyin ve iş ilerledikçe bunları geliştirin. Ekipteki herkes için belgeleri erişilebilir hale getirin.
Örnek İşlem Adımlarına Göre Spesifikasyon
Resim, Örneklere Göre Tanımlama bölümündeki işlem adımlarını gösterir.
Anti-desenler
Anti-kalıplar, kötü bir programlama uygulaması olarak kabul edilen yazılım geliştirmede belirli kalıplardır. Yaygın sorunlara ortak yaklaşımlar olan, resmileştirilmiş ve genellikle iyi bir kalkınma uygulaması olarak kabul edilen tasarım modellerinin aksine, anti-modeller tam tersidir ve istenmeyen
Anti-kalıplar çeşitli sorunlara yol açar.
Anti-desen | Problemler |
---|---|
İşbirliği yok |
|
Kod bittiğinde habersiz |
|
Çok ayrıntılı veya çok kullanıcı arayüzü merkezli örnekler |
|
Küçük bir çaba gerekli |
|
Sorunların Çözümü - Kalite
Anti-kalıpları takip ederek kalite sağlanabilir. Anti-kalıpların yarattığı sorunları en aza indirmek için yapmanız gerekenler -
Örnekler kullanarak belirtmek için bir araya gelin.
Örnekleri temizleyin ve iyileştirin.
Örnekleri karşılayan bir kod yazın
Örnekleri otomatikleştirin ve dağıtın.
Her kullanıcı hikayesi için yaklaşımı tekrarlayın.
Anti-kalıplardan kaynaklanan sorunları çözmek, bağlılık anlamına gelir -
Collaboration.
Neye odaklanmak.
İşe Odaklanmak.
Hazır ol.
Yukarıdakilerin her birinin ne anlama geldiğini anlayalım.
İşbirliği
İşbirliği içinde -
İş adamları, geliştiriciler ve test uzmanları kendi bakış açılarından girdi verir.
Otomatik örnekler, ekibin doğru şeyi yaptığını kanıtlıyor.
Süreç, testlerin kendisinden daha değerlidir.
Neye odaklanmak
Soruya odaklanmalısınız - 'ne'. 'Neye' odaklanırken -
Olası tüm durumları kapsamaya çalışmayın.
Farklı tür testler kullanmayı unutmayın.
Örnekleri olabildiğince basit tutun.
Örnekler, sistem kullanıcıları tarafından kolayca anlaşılabilir olmalıdır.
Aletler atölye çalışmalarında önemli bir rol oynamamalıdır.
İşe Odaklanmak
İşe odaklanmak için -
Spesifikasyonu iş amacında tutun.
Spesifikasyonları oluşturmaya ve incelemeye işi dahil edin.
Otomasyon katmanındaki tüm ayrıntıları gizleyin.
Hazır ol
Aşağıdakilere hazırlıklı olun -
Ekip uygulamaları değiştirilse bile faydalar hemen görünmez.
SbE'yi tanıtmak zordur.
Zaman ve yatırım gerektirir.
Otomatik test ücretsiz gelmiyor.
Araçlar
Aletlerin kullanımı Örneklerle Tanımlama için zorunlu değildir, ancak uygulamada birkaç araç mevcuttur. Bir araç kullanılmasa bile Örnekle Tanımlamanın ardından başarılı olan durumlar vardır.
Aşağıdaki araçlar Örneklerle Teknik Özelliklerini destekler -
Cucumber
SpecFlow
Fitnesse
Jbehave
Concordion
Behat
Jasmine
Relish
Speclog