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

Model Tabanlı Test

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:

  1. Ç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.
  2. Ç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.

Sonlu Durum Makineleri

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.

Durum Grafikleri

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

Birleştirilmiş Modelleme 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 –

Yazılım Testinin Gelişimi