Model Tabanlı Test Nedir?
Model Tabanlı Test Nedir?
Model tabanlı test, test edilen yazılımın çalışma zamanı davranışının, bir model tarafından yapılan tahminlere göre kontrol edildiği bir yazılım test tekniğidir. Model, bir sistemin davranışının açıklamasıdır. Davranış, girdi dizileri, eylemler, koşullar, çıktı ve girdiden çıktıya veri akışı açısından tanımlanabilir. Pratik olarak anlaşılır olmalı ve tekrar kullanılabilir olmalıdır; paylaşılabilir, test edilen sistemin kesin bir açıklamasına sahip olmalıdır.
Çok sayıda model mevcuttur ve sistem davranışının farklı yönlerini açıklar. Modelin örnekleri şunlardır:
- Veri akışı
- Kontrol akışı
- Bağımlılık Grafikleri
- Karar Tabloları
- Durum geçiş makineleri
Model Tabanlı Test, bir sistemin (bir model tarafından belirlenen) bir eyleme yanıt olarak nasıl davrandığını açıklar. Tedarik eylemi yapın ve sistemin beklentiye göre yanıt verip vermediğine bakın.
Bir sistemi doğrulamak için hafif ve resmi bir yöntemdir. Bu test hem donanım hem de yazılım testine uygulanabilir.
Model Tabanlı Test Örneği
Yukarıdaki model, not defterine şiir yazmanın basitleştirilmiş yaklaşımını ve her adımla ilgili olası eylemleri açıklamaktadır. Her bir işlem için (Başlama, Şiir girme, Kaydetme gibi), Test Durumu üretilebilir ve çıktı doğrulanabilir.
MBT Türleri
İki tür Model tabanlı test çerçevesi vardır:
- Çevrimdışı / a priori: Çalıştırılmadan önce Test Paketlerinin oluşturulması. Bir test paketi, test senaryolarının bir koleksiyonundan başka bir şey değildir.
- Çevrimiçi / anında: Test yürütme sırasında Test Paketlerinin Oluşturulması
Testlerde Farklı Modeller
MBT'yi anlamak için aşağıda açıklanan modellerden bazılarını anlamak gerekir. Bunları tek tek inceleyelim:
Sonlu Durum Makineleri
Bu model, test uzmanlarının seçilen girdiye bağlı olarak sonucu değerlendirmesine yardımcı olur. Girişlerin çeşitli kombinasyonları sistemin karşılık gelen durumuyla sonuçlanabilir.
Sistemin, test uzmanları tarafından verilen bir dizi girdi tarafından yönetilen belirli bir durumu ve mevcut durumu olacaktır.
Örneği düşünün-
Çalışanların uygulamaya giriş yapmasını sağlayan bir sistem mevcuttur. Artık çalışanın mevcut durumu “Dışarıda” olup, sisteme giriş yaptığında “Girişte” olmuştur. “İçinde” durumunda, bir çalışan sistemdeki belgeleri görüntüleyebilir, yazdırabilir ve tarayabilir.
Durum Grafikleri
Sonlu durum makinesinin bir uzantısıdır ve karmaşık ve gerçek zamanlı sistemler için kullanılabilir. Durum grafikleri sistemin çeşitli davranışlarını tanımlamak için kullanılır. Belirli sayıda durumu vardır. Sistemin davranışı analiz edilir ve her durum için olaylar biçiminde gösterilir.
Örneğin -
Kusurlar, kusur yönetimi aracında Yeni durumuyla belirtilir. Geliştiriciler tarafından düzeltildikten sonra Düzeltildi durumuna değiştirilmesi gerekir. Bir kusur düzeltilmezse durumu Yeniden Aç olarak değiştirin. Durum çizelgeleri, her durum için bir olayı çağrıştıracak şekilde tasarlanmalıdır.
Birleşik Modelleme Dili (UML)
Birleştirilmiş Modelleme Dili (UML) standartlaştırılmış genel amaçlı bir modelleme dilidir. UML, sistemin çok karmaşık davranışını tanımlayabilen görsel modeller oluşturmak için bir dizi grafik gösterim tekniği içerir.
UML'de aşağıdaki gibi gösterimler vardır:
- Aktiviteler
- Aktörler
- İş süreci
- Bileşenler
- Programlama dili
Model Tabanlı Testin Zorlukları
MBT'nin her organizasyonda konuşlandırılması açıkça yüksek miktarda yatırım ve çaba gerektirir. MBT'nin dezavantajları şunlardır: Yazılım Mühendisliği.
- Test kullanıcılarında aranan gerekli beceriler
- Öğrenme eğrisi süresi daha fazla olacak
- Modelin kendisini anlamak zor
Model Testinin Avantajları
MBT’nin faydaları şunlardır:
- Kolay test senaryosu/ürün bakımı
- Maliyette Azalma
- Geliştirilmiş Test Kapsamı
- N sayıda makinede farklı testler gerçekleştirebilir
- Erken kusur tespiti
- Kusur sayısında artış
- Zaman tasarrufu
- Geliştirilmiş test uzmanı iş memnuniyeti
Sonuç
Test uzmanları, testler sırasında yine de zihinsel modeller oluştururlar. Bu zihinsel modeller kağıt üzerinde modellere dönüştürülebilir. Bu, test uzmanlarının okunabilirlik ve yeniden kullanılabilirlik elde etmesine yardımcı olur.
Model tabanlı test, yeni bir yaklaşımdır. yazılım testi. Yazılım Testinin gelişimi aşağıda gösterilmiştir –