Skip to main content
search

Model Bazlı Test Etme

Modelleme ne demektir?

Modellemeyi kısaca kompleks durum ve olayların basite indirgenmesi olarak tanımlayabiliriz. Bu durum ve olaylar bilimle ilgili olabileceği gibi iş hayatı ve teknoloji ile ilgili de olabilir. Örneğin aşağıda bir fiziksel olayın, uçaktan paraşütle atılan bir kargonun yere düşüş hızının en basit haliyle modellenmesini bulabilirsiniz: 

Bu modele göre kargoya ve paraşüte etki eden kuvvetler en basite indirgenerek; aşağıya doğru bir yerçekimi kuvveti ve yukarıya doğru olan bir sürtünme kuvveti tanımlanmıştır. Bu iki kuvvetin birbirlerine ters etkisi ele alınarak uçaktan atılan kargonun hangi yükseklikten atılırsa yere hangi hangi hızla ulaşacağı modellenmeye çalışılmıştır.

Tanımlanan bu model ardından diğer etkenlerin işin içine dahil edilmesiyle çeşitlendirilip kompleksleştirilebilir. Örneğin rüzgarın hızı, yönü, rüzgarda meydana gelebilecek değişiklikler, paraşütün rüzgarın etkisiyle yön ve şekil değiştirmesi ve bunun düşüş hızına etkisi gibi.

Bilim dünyasından fizik kanunlarını baz alarak verdiğimiz bu örneği diğer alanlarda yapılan modellemelerle genişletmemiz mümkün:

 

  • Finansal modelleme yapılarak şirketlerin kar/zarar, büyüme planlamasının yapılması
  • Uçak, araba, gökdelen modellemeleri yapılarak bu yapıların rüzgar katsayılarının belirlenmesi
  • Satılacak konutların daha bitmeden model maketlerinin yapılarak müşterilere konutlar hakkında bilgi verilmesi

 

Tüm bunların amacı ilgili paydaşlarda kompleks durumlar/olaylar hakkında farkındalık uyandırarak bu olayların üzerinde daha kolay analizlerin yapılmasının sağlanmasıdır.

 

Model Bazlı Test Etme Nedir?

Aynı kompleks durum ve olayların modellenerek basite indirgendiği gibi test edilecek yazılım veya sistem de (Software under test – SUT) modellenerek basite indirgenmekte ve test tasarımları, test koşulları, test senaryoları ve test prosedürleri bu model baz alınarak daha hızlı ve etkili bir şekilde oluşturulabilmektedir. 

Aslında bu adım ISTQB’nin tanımladığı test analizi ve test tasarımı aktiviteleri içerisinde ele alınmaktadır. Bu aktivitelerde test edilecek nesnenin (test object – SUT) öncelikle analiz edilmesi ardından da bu analiz baz alınarak tasarımının oluşturulmasından bahsedilmektedir. Modelleme bu aktivitelerden tam da test tasarımı aktivitesine karşılık gelmektedir. (Bakınız ISTQB Temel Seviye Test Uzmanı müfredatı – Test Süreçleri)

 

Model Bazlı Test Etmenin Faydaları?

Model bazlı test etmenin faydalarını verimlilik ve etkinlik olmak üzere iki ana başlık altında ele alabiliriz:

 

Etkinlik artışı

  • Basite indirgenmiş model kullanılarak paydaşlar arasındaki iletişimin artırılması
  • İş birimlerinin testin karmaşıklığından kurtarılarak yazılıma ve yazılımın risklerine daha iyi odaklanmalarının sağlanması
  • Yazılım daha kodlanmadan risklerin, test koşullarının ve test senaryolarının daha iyi belirlenmesi
  • Kırılgan ve belirsiz test senaryolarının önüne geçilmesi 

 

Verimlilik Artışı

  • Test senaryosundaki test adımlarının en verimli bir şekilde yazılmasına olanak sağlanması
  • Tasarlanan model aracılığıyla “erken test etme” prensibinin hayata geçirilmesi, gereksinimlerin daha iyi anlaşılması
  • Daha önceki modellerde kullanılan öğelerin ve bilgi birikiminin tekrar tekrar kullanılması
  • Test otomasyonunun desteklenmesi
  • Yazılımı test etmek için kullanılan yazılımların (testware) daha kolay kodlanmasının sağlanması
  • Bakım maliyetlerinin düşürülmesi

 

Model Bazlı Test Hayata Geçirilirken Dikkat Edilmesi Gerekenler?

Tüm yazılım test aktivitelerinde ve yazılım projelerinde olduğu gibi Model Bazlı Test projelerinde de beklentilerin objektif ve gerçekçi olması gerekmektedir. Bu kapsamda aşağıdaki fazla beklentilerle karşılaşılabilir:

  • Model bazlı test sayesinde tüm sorunlardan kurtulabileceği yanılgısı,
  • Model bazlı testin sadece bir test otomasyon aracı alınarak yapılabileceği yanılgısı, test analizine ve test tasarımına önem verilmemesi,
  • Tasarlanan modelin her zaman doğru olduğu yanılgısı,
  • Model sayesinde test kapsamının genişlemesi, gereksiz test senaryolarının da test senaryo setine dahil edilmesi  

Örnekler

Aşağıda farklı modelleme teknikleri kullanılarak modellenen test nesnelerini bulabilirsiniz:

 

Karar tablosu 

  

Durum Geçiş Diyagramı

Akış Şeması

Daha fazla bilgi için;

ISTQB İleri Seviye – Test Analisti Müfredatı

Keytorc ISTQB Uluslararası Sertifikalı İleri Seviye – Test Analisti Eğitimi

Kitap – Yazılım Test Teknikleri

Close Menu