what is incremental testing
Bu makalenin yardımıyla, önemli Entegrasyon Yaklaşımlarından biri olan Artımlı Testi ele alacağım.
Bu bölümün sonunda, izleyiciler aşağıdaki konularda adil bir bilgiye sahip olacaklar:
- Artımlı Test nedir?
- Amacı
- Metodolojiler
- Avantajlar
- Dezavantajlar
Ne öğreneceksin:
- Artımlı Test Nedir
Artımlı Test Nedir
Artımlı Entegrasyon Testi olarak da bilinen Artımlı Test, Entegrasyon Testinin yaklaşımlarından biridir ve temel kavramlarını içerir.
Modül ve Entegrasyonu birleştiren bir test gibidir. test stratejisi .
Bu testte, her modülü birim test aşamasında ayrı ayrı test ediyoruz ve ardından modüller aşamalı olarak entegre ediliyor ve modüller arasında sorunsuz bir arayüz ve etkileşim sağlamak için test ediliyor.
Bu yaklaşımda, tüm sistemi bir defada entegre etmek ve ardından son ürün üzerinde test yapmak yerine, her modül aşamalı olarak birleştirilir, yani tek tek tüm modüller veya bileşenler gerekli uygulamayı yapmak için mantıksal olarak eklenene kadar birleştirilir. Entegre modüller, modüller arasında başarılı entegrasyon ve veri akışı sağlamak için bir grup olarak test edilir.
Entegrasyon testinde olduğu gibi, bu testi yapmanın birincil odak noktası arayüz, entegre bağlantılar ve modüller arasındaki bilgi akışını kontrol etmektir. Bu işlem, modüller birleştirilene ve başarıyla test edilene kadar tekrarlanır.
Misal
Bu kavramı bir örnekle anlayalım:
Sistem veya yazılım uygulaması aşağıdaki Modüllerden oluşur:
Artımlı Entegrasyon testi yaklaşımı
- Her Modül, yani M1, M2, M3 vb. Birim testinin bir parçası olarak ayrı ayrı test edilir.
- Modüller artımlı olarak, yani tek tek birleştirilir ve başarılı etkileşim için test edilir
- Şekil 2'de, Modül M1 ve Modül M2 birleştirilir ve test edilir
- Şekil 3'te, Modül M3 eklenir ve test edilir
- Şekil 4'te, Modül M4 eklenir ve her şeyin birlikte başarılı bir şekilde çalıştığından emin olmak için test yapılır.
- Modüllerin geri kalanı da her adımda aşamalı olarak eklenir ve başarılı entegrasyon için test edilir
İncir. 2
Şekil 3
ağ güvenlik anahtarı, wifi şifresiyle aynı mı
Şekil 4
Artımlı Testin Amacı
- Entegrasyondan sonra farklı modüllerin birlikte başarılı bir şekilde çalışmasını sağlamak için
- Hataları daha önce ve her aşamada belirleyin. Bu, geliştiricilere sorunun nerede olduğunu belirlemede bir avantaj sağlar. Örneğin M1 ve M2 entegre edildikten sonra test başarılıysa, ancak M3 eklendiğinde test başarısız olur; bu, geliştiricinin sorunu ayırmasına yardımcı olacaktır
- Sorunlar erken aşamada çok fazla yeniden işleme gerekmeden ve daha az maliyetle çözülebilir
Artımlı Entegrasyon Test Metodolojileri
Bu konuya başlamadan önce, hakkında kısa bir giriş yapmak istiyorum. Saplamalar ve sürücüler çünkü bu terimleri sık sık kullanacağız.
Saplamalar ve sürücüler, Entegrasyonda kullanılan sözde kod veya sahte koddur veya bileşen testi bir veya daha fazla modül geliştirilmediğinde, ancak başka bir modülü test etmek gerektiğinde.
Taslaklar Yukarıdan aşağıya test yaklaşımında kullanılır ve 'programlar' olarak bilinir. Stub'lar, mevcut olmayan veya geliştirilmeyen alt kol modülleri arasındaki arabirimi simüle etmeye yardımcı olur.
Sürücüler Aşağıdan yukarıya test yaklaşımında kullanılır ve 'çağrı programları' olarak bilinir. Sürücüler, geliştirilmemiş veya mevcut olmayan üst düzey modüller arasındaki arabirimi simüle etmeye yardımcı olur.
Bazılarımızın aklına gelebilecek bir soru, teste başlamadan önce saplama / sürücü kullanmak yerine neden tüm uygulama modüllerinin geliştirilmesini beklemiyoruz?
Basit cevap, testçiler tüm modüller geliştirilinceye kadar boşta kalacağından proje yürütme süresini uzatmasıdır. Ayrıca bu, kusurun kök analizini zorlaştırır. Bu tür test yaklaşımı, Big-Bang Entegrasyon testi olarak bilinir.
Artık Stub'ları ve sürücüleri ele aldığımıza göre, şimdi Farklı Artımlı Test metodolojileri:
# 1) Yukarıdan Aşağı
Adından da anlaşılacağı gibi, test, yukarıdan aşağıya, yani merkezi modülden alt modüle doğru gerçekleşir. İlk olarak uygulamanın üst katmanını çerçeveleyen modüller test edilir.
Bu yaklaşım, test edilen uygulamanın yapısal akışını takip eder. Kullanılamayan veya geliştirilmemiş modüller veya bileşenler, saplamalarla değiştirilir.
Bunu bir örnekle anlayalım:
- Modül : Web Sitesi Giriş aka L
- Modül : Sipariş aka O
- Modül Sipariş Özeti diğer adıyla OS (Henüz geliştirilmemiştir)
- Modül : Ödeme aka P
- Modül Nakit Ödeme aka CP
- Modül Borç / Alacak Ödemesi aka DP (Henüz geliştirilmedi)
- Module Wallet Payment aka WP (Henüz geliştirilmedi)
- Modül: Raporlama aka R (Henüz geliştirilmedi)
Yukarıdan aşağı Artımlı Entegrasyon Testi Yaklaşımı
Aşağıdaki test senaryoları türetilecektir:
Test Case1: Modül L ve Modül O entegre edilecek ve test edilecektir
Test Case2: Modül L, O ve P entegre edilecek ve test edilecektir
Test Case3: Modül L, O, P ve R entegre edilecek ve test edilecektir.
Ve böylece diğer test durumları türetilir.
Bir katmandaki tüm modüllerin ilk olarak entegre edildiği ve test edildiği bu tür testler, 'önce genişlik' olarak bilinir. Diğer bir kategori 'önce derinlik' dir.
'Önce derinlik' için aşağıdaki test senaryoları türetilecektir:
Test Case1: Modül L ve Modül O entegre edilecek ve test edilecektir
Test Case2: Modül L, O ve OS entegre edilecek ve test edilecektir
Test Case3: Modül L, O, OS, P entegre edilecek ve test edilecektir
Test Case4: Modül L, O, OS, P, CP entegre edilecek ve test edilecektir
Ve böylece diğer test durumları türetilir.
Yukarıdan Aşağıya Metodolojinin Değerleri
- Mimari kusurların erken teşhisi
- İlk aşamalarda bir bütün olarak bir uygulamanın çalışmasını ana hatlarıyla belirtir ve tasarım kusurlarının erken açıklanmasına yardımcı olur.
- Ana kontrol noktaları erken test edilir
Yukarıdan Aşağıya Metodolojinin Zararları
- Önemli modüller döngünün sonlarında test edilir
- Test koşullarını yazmak çok zor
- Saplama, ilgili Modülün mükemmel bir uygulaması değildir. Sadece iki modül arasındaki veri akışını simüle eder
# 2) Aşağıdan yukarıya
Bu yaklaşımda, test aşağıdan yukarıya doğru gerçekleşir, yani, önce alt katmandaki modüller entegre edilir ve test edilir ve ardından, biz yukarı çıktıkça sırayla diğer modüller entegre edilir. Kullanılamayan veya geliştirilmeyen modüller sürücülerle değiştirilir.
Daha iyi anlamak için aşağıda belirtilen bir örneğe bakalım:
Modüller Sıralaması, İşaretler, Yüzde ve Spor Sınıfı henüz geliştirilmemiştir, bu nedenle bunlar ilgili Sürücüyle değiştirilecektir:
Aşağıdan yukarıya Artımlı Entegrasyon testi yaklaşımı
Aşağıdaki test senaryoları türetilecektir:
Test Case1: Pratik ve Teori modülünün birim testi
Test Case2: Modül Markalarının-Pratik-teorisinin entegrasyonu ve test edilmesi
Test Case3 : Modüllerin Yüzde İşaretleri-Pratik-Teorisinin entegrasyonu ve test edilmesi
Test Case4: Module Sports Grade için birim testi
Test Case5: Modüllerin Rank-Sports Grade-Percentage-Marks-Practical-Theory entegrasyonu ve test edilmesi
Aşağıdan Yukarı Metodolojinin Değerleri
- Bu metodoloji, aşağıdan yukarıya tasarım modelinin kullanıldığı uygulamalar için çok kullanışlıdır
- Aşağıdan yukarıya yaklaşımda test koşulları oluşturmak daha kolaydır
- Hiyerarşinin en alt seviyesinde test etmeye başlamak, kritik modüllerin veya işlevselliğin erken bir aşamada test edilmesi anlamına gelir. Bu, hataların erken keşfedilmesine yardımcı olur
- Arayüz hataları erken aşamada tespit edilir
Aşağıdan Yukarı Metodolojinin faydaları
- Sürücüleri yazmak saplamadan daha zordur
- Tasarım hataları daha sonraki aşamada yakalanır
- Bu yaklaşımda, son modül inşa edilene kadar çalışan bir uygulamamız yok
- Sürücü, ilgili Modülün tam bir uygulaması değildir. Sadece iki modül arasındaki veri akışını simüle eder.
# 3) Sandviç Testi
Bu yaklaşım, yukarıdan aşağıya ve aşağıdan yukarıya metodolojinin bir karışımıdır. Stub ve sürücüler eksik veya geliştirilmemiş modüller için kullanılır.
Test Yaklaşımı
- Aşağıdan yukarıya ve yukarıdan aşağıya testlerin yapıldığı bir orta katman tanımlanır. Bu orta katman aynı zamanda hedef katman olarak da bilinir
- Hedef katman, Sezgisel yaklaşıma göre tanımlanır, yani Stub'ların ve sürücülerin minimum kullanımına izin veren bir katman seçin
- Yukarıdan aşağıya test, orta katmandan başlar ve aşağıya, alt düzey modüllere doğru ilerler. Orta katmanın altındaki bu katman, Alt katman olarak bilinir.
- Aşağıdan yukarıya test ayrıca orta katmandan başlar ve üst katman modüllerine doğru ilerler. Orta katmanın üzerindeki bu katman, Üst katman olarak bilinir
- Saplamalar ve sürücülerin kullanımıyla, kullanıcı arayüzü ve alt seviye modüllerin işlevleri sırasıyla test edilir
- Sonunda, son testin yürütülmesi için sadece orta katman kaldı
Misal:
Sandviç Test Stratejisi ile aşağıdaki test senaryoları elde edilebilir:
Test Case1: A, X, Y ve Z'yi ayrı ayrı test edin - Test A, Üst katman testinin ve Test X, Y ve Z'nin Alt katman testlerinin altında olduğu yerlerde
Test Case2: Test A, G, H ve I
Test Case3: G, X ve Y'yi test edin
Test Case4: Test eli Z
Test Case5: Test A, G, H, I, X, Y ve Z
kabarcık sıralama algoritması c ++
Sandviç Test Metodolojisinin Değerleri
- Çeşitli alt projeleri olan büyük bir proje için çok faydalıdır
- Yukarıdan aşağıya ve aşağıdan yukarıya test metodolojisi yan yana çalışabilir
Sandviç Test Metodolojisinin faydaları
- Modül birleştirmeden önce, alt sistemler ve arayüzleri kapsamlı bir şekilde test edilmez
- Hem yukarıdan aşağıya hem de aşağıdan yukarıya test metodolojisinin katılımı nedeniyle daha yüksek maliyet
- Modüllerin büyük ölçüde birbirine bağımlı olduğu bir sistem için bu tür testler önerilmez.
Sonuç
Artımlı Test, Entegrasyon testi kapsamına girer. Bu test yaklaşımında, birim testinin bir parçası olarak bireysel modül üzerinde entegrasyon testi yapılır ve sonraki aşamada, uygulamanın modülleri veya bileşenleri aşamalı olarak entegre edilir ve bir grup olarak kombine modüller üzerinde test gerçekleştirilir.
Artımlı Entegrasyon Testinin üç metodolojisinden, hangi metodolojinin seçileceğinin seçimi uygulamanın yapısına ve ayrıca yüksek riskli modüllerin konumuna bağlıdır.
Artımlı testin üç metodolojisinin tümü, aşağıdaki davranışsal yönlerden dolayı Yatay kategorisine girer:
- Her üç metodoloji de katman testine odaklanır
- Hepsi yapısal veya hiyerarşik bir tasarım düşünüyor
- Hepsi katmanları aşamalı olarak entegre eder
Değerler:
Bu test yaklaşımı ile kusurları erken tespit etmek daha kolaydır ve ayrıca geliştiricinin sorunun nedenini belirlemesine yardımcı olur. Yapılandırılmış testin temellerini kullandığından, bu test yaklaşımı çok etkili ve doğrudur.
Demerits:
Bu tür test yaklaşımı, koçanların ve sürücülerin kullanımı nedeniyle zaman alıcıdır. Aynı zamanda tekrar ediyor.
Hakkında yazar: Bu yardımcı eğitim, Neha B tarafından yazılmıştır. Kendisi 8 yılı aşkın deneyime sahip ISTQB sertifikalı Lider Kalite Analistidir.
Herhangi bir sorunuz / öneriniz varsa bize bildirin.
Önerilen Kaynaklar
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Bileşen Testi veya Modül Testi Nedir (Örneklerle Öğrenin)
- Primer e-Kitap İndirmeyi Test Etme
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- Yazılım Testinde Dayanıklılık Testi Nedir (Örnekler)
- Araçlar ve Örneklerle İkili Test veya Tüm Çiftler Testi Eğitimi
- Yazılım Testi Türleri: Ayrıntılarla Birlikte Farklı Test Türleri
- Hacim Testi Eğitimi: Örnekler ve Hacim Testi Araçları