state transition testing technique
Durum Geçiş Testi nedir ve Durum Geçiş Şeması Nasıl Kullanılır?
Son makalemizde ' Neden ve Etki grafiği ’Test senaryosu yazma tekniği. Bugün bir sonraki dinamik test senaryosu yazma yöntemine geçelim - Durum Geçiş tekniği.
Bu belge, bu test konseptini bir bütün olarak FSM olmayan daha büyük uygulamalara genişletmeyi araştırmaktadır, ancak bileşenlerinden bazıları benzersiz 'durum bilgisi' olma özelliğini ve geçiş kurallarını benimseyerek birçok avantajla sonuçlanmaktadır.
Durum Geçiş Testi
Durum Geçiş testi bir Kara kutu test tekniği 'Sonlu Durum Makineleri' ni test etmek için uygulanabilir.
Bir 'Sonlu Durum Makinesi (FSM)', girdilere veya uyaranlara bağlı olarak farklı ayrı durumlarda ('hazır', 'hazır değil', 'açık', 'kapalı',… gibi) olacak bir sistemdir.
Sistemin sona erdiği ayrık durumlar, sistemin geçiş kurallarına bağlıdır. Yani, bir sistem aynı girdi için daha önceki durumuna bağlı olarak farklı bir çıktı veriyorsa, sonlu durum sistemidir.
Ayrıca her işlem sistemde test ediliyorsa buna “0 anahtar” kapsamı denir. Test, 2 çift geçerli işlemi kapsıyorsa, bu '1 anahtar' kapsamındadır ve bu böyle devam eder.
Ne öğreneceksin:
Durum Geçiş Testi Tekniği Nedir?
Durum geçiş tekniği, sistem sonlu sayıda durum açısından tanımlandığında ve durumlar arasındaki geçişler sistemin kuralları tarafından yönetildiğinde kullanılan dinamik bir test tekniğidir.
Veya başka bir deyişle, bir sistemin özellikleri birbirine dönüşen durumlar olarak temsil edildiğinde bu teknik kullanılır. Dönüşümler, yazılımın kurallarına göre belirlenir. Resimli gösterim şu şekilde gösterilebilir:
İşte burada bir varlığın geçişler Durum 1'den Durum 2'ye, bazılarından dolayı giriş bir duruma yol açan Etkinlik ve sonuçlanır aksiyon ve sonunda verir çıktı .
Bir örnekle açıklamak gerekirse:
Bir ATM'yi ziyaret edip 1000 $ çekiyorsunuz. Paranı al. Şimdi bakiyeniz tükeniyor ve tam olarak aynı 1000 $ çekme talebinde bulunuyorsunuz. Bu kez ATM, yetersiz bakiye nedeniyle size parayı vermeyi reddediyor. İşte burada geçiş neden olan durum değişikliği erken çekilme
Durum Geçiş Testi Tanımı
Durum Geçişinin ne olduğunu anladıktan sonra, şimdi Durum Geçiş testi için daha anlamlı bir tanıma ulaşabiliriz. Dolayısıyla, test edenin AUT'nin (Test Altındaki Uygulama) davranışını bir sırayla verilen çeşitli giriş koşullarına karşı incelemesi gereken bir tür kara kutu testidir.
Sistemin davranışı hem pozitif hem de negatif test değerleri için kaydedilir.
Durum Geçiş Testi ne zaman kullanılır?
Durum Geçiş testi aşağıdaki durumlarda kullanılabilir:
java nasıl kuyruk yapılır
- Test edilen uygulama, kapsadığı farklı durumlara ve geçişlere sahip gerçek zamanlı bir sistem olduğunda.
- Uygulama geçmişin olaylarına / değerlerine / koşullarına bağlı olduğunda.
- Olayların sırasının test edilmesi gerektiğinde.
- Uygulamanın sınırlı bir girdi değerleri kümesine karşı test edilmesi gerektiğinde.
Durum Geçiş Testi ne zaman kullanılmaz?
Aşağıdaki durumlarda Durum Geçiş testine güvenmemelisiniz:
- Sıralı giriş kombinasyonları için test gerekli olmadığında.
- Uygulamanın farklı işlevlerinin test edilmesi gerektiğinde (daha çok Keşif testi gibi).
Yazılım Testinde Durum Geçiş Testi Örneği
Pratik senaryoda, test uzmanlarına normal olarak Durum Geçiş diyagramları verilir ve bunu yorumlamamız gerekir.
Bu diyagramlar, İş Analistleri veya bir paydaş tarafından verilir ve bu diyagramları test durumlarımızı belirlemek için kullanırız.
Aşağıdaki durumu ele alalım:
Yazılım adı - Manage_display_changes
Özellikler - Yazılım, bir zaman görüntüleme cihazının ekran modunu değiştirmek için giriş isteklerine yanıt verir.
Görüntüleme modu, dört değerden birine ayarlanabilir:
- Saat veya tarihi görüntülemeye karşılık gelen iki.
- Diğer ikisi saati veya tarihi değiştirirken.
Farklı durumlar aşağıdaki gibidir:
- Değiştirme Modu (CM): Bunun etkinleştirilmesi, ekran modunun 'görüntüleme zamanı (T)' ve 'görüntüleme tarihi (D)' arasında hareket etmesine neden olacaktır.
- Sıfırla (R): Ekran modu T veya D olarak ayarlanmışsa, bir 'sıfırlama' ekran modunun 'zamanı değiştir (AT)' veya 'tarihi değiştir (AD)' modlarına ayarlanmasına neden olacaktır.
- Zaman Ayarı (TS): Bunun etkinleştirilmesi, görüntüleme modunun AT'den T'ye dönmesine neden olacaktır.
- Tarih Ayarı (DS): Bunun etkinleştirilmesi, ekran modunun AD'den D'ye dönmesine neden olacaktır.
Durum Geçiş diyagramı
Şimdi bunu yorumlamak için harekete geçelim:
Buraya:
# 1) Çeşitli Durumlar:
- Görüntüleme Süresi (S1),
- Saati Değiştir (S3),
- Görüntülenme Tarihi (S2) ve
- Tarihi Değiştir (S4).
# 2) Çeşitli Girişler:
- Modu Değiştir (CM),
- Sıfırla (R),
- Zaman Ayarı (TS),
- Tarih Ayarı (DS).
# 3) Çeşitli Çıkışlar:
- Değişim Zamanı (AT),
- Görüntüleme Süresi (T),
- Görüntülenme Tarihi (D),
- Tarihi Değiştir (AD).
# 4) Değişen Durumlar:
- Görüntüleme Süresi (S1),
- Saati Değiştir (S3),
- Görüntülenme Tarihi (S2) ve
- Tarihi Değiştir (S4).
Aşama 1: Tüm başlangıç durumlarını yazın. Bunun için bir seferde bir durum alın ve ondan kaç tane ok çıktığını görün.
- State S1 için, ondan çıkan iki ok var. Bir ok S3'ü ve bir başka ok S2'yi belirtecek.
- Durum S2 için - 2 ok vardır. Biri S1 Durumuna, diğeri S4'e gidiyor
- Durum S3 için - Bundan sadece 1 ok çıkıyor, S1 durumuna gidiyor
- State S4 için - Bundan sadece 1 ok çıkıyor, S2 durumuna gidiyor
Şunu masamıza koyalım:
S1 ve S2 durumu için çıkan iki ok olduğu için bunu iki kez yazdık.
Adım 2: Her durum için, son geçiş durumlarını yazın.
- Durum S1 için - Nihai durumlar S2 ve S3'tür
- Durum S2 için - Son durumlar S1 ve S4'tür
- Durum S3 için - Son durum S1'dir
- Eyalet S4 için - Son Durum S2'dir
Bunu tabloya Çıktı / Sonuç durumu olarak koyun.
Aşama 3: Her bir başlangıç durumu ve karşılık gelen bitiş durumu için, giriş ve çıkış koşullarını not edin
- S1 durumunun S2 durumuna gitmesi için, giriş Değiştirme Modudur (CM) ve çıkış aşağıda gösterilen Gösterim Tarihidir (D):
Benzer şekilde, tüm durumlar için Giriş koşullarını ve çıktılarını aşağıdaki gibi yazın:
4. Adım:
Şimdi aşağıda gösterilen her test için test senaryosu kimliğini ekleyin:
Şimdi bunu resmi test senaryolarına dönüştürelim:
Bu şekilde, kalan tüm test durumları türetilebilir. Diğerini varsayıyorum test senaryolarının nitelikleri ön koşullar, önem derecesi, öncelik, ortam, yapı vb. gibi test senaryosuna da dahil edilir.
Adımları bir kez daha özetlemek gerekirse:
- Başlangıç durumundan çıkan çizgileri / okları temel alarak başlangıç durumlarını ve son durumlarını belirleyin.
- Her bir başlangıç durumu için, giriş koşulunu ve çıktı sonucunu bulun
- Her seti ayrı bir test senaryosu olarak işaretleyin.
Durum Geçiş Tekniğine Daha Fazla Örnek
Daha büyük yazılım uygulamalarında Durum Geçiş Testi tekniğinin bir örneği daha.
Açıklama:
' Durumsal İşlevsel Test ' yaklaşımı, bir Sonlu Durum Makinesi (FSM) özelliğiyle uygulamanın belirli parçalarını veya bileşenlerini test etmek için kullanılabilir.
Uygulamadaki Adımlar:
# 1) 'Durum Bilgili İşlevsel Test' uygulamasının ilk adımı, FSM olarak kategorize edilebilen uygulamanın farklı bileşenlerini / bölümlerini belirlemektir. Bu FSM'lerin her biri için girişler, durumlar ve çıkışlar dikkatlice izlenir.
#iki) Bir sonraki adım, bu FSM'ler için geçiş kurallarına, girdilere, çıktılara ve geçiş durumlarına dayalı test senaryoları geliştirmek olacaktır.
# 3) Üçüncü adım, uygulamanın uçtan uca doğrulanması için bu bileşenlerin testini diğer arayüz bileşenleri ile entegre etmek olacaktır.
Bu, evin mimarisinin onaylanması, arsa ve evin tescili, müteahhit seçimi gibi çeşitli uygulama bileşenleri ile bir evin inşaatını takip eden “Konut Projesi” adlı bir uygulama örneği ile açıklanabilir. , konut kredisinin onaylanması vb.
Örneğin,
“Konut Projesi” uygulamasının bir FSM bileşenini test etmeyi ele alacağız: Konut Kredisinin Onayı.
Konut Kredisi Onay Başvurusu (HLA)
HLA başvurusu, kredi başvurusunu işleme koyan bağımsız bir Kredi İşleme Kullanıcısı tarafından yürütülecektir. Başvurunun işlenmesindeki farklı adımlar aşağıda detaylandırılmıştır:
1.1.1 1. Adım: Belgelerin Toplanması
İlk adım, aşağıdaki tabloda belirtildiği gibi, kredi başvurusu için ilgili belgelerin toplanmasıdır. Başarılı bir başvuru için 'koşullar' dır. Başvuru sahibi gerekli belgeleri toplayarak konut kredisine başvurur.
Kredi İşleme Kullanıcısı, belgelerin alındığını kabul eder ve Kredi Başvurusunun durumunu (yani HLA Uygulaması bileşeninin durumu) 'Uygulandı' durumuna geçirir.
Tablo 1: Belgelerin Listesi
1.1.2 2. Adım: Kredi Değerlendirmesi
Bu aşamada, kredi veren, kredi gereksinimlerini karşılayıp karşılamadığını belirlemek için Kredi Başvurusunu değerlendirir. Destekleyici belgeler şu anda doğrulanmaktadır.
Tablo 2: Belgelerin Kritikliği
Değerlendirme için gerekli belgeler, yani bu aşamada doğrulanması gereken 'koşullar' valide edilir. Her koşulun kendisine eklenmiş bir önemi vardır (yukarıdaki tabloda 'Y' olarak belirtilmiştir). Gerekli tüm kritik koşullar karşılandığında, uygulama 'Onaylandı' durumuna geçer - yani HLA uygulama bileşeni 'Onaylandı' durumundadır.
Dikkat edilecek nokta:
# 1) Bu ilke, sistemin test koşullarına ve 'Durum' tanımlarına bir yapı ve tarafsızlık getirir. .
Ayrıca, sistemin bu 'Onaylandı' durumuna ulaşması için sistemin doğrulanmasına yönelik tüm 'koşullar' kritik değildir. Yukarıdaki tabloda, uygulamanın 'Onaylandı' durumuna ulaşması için 4 koşul 'Kritik Değil' olarak işaretlenmiştir.
#iki) Her eyalet için gerekli olan kuralların riskine veya kritikliğine bağlı olarak doğrulama sayısı en uygun şekilde azaltılabilir. Bu, testin yürütülmesi için gereken süreyi önemli ölçüde azaltacak ve aynı zamanda Test Kalitesinden ödün vermeyecektir.
# 3) Bu sadece tek tek bileşenleri test etmek için değil, aynı zamanda sistemi uçtan uca test etmek için de yararlıdır.
# 4) Ayrıca, Regresyon test paketleri oluştururken çok kullanışlıdır.
Yani, bu aşamada, 0 anahtarlı bir test türüdür. Ancak onayın sonraki aşamaları, bu aşama için 1 anahtarlı veya 2 anahtarlı doğrulama türleri olabilir.
Örneğin, “Evlilik Belgesi” bu aşamada çok alakalı olmayabilir, ancak onaylamanın sonraki aşamalarında başvuru sahibinin EMI'yi ödeme riski düşünüldüğünde, evlilik cüzdanı uygun hale gelebilir - yani, eğer eş de çalışıyorsa riski azaltır, kullanılmazsa riski artırır.
# 5) Yukarıdaki ilke, o aşamada bileşenin gereksinimine bağlı olarak test koşullarını genişletmek için kullanılabilir.
1.1.3 Adım 3: Koşullu Onay
Uygulamanın mevcut durumu 'Onaylandı'. Borç veren, kredi sürecinin ilerlemesi için 'Şartlı Onay' verecektir. HLA başvurusunu 'Onaylandı' durumuna taşımak için daha fazla doğrulama gereklidir.
1.1.4 4. Adım: Onay
Bu aşamada kritik doğrulamalar yapılır:
Windows 10 için ücretsiz bilgisayar onarım yazılımı
- Borç Verenler Mortgage Sigortası (LMI) tarafından yapılan değerlendirme: Bu, mülkün gerçekliği için 2 anahtarlı veya daha fazla doğrulamayı içerecektir.
- Borç Veren, 'Onay' aşamasında verilmeyen bilgileri talep edebilir.
Yukarıdaki koşullar yerine getirildiğinde, uygulama 'Onaylandı' durumuna geçer. Onay sürecinin nihai yetkisi, daha fazla ayrıntı isteyerek Kredi başvurusunda bulunan kişinin güvenilirliğini çapraz kontrol edebilir veya Başvuru Sahibinin diğer belgelerinin kesin olup olmadığını sormayabilir. Yani, geçerliliği kanıtlamak için ana uygulamanın farklı bileşenlerinden daha fazla girdi gerekli olacaktır. .
# 6) Diğer bir deyişle, uygulamanın diğer bileşenlerinden bileşene girdi koşullarına bağlı olarak farklı bir duruma geçiş için daha fazla doğrulama gerekebilir (veya azaltılabilir).
Aşağıdaki şema onay sürecini göstermektedir.
Şekil 1: Kredi Onay Süreci
Riskler ve Zorluklar
- Büyük uygulamalar için, FSM'ler ve normal bileşenler olarak sınıflandırmayı etkinleştirmek için uygulamayı farklı mantıksal bileşenlere ayırmak için derin uygulama bilgisi gereklidir. Bu, KOBİ'lerden maliyetli zaman gerektirebilir.
- Tüm uygulamalar bu tür bir FSM sınıflandırmasının fizibilitesine sahip olmayacaktır.
- FSM bileşenleri uygulamadaki normal bileşenlerle etkileşime girdiğinden, farklı bileşenlerden FSM'lere gelen girdiler dikkatli planlama ve yürütme gerektirir.
Durum Geçiş testinin avantajları
- Bu teknik kapsamında, sistem davranışının resimli veya tablo şeklinde gösterimini kullanarak, test uzmanı uygulama tasarımına aşina olur ve testleri etkili ve verimli bir şekilde kaplamayı ve tasarlamayı kolay hisseder.
- Sistemin planlanmamış veya geçersiz durumları da bu teknik kullanılarak kapsanmaktadır.
- Durum Geçiş diyagramını kullanarak, tüm koşulların kapsanıp kapsanmadığını doğrulamak kolaydır.
Durum Geçiş testinin dezavantajları
- Bu teknik, sonsuz durumlu sistemler için kullanılamaz.
- Büyük ve karmaşık sistemler için tüm olası durumları tanımlamak oldukça zahmetli bir iştir.
Sonuç
Durum Geçiş testi, farklı sistem geçişlerinin sonlu durum sistemleri için test edilmesi gerektiğinde yararlı bir yaklaşımdır.
Bir uygulamanın 'Durumsal İşlevsel Test' konseptiyle test edilmesi, Test Kuruluşlarına karmaşık uygulamaları test etmek için benzersiz bir Test Yaklaşımı sağlayabilir ve bu da test kapsamından ödün vermeden test yürütme üretkenliğini artırır.
Durum Geçiş testi, karmaşık uygulamaların test edilmesi için benzersiz bir test yaklaşımıdır ve test kapsamından ödün vermeden test yürütme verimliliğini artırır.
Bu tekniğin sınırlaması, test edilen sistem yalnızca sonlu durumlara sahip olana kadar ve olmadıkça kullanılamamasıdır.
Önerilen Kaynaklar
- Kusur Temelli Test Tekniği Nedir?
- Ortogonal Dizi Test Tekniği (OATS) Nedir?
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- Karşılaştırma Testi Nedir (Örneklerle Öğrenin)
- Mutasyon Testi Nedir: Örneklerle Eğitim
- Yazılım Testinde Dayanıklılık Testi Nedir (Örnekler)
- Uçtan Uca Test Nedir: Örneklerle E2E Test Çerçevesi
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)