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
  • Gereksinimler nettir ve işlevsel boşluklar yoktur.

  • Geliştiriciler, aslında spesifikasyonları okuyun.

Geliştirici
  • Geliştiriciler neyin geliştirildiğini daha iyi anlar.

  • Doğru geliştirilmiş spesifikasyonlar sayılarak geliştirme ilerlemesi daha iyi izlenir.

Test cihazı
  • Testçiler neyin test edildiğini daha iyi anlar.

  • Test uzmanları baştan itibaren dahil olurlar ve tasarımda rol alırlar.

  • Test uzmanları, kusur tespiti yerine kusur önleme için çalışır.

Herkes
  • Hataları baştan tespit ederek zamandan tasarruf edilir.

  • Başlangıçtan itibaren kaliteli bir ürün üretilir.

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
  • Birçok varsayım

  • Yanlış bir şey inşa etmek

  • Yanlış şeyi test etmek

  • Kod bittiğinde habersiz

Kod bittiğinde habersiz
  • Testleri sürdürmek zor

  • Spesifikasyonu anlamak zor

  • İşletme temsilcilerinden ilgi kaybı

Çok ayrıntılı veya çok kullanıcı arayüzü merkezli örnekler
  • Testleri sürdürmek zor

  • Özellikleri anlamak zor

  • İşletme temsilcilerinden ilgi kaybı

Küçük bir çaba gerekli
  • Takımlar başarısız olduklarını ve erken hayal kırıklığına uğradıklarını düşünüyor

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