Entegrasyon Testi nedir?
ENTEGRASYON TESTİ , yazılım modüllerinin mantıksal olarak entegre edildiği ve grup olarak test edildiği bir test türü olarak tanımlanır. Tipik bir yazılım projesi, farklı programcılar tarafından kodlanmış birden çok yazılım modülünden oluşur. Bu test seviyesinin amacı, entegre edildiklerinde bu yazılım modülleri arasındaki etkileşimdeki kusurları ortaya çıkarmaktır.
Entegrasyon Testi, bu modüller arasındaki veri iletişimini kontrol etmeye odaklanır. Bu nedenle, 'I & T' (Entegrasyon ve Test), 'Dizi Testi' ve bazen 'İş Parçacığı Testi' olarak da adlandırılır .
- Entegrasyon Testi nedir?
- Entegrasyon Testi Neden Yapılır?
- Entegrasyon Testi Örneği
- Entegrasyon Testi Yaklaşımları, Stratejileri, Metodolojileri
- Big Bang Yaklaşımı:
- Artımlı Yaklaşım
- Saplama ve Sürücü nedir?
- Aşağıdan Yukarıya Entegrasyon
- Yukarıdan Aşağıya Entegrasyon:
- Hibrit / Sandviç Entegrasyonu
- Entegrasyon Testi nasıl yapılır?
- Entegrasyon Test Planlarının Kısa Açıklaması:
- Entegrasyon Testine Giriş ve Çıkış Kriterleri
- Entegrasyon Testi için En İyi Uygulamalar / Yönergeler
Entegrasyon Testi Neden Yapılır?
Her bir yazılım modülü birim test edilmesine rağmen, kusurlar hala çeşitli nedenlerle mevcuttur.
- Bir Modül, genel olarak, anlayışı ve programlama mantığı diğer programcılardan farklı olabilecek bireysel bir yazılım geliştiricisi tarafından tasarlanmıştır. Yazılım modüllerinin birlikte çalıştığını doğrulamak için Entegrasyon Testi gerekli hale gelir
- Modül geliştirme sırasında, müşteriler tarafından gereksinimlerde büyük değişiklik şansı vardır. Bu yeni gereksinimler ünite testine tabi tutulmayabilir ve bu nedenle sistem entegrasyonu Test gerekli hale gelir.
- Yazılım modüllerinin veritabanı ile arayüzleri hatalı olabilir
- Varsa, harici donanım arayüzleri hatalı olabilir
- Yetersiz istisna işleme sorunlara neden olabilir.
Videoya erişilemiyorsa burayı tıklayın
Entegrasyon Testi Örneği
Entegrasyon Testi Vakası , esas olarak arayüzler ve modüller arasındaki veri / bilgi akışına odaklanması açısından diğer test durumlarından farklıdır . Burada , halihazırda test edilmiş olan ünite fonksiyonları yerine entegre bağlantılara öncelik verilecektir .
Aşağıdaki senaryo için Örnek Entegrasyon Testi Durumları: Uygulamada 'Oturum Açma Sayfası', 'Posta Kutusu' ve 'E-postaları Sil' gibi 3 modül vardır ve bunların her biri mantıksal olarak entegre edilmiştir.
Birim Testinde zaten yapıldığı için burada Oturum Açma Sayfası testine fazla odaklanmayın. Ancak Posta Kutusu Sayfasına nasıl bağlandığını kontrol edin.
Benzer şekilde Posta Kutusu: Postaları Sil Modülüyle entegrasyonunu kontrol edin.
Test Vakası Kimliği | Test Senaryosu Amacı | Test Durumu Açıklaması | Beklenen Sonuç |
---|---|---|---|
1 | Oturum Açma ve Posta Kutusu modülü arasındaki arayüz bağlantısını kontrol edin | Oturum açma kimlik bilgilerini girin ve Oturum Aç düğmesine tıklayın | Posta Kutusuna yönlendirilmek için |
2 | Posta Kutusu ve Postaları Silme Modülü arasındaki arayüz bağlantısını kontrol edin | Posta Kutusundan e-postayı seçin ve bir sil düğmesine tıklayın | Seçilen e-posta Silinmiş / Çöp Kutusu klasöründe görünmelidir |
Entegrasyon Testi Yaklaşımları, Stratejileri, Metodolojileri
Yazılım Mühendisliği, Entegrasyon testini gerçekleştirmek için çeşitli stratejileri tanımlar.
- Big Bang Yaklaşımı:
- Artımlı Yaklaşım: aşağıdakilere ayrılmıştır:
- Yukarıdan Aşağı Yaklaşım
- Aşağıdan Yukarı Yaklaşım
- Sandviç Yaklaşımı - Yukarıdan Aşağıya ve Aşağıdan Yukarıya Kombinasyonu
Aşağıda farklı stratejiler, uygulanma biçimleri ve sınırlamaları ile avantajları bulunmaktadır.
Big Bang Testi
Big Bang Testi , tüm bileşenlerin veya modüllerin aynı anda birbirine entegre edildiği ve ardından bir birim olarak test edildiği bir Entegrasyon testi yaklaşımıdır. Bu birleşik bileşen kümesi, test sırasında bir varlık olarak kabul edilir. Ünitedeki tüm bileşenler tamamlanmadıysa, entegrasyon süreci çalışmayacaktır.
Avantajlar:
- Küçük sistemler için uygun.
Dezavantajları:
- Hata Lokalizasyonu zordur.
- Bu yaklaşımda test edilmesi gereken çok sayıda arayüz göz önüne alındığında, test edilecek bazı arayüz bağlantıları kolayca gözden kaçabilir.
- Entegrasyon testi ancak "tüm" modüller tasarlandıktan sonra başlayabileceğinden, test ekibinin test aşamasında yürütme için daha az zamanı olacaktır.
- Tüm modüller aynı anda test edildiğinden, yüksek riskli kritik modüller izole edilmez ve öncelikli olarak test edilmez. Kullanıcı arayüzleriyle ilgilenen çevre birimi modülleri de öncelikli olarak izole edilmemiş ve test edilmemiştir.
Artımlı Test
In Artan Testi yaklaşımı, test mantıksal olarak birbiriyle ilişkili ve sonra uygulamanın düzgün işlemesi için test edilir, iki veya daha fazla modülleri entegre ederek yapılır. Daha sonra diğer ilgili modüller aşamalı olarak entegre edilir ve mantıksal olarak ilişkili tüm modüller entegre edilip başarıyla test edilene kadar süreç devam eder.
Artımlı Yaklaşım ise iki farklı Yöntemle gerçekleştirilir:
- Altüst
- Yukarıdan aşağıya
Stub'lar ve Sürücüler
Stubs and Drivers , yazılım test faaliyetini kolaylaştırmak için kullanılan Entegrasyon testindeki sahte programlardır. Bu programlar, testteki eksik modellerin yerine geçer. Yazılım modülünün tüm programlama mantığını uygulamazlar, ancak test sırasında çağıran modülle veri iletişimini simüle ederler.
Stub : Test altındaki Modül tarafından çağrılır.
Sürücü : Test edilecek Modülü çağırır.
Aşağıdan Yukarıya Entegrasyon Testi
Aşağıdan Yukarıya Entegrasyon Testi , önce alt düzey modüllerin test edildiği bir stratejidir. Test edilen bu modüller daha sonra daha yüksek seviyeli modüllerin test edilmesini kolaylaştırmak için kullanılır. Süreç, en üst seviyedeki tüm modüller test edilene kadar devam eder. Alt seviye modüller test edilip entegre edildikten sonra, sonraki seviye modüller oluşturulur.
Şematik Gösterim :
Avantajlar:
- Hata tespiti daha kolaydır.
- Big-bang yaklaşımından farklı olarak tüm modüllerin geliştirilmesini bekleyerek zaman israf edilmez
Dezavantajları:
- Uygulama akışını kontrol eden kritik modüller (yazılım mimarisinin en üst seviyesinde) en son test edilir ve kusurlara eğilimli olabilir.
- Erken bir prototip mümkün değil
Yukarıdan Aşağıya Entegrasyon Testi
Yukarıdan Aşağıya Entegrasyon Testi , yazılım sisteminin kontrol akışını takiben yukarıdan aşağıya entegrasyon testinin gerçekleştirildiği bir yöntemdir. Yazılım işlevselliğini kontrol etmek için önce daha yüksek seviyeli modüller test edilir ve ardından daha düşük seviyeli modüller test edilir ve entegre edilir. Stub'lar, bazı modüller hazır değilse test etmek için kullanılır.
Şematik Gösterim:
Avantajlar:
- Hata Bulma daha kolaydır.
- Erken bir prototip elde etme imkanı.
- Kritik Modüller öncelikli olarak test edilir; önce büyük tasarım kusurları bulunup düzeltilebilir.
Dezavantajları:
- Birçok Saplamaya ihtiyaç duyar.
- Daha düşük seviyedeki modüller yetersiz test edilir.
Sandviç Testi
Sandviç Test , üst seviye modüllerin alt seviye modüllerle test edildiği, aynı zamanda alt modüllerin üst modüllerle entegre edildiği ve sistem olarak test edildiği bir stratejidir. Yukarıdan aşağıya ve Aşağıdan yukarıya yaklaşımların bir kombinasyonudur, bu nedenle Hibrit Entegrasyon Testi olarak adlandırılır . Sürücülerin yanı sıra hem koçanlardan yararlanır.
Entegrasyon Testi nasıl yapılır?
Yazılım test stratejilerinden bağımsız olarak Entegrasyon testi prosedürü (yukarıda tartışılmıştır):
- Entegrasyon Testleri Planını Hazırlayın
- Test Senaryolarını, Vakaları ve Komut Dosyalarını Tasarlayın.
- Test Durumlarının yürütülmesi ve ardından kusurların bildirilmesi.
- Kusurları izleme ve yeniden test etme.
- Entegrasyonun tamamlanması başarılı olana kadar 3. ve 4. adımlar tekrarlanır.
Entegrasyon Test Planlarının Kısa Açıklaması:
Aşağıdaki öznitelikleri içerir:
- Test Yöntemleri / Yaklaşımları (yukarıda tartışıldığı gibi).
- Entegrasyon Testinin Kapsamları ve Kapsam Dışı Öğeleri.
- Görev ve Sorumluluklar.
- Entegrasyon testi için ön koşullar.
- Test ortamı.
- Risk ve Azaltma Planları.
Entegrasyon Testine Giriş ve Çıkış Kriterleri
Herhangi bir yazılım geliştirme modelinde Entegrasyon testi aşamasına Giriş ve Çıkış Kriterleri
Giriş kriterleri:
- Birim Test Edilmiş Bileşenler / Modüller
- Tüm Yüksek öncelikli hatalar düzeltildi ve kapatıldı
- Tüm Modüller kodlanacak ve başarıyla entegre edilecek.
- Entegrasyon testleri İmzalanacak ve belgelenecek plan, test senaryosu, senaryolar.
- Entegrasyon testi için kurulması gerekli Test Ortamı
Çıkış kriteri:
- Entegre Uygulamanın Başarıyla Test Edilmesi.
- Yürütülen Test Durumları belgelenir
- Tüm Yüksek öncelikli hatalar düzeltildi ve kapatıldı
- Sunulacak teknik belgeler ve ardından sürüm notları.
Entegrasyon Testi için En İyi Uygulamalar / Yönergeler
- İlk olarak, benimsenebilecek Entegrasyon Test Stratejisini belirleyin ve daha sonra test senaryolarını ve test verilerini buna göre hazırlayın.
- Uygulamanın Mimari tasarımını inceleyin ve Kritik Modülleri tanımlayın. Bunların öncelikli olarak test edilmesi gerekir.
- Arayüz tasarımlarını Mimari ekibinden alın ve tüm arayüzleri ayrıntılı olarak doğrulamak için test senaryoları oluşturun. Veritabanı / harici donanım / yazılım uygulamasına arayüz ayrıntılı olarak test edilmelidir.
- Test senaryolarından sonra kritik rolü oynayan test verileridir.
- Çalıştırmadan önce daima sahte verileri hazırlayın. Test senaryolarını yürütürken test verilerini seçmeyin.