Örnek spesifikasyon - Specification by example

Örnekle belirtim ( SBE ), soyut ifadeler yerine gerçekçi örnekler kullanarak gereksinimlerin yakalanmasına ve gösterilmesine dayalı olarak yazılım ürünleri için gereksinimlerin ve iş odaklı işlevsel testlerin tanımlanmasına yönelik işbirlikçi bir yaklaşımdır . Çevik yazılım geliştirme yöntemleri, özellikle davranışa dayalı geliştirme bağlamında uygulanır . Bu yaklaşım, özellikle önemli etki alanına ve organizasyonel karmaşıklığa sahip büyük ölçekli projelerde gereksinimleri ve işlevsel testleri yönetmek için başarılıdır.

Örnekle spesifikasyon, örnek odaklı geliştirme, yürütülebilir gereksinimler, kabul testi odaklı geliştirme (ATDD veya A-TDD), Çevik Kabul Testi, Test Odaklı Gereksinimler (TDR) olarak da bilinir .

Avantajlar

Son derece soyut veya yeni olan yeni kavramların somut örnekler olmadan anlaşılması zor olabilir. Örnekle belirtim, doğru bir anlayış oluşturmayı amaçlamaktadır ve yazılım geliştirmedeki geri bildirim döngülerini önemli ölçüde azaltarak, daha az yeniden çalışma, daha yüksek ürün kalitesi, yazılım değişiklikleri için daha hızlı geri dönüş süresi ve test uzmanları gibi yazılım geliştirmede yer alan çeşitli rollerin faaliyetlerinin daha iyi hizalanmasına yol açar. , analistler ve geliştiriciler.

Tek bir hakikat kaynağı olarak örnekler

Örnek belirlemenin önemli bir yönü, tüm açılardan gerekli değişiklikler hakkında tek bir gerçek kaynağı yaratmaktır . Ne zaman iş analistleri kendi dokümanları üzerinde çalışmak, yazılım geliştiricilerin kendi belgelerini korumak ve test fonksiyonel testler ayrı bir kümesi korumak, yazılım dağıtım etkinliği önemli ölçüde sürekli koordine etmek ve gerçeğin bu farklı sürümleri senkronize ihtiyacı azaltılır. Kısa yinelemeli döngülerde, bu tür koordinasyon genellikle haftalık veya iki haftada bir gereklidir. Örnekle Belirtim ile, farklı roller herkesin anlayışını yakalayan tek bir gerçek kaynağı oluşturmaya katılır. Örnekler, netlik ve kesinlik sağlamak için kullanılır, böylece aynı bilgiler hem belirtim hem de iş odaklı işlevsel test olarak kullanılabilir. İşlevsel boşlukların açıklığa kavuşturulması, eksik veya eksik gereksinimler veya ek testler gibi geliştirme veya teslimat sırasında keşfedilen herhangi bir ek bilgi, bu tek gerçek kaynağına eklenir. İşlevsellik hakkında tek bir gerçek kaynağı olduğu için, teslimat döngüsü içinde bilginin koordinasyonuna, tercüme edilmesine ve yorumlanmasına gerek yoktur.

Gerekli değişikliklere uygulandığında, iyileştirilmiş bir dizi örnek, etkin bir şekilde bir belirtim ve yazılım işlevselliğinin kabulü için iş odaklı bir testtir . Değişiklik uygulandıktan sonra, örneklerle belirtim, mevcut işlevselliği açıklayan bir belge haline gelir. Bu tür belgelerin doğrulanması otomatik olduğundan, sık sık doğrulandıklarında, bu tür belgeler, temel alınan yazılımın iş işlevselliği hakkında güvenilir bir bilgi kaynağıdır. Bu tür belgeler ile hızla güncelliğini yitiren tipik basılı belgeler arasında ayrım yapmak için, örneklerle birlikte eksiksiz bir belirtimler kümesine Yaşayan Belgeler adı verilir.

Anahtar uygulamalar

Spesifikasyonu örnek olarak başarıyla uygulayan ekipler, aşağıdaki süreç modellerini yaygın olarak uygular:

  • Hedeflerden kapsam türetme
  • İşbirliği içinde belirleme - tüm ekip spesifikasyon çalıştayları, daha küçük toplantılar veya telekonferans incelemeleri aracılığıyla
  • Örnekleri kullanarak gereksinimleri açıklama
  • Rafine etme özellikleri
  • Örneklere dayalı testleri otomatikleştirme
  • Testleri kullanarak temel yazılımı sık sık doğrulama
  • Gelecekteki gelişimi desteklemek için spesifikasyonlardan örneklerle bir dokümantasyon sistemi geliştirmek

Spesifikasyonu bir Scrum çerçevesinde örnek olarak uygulayan yazılım ekipleri, işbirlikçi olarak belirleme, örnekleri kullanarak gereksinimleri açıklama ve örnekleri iyileştirme dahil olmak üzere zamanlarının %5-10'unu ürün biriktirme listesini iyileştirmeye harcarlar.

Örnek Eşleme

Örnek Eşleme, konuşmayı yönlendirebilen ve kısa sürede Kabul kriterleri türetebilen basit bir tekniktir. Süreç, öyküleri örnekle belirtim biçiminde belgelenen Kurallara ve Örneklere böler ve BDD alanında yaygın olarak kullanılan bir tekniktir.

uygulanabilirlik

Örnekle belirtim, iş alanı perspektifinden gereksinimlerin anlaşılmasında veya iletilmesinde sorunlara neden olmak için yeterli organizasyonel ve etki alanı karmaşıklığına sahip projeler için geçerlidir. Tamamen teknik problemler için veya temel karmaşıklığın bilgiyi anlama veya iletmede olmadığı durumlarda geçerli değildir. Bu yaklaşımın yatırım bankacılığı, finansal ticaret, sigorta, uçak bileti rezervasyonu, çevrimiçi oyun ve fiyat karşılaştırma gibi alanlarda belgelenmiş kullanımları vardır. Benzer bir yaklaşım, bir nükleer santral simülasyon projesinde de belgelenmiştir.

Paylaşılan örneklere dayalı testler, yazılımları iş perspektifinden sunarken bir ekibi desteklemek için tasarlanmış testler kategorisine en iyi şekilde uyar (bkz. Çevik Test Dörtgenleri) - doğru ürünün oluşturulmasını sağlar. Bir yazılım sistemine tamamen teknik bir perspektiften bakan testlerin (birim testleri, bileşen veya teknik entegrasyon testleri gibi bir ürünün doğru şekilde oluşturulup oluşturulmadığını değerlendiren testler) veya bir ürünü geliştirildikten sonra değerlendiren testlerin yerini almazlar. (güvenlik sızma testleri gibi).

Tarih

Yazılım projelerinde gerçek, gereksinimler ve otomatik testlerin tek bir kaynağı olarak gerçekçi örneklerin en erken belgelenmiş kullanımı, Ward Cunningham tarafından 1996'da A Pattern Language of Competitive Development adlı makalede açıklanan WyCash+ projesidir . tarafından Martin Fowler 2004 yılında.

Örnekle Belirtme, 1997'de önerilen Extreme Programming'in Müşteri Testi uygulamasının ve 1989'da Weinberg ve Gause tarafından açıklanan gereksinimler olarak kara kutu testleri fikrini kullanan, 2004'ten itibaren Etki Alanına dayalı tasarımdan Ubiquitous Language fikrinin bir evrimidir .

Otomasyon

Spesifikasyonun büyük ölçekli projelerde örnek olarak başarılı bir şekilde uygulanması, yazılım işlevselliğinin çok sayıda örneğe (testlere) karşı sık sık doğrulanmasını gerektirir. Pratikte bu, örneklere dayalı testlerin otomatikleştirilmesini gerektirir. Yaygın bir yaklaşım, testleri otomatikleştirmek, ancak örnekleri teknik ve teknik olmayan ekip üyeleri için okunabilir ve erişilebilir bir biçimde tutmak ve örnekleri tek bir gerçek kaynağı olarak tutmaktır. Bu süreç, spesifikasyon ve otomasyon katmanı olmak üzere iki yöne ayrılan testlerle çalışan bir test otomasyon araçları sınıfı tarafından desteklenir. Genellikle düz metin veya HTML biçiminde olan ve örnekleri ve yardımcı açıklamaları içeren bir testin belirtimi. Otomasyon katmanı, örneği test edilen bir yazılım sistemine bağlar. Bu tür araçlara örnekler:

Referanslar

Dış bağlantılar