Sistem Entegrasyon Testi nedir?
Sistem Entegrasyon Testi, tüm sistemin davranışını doğrulamak için entegre bir donanım ve yazılım ortamında gerçekleştirilen bir tür yazılım testi olarak tanımlanır. Sistemin belirtilen gereksinime uygunluğunu değerlendirmek için eksiksiz, entegre bir sistem üzerinde gerçekleştirilen testtir.
Sistem Entegrasyon Testi (SIT), bir yazılım sisteminin modülleri arasındaki etkileşimleri doğrulamak için gerçekleştirilir. Yazılım Gereksinimleri Spesifikasyonu / Verileri ve Yazılım Tasarım Belgesinde belirtilen yüksek ve düşük seviyeli yazılım gereksinimlerinin doğrulanması ile ilgilenir.
Ayrıca, bir yazılım sisteminin diğerleriyle birlikte var olduğunu doğrular ve yazılım uygulamasının modülleri arasındaki arayüzü test eder. Bu tür testlerde, modüller önce ayrı ayrı test edilir ve ardından bir sistem oluşturmak için birleştirilir.
Örneğin, yazılım ve / veya donanım bileşenleri birleştirilir ve tüm sistem entegre edilene kadar aşamalı olarak test edilir.
Bu eğitimde öğreneceksiniz-
- Sistem Entegrasyon Testi nedir?
- Neden Sistem Entegrasyon Testi yapmalı?
- Sistem Entegrasyon Testi nasıl yapılır
- Entegrasyon Testi için Giriş ve Çıkış Kriterleri
- Yazılım Entegrasyon Testi için Donanım
- Yazılımdan Yazılım Entegrasyon Testi
- Yukarıdan Aşağıya Yaklaşım
- Aşağıdan Yukarı Yaklaşım
- Big Bang Yaklaşımı
Neden Sistem Entegrasyon Testi yapmalı?
Yazılım Mühendisliğinde Sistem Entegrasyon Testi yapılır, çünkü,
- Kusurun erken tespit edilmesine yardımcı olur
- Bireysel modülün kabul edilebilirliği hakkında daha erken geri bildirim sağlanacaktır.
- Kusur düzeltmelerinin zamanlanması esnektir ve geliştirme ile örtüşebilir
- Doğru veri akışı
- Doğru kontrol akışı
- Doğru zamanlama
- Doğru bellek kullanımı
- Yazılım gereksinimleriyle düzeltin
Sistem Entegrasyon Testi nasıl yapılır
Arayüzle ilgili hataları ortaya çıkarmak için testler yürütürken program yapısını oluşturmak için sistematik bir tekniktir.
Tüm modüller önceden entegre edilir ve tüm program bir bütün olarak test edilir. Ancak bu işlem sırasında bir dizi hatayla karşılaşılması muhtemeldir.
Bu tür hataların düzeltilmesi zordur, çünkü izolasyon nedenleri tüm programın büyük ölçüde genişlemesiyle karmaşıklaşır. Bu hatalar düzeltilip düzeltildikten sonra, yeni bir hata görünecek ve süreç sonsuz bir döngü içinde sorunsuz bir şekilde devam edecektir . Bu durumdan kaçınmak için Artımlı Entegrasyon adlı başka bir yaklaşım kullanılır. Daha sonra öğreticide artan bir yaklaşım hakkında daha fazla ayrıntı göreceğiz.
Entegrasyon testlerinin hedef işlemciye dayalı bir sistem üzerinde yapılması gibi bazı artımlı yöntemler vardır. Kullanılan metodoloji Kara Kutu Testidir. Aşağıdan yukarıya veya yukarıdan aşağıya entegrasyon kullanılabilir.
Test senaryoları, yalnızca üst düzey yazılım gereksinimleri kullanılarak tanımlanır.
Yazılım entegrasyonu, ana bilgisayarda simüle edilmeye devam eden hedef ortama özgü birimlerle büyük ölçüde ana bilgisayar ortamında da gerçekleştirilebilir. Onay için hedef ortamda tekrarlanan testler gerekli olacaktır.
Bu seviyedeki doğrulama testleri, bellek ayırma ve ayırmadaki hatalar gibi ortama özgü sorunları belirleyecektir. Ana bilgisayar ortamında yazılım entegrasyonu gerçekleştirmenin pratikliği, ne kadar hedef spesifik işlevsellik olduğuna bağlı olacaktır. Bazı gömülü sistemler için, hedef ortam ile bağlantı çok güçlü olacaktır ve bu durum, ana bilgisayar ortamında yazılım entegrasyonunu gerçekleştirmeyi pratik olmayacaktır.
Büyük yazılım geliştirmeleri, yazılım entegrasyonunu birkaç seviyeye böler. Yazılım entegrasyonunun daha düşük seviyeleri, ağırlıklı olarak ana bilgisayar ortamına dayandırılabilir ve daha sonraki yazılım entegrasyon seviyeleri, hedef ortama daha bağımlı hale gelir.
Not: Yalnızca yazılım test ediliyorsa, buna Yazılım Yazılım Entegrasyon Testi [SSIT] denir ve hem donanım hem de yazılım test ediliyorsa, Donanım Yazılım Entegrasyon Testi [HSIT] olarak adlandırılır.
Entegrasyon Testi için Giriş ve Çıkış Kriterleri
Entegrasyon Testi yapılırken genellikle ETVX (Giriş Kriterleri, Görev, Doğrulama ve Çıkış Kriterleri) stratejisi kullanılır.
Giriş kriterleri:
- Birim Testinin Tamamlanması
Girişler:
- Yazılım Gereksinimleri Verileri
- Yazılım Tasarım Belgesi
- Yazılım Doğrulama Planı
- Yazılım Entegrasyon Belgeleri
Faaliyetler:
- Yüksek ve Düşük seviye gereksinimlere dayalı olarak test senaryoları ve prosedürleri oluşturun
- Ortak bir işlevsellik uygulayan düşük seviyeli modül yapılarını birleştirin
- Bir test koşum takımı geliştirin
- Yapıyı test edin
- Test geçildikten sonra, yapı diğer yapılarla birleştirilir ve sistem bir bütün olarak entegre olana kadar test edilir.
- Hedef işlemci tabanlı platformda tüm testleri yeniden yürütün ve sonuçları alın
Çıkış kriteri:
- Yazılım modülünün hedef Donanıma entegrasyonunun başarıyla tamamlanması
- Yazılımın belirtilen gereksinimlere göre doğru performansı
çıktılar
- Entegrasyon test raporları
- Yazılım Test Durumları ve Prosedürleri [SVCP].
Donanım Yazılım Entegrasyon Testi
Donanım Yazılım Entegrasyon Testi , Bilgisayar Yazılım Bileşenlerini (CSC) hedef donanım ortamında üst düzey işlevler için test etme sürecidir. Donanım / yazılım entegrasyon testinin amacı, donanım bileşenine entegre edilen gelişmiş yazılımın davranışını test etmektir.
Gereksinim tabanlı Donanım-Yazılım Entegrasyon Testi
Gereksinim bazlı donanım / yazılım entegrasyon testinin amacı, hedef bilgisayardaki yazılımın üst düzey gereksinimleri karşıladığından emin olmaktır. Bu test yöntemiyle ortaya çıkan tipik hatalar şunları içerir:
- Donanım / yazılım arayüz hataları
- Yazılım bölümleme ihlalleri.
- Yerleşik test ile arızaları tespit edememe
- Donanım arızalarına yanlış yanıt
- Sıralama, geçici giriş yükleri ve giriş gücü geçişlerinden kaynaklanan hata
- Geri bildirim, yanlış davranışa neden olur
- Bellek yönetimi donanımının yanlış veya yanlış kontrolü
- Veri yolu çekişme sorunu
- Sahada yüklenebilir yazılımın uyumluluğunu ve doğruluğunu doğrulamak için mekanizmanın yanlış çalışması
Donanım Yazılım Entegrasyonu, üst düzey gereksinimlerin doğrulanması ile ilgilenir. Bu seviyedeki tüm testler, hedef donanım üzerinde gerçekleştirilir.
- Kara kutu testi, bu test düzeyinde kullanılan birincil test metodolojisidir.
- Test senaryolarını yalnızca üst düzey gereksinimlerden tanımlayın
- Üretim standardı donanımı üzerinde bir test yapılmalıdır (hedefte)
Donanım / Yazılım Entegrasyonu için test senaryoları tasarlarken dikkat edilmesi gerekenler
- Yazılım tarafından tüm verilerin doğru şekilde alınması
- Donanımdan yazılıma beklendiği gibi veri ölçeklendirme ve aralığı
- Yazılımdan donanıma doğru veri çıkışı
- Spesifikasyonlar dahilindeki veriler (normal aralık)
- Spesifikasyonlar dışındaki veriler (anormal aralık)
- Sınır verileri
- İşlemeyi kesintiye uğratır
- Zamanlama
- Doğru bellek kullanımı (adresleme, çakışmalar vb.)
- Durum geçişleri
Not: Kesinti testi için, tüm kesintiler ilk talepten tam hizmete ve tamamlanmaya kadar bağımsız olarak doğrulanacaktır. Kesintileri yeterince test etmek için test senaryoları özel olarak tasarlanacaktır.
Yazılımdan Yazılım Entegrasyon Testi
Ana bilgisayar / hedef bilgisayarda çalışan Bilgisayar Yazılımı Bileşeninin test edilmesidir.
Çevre, tüm sistemi [diğer CSC'ler] ve üst düzey işlevselliği simüle ederken.
Simüle edilmiş bir ana bilgisayar / hedef ortamdaki bir CSC'nin davranışına odaklanır. Yazılım Entegrasyonu için kullanılan yaklaşım, artımlı bir yaklaşım (yukarıdan aşağıya, aşağıdan yukarıya bir yaklaşım veya her ikisinin bir kombinasyonu) olabilir.
Artımlı Yaklaşım
Artımlı test, entegrasyon testinin bir yoludur. Bu tür bir test yönteminde, önce yazılımın her bir modülünü ayrı ayrı test edersiniz ve ardından ona diğer modülleri, ardından başka bir modülü ekleyerek test etmeye devam edersiniz.
Artımlı entegrasyon, büyük patlama yaklaşımının karşıtlığıdır. Program, hataların izole edilmesinin ve düzeltilmesinin daha kolay olduğu küçük bölümler halinde oluşturulmuş ve test edilmiştir. Arayüzlerin tamamen test edilmesi daha olasıdır ve sistematik bir test yaklaşımı uygulanabilir.
İki tür Artımlı test vardır
- Yukarıdan aşağıya yaklaşım
- Aşağıdan Yukarı yaklaşım
Yukarıdan Aşağıya Yaklaşım
Bu tür bir yaklaşımda, yalnızca kullanıcı arayüzünü test ederek bireysel olarak başlayın, altta yatan işlevsellik stub'lar tarafından simüle edilir, ardından aşağıdaki resimde gösterildiği gibi alt ve alt katmanları entegre ederek aşağı doğru hareket edersiniz.
- Ana kontrol modülünden başlayarak, modüller, kontrol hiyerarşisi boyunca aşağı doğru hareket ederek entegre edilir.
- Ana kontrol modülünün alt modülleri, yapıya ya en başta ya da derinlik olarak dahil edilir.
- Derinlik öncelikli entegrasyon, aşağıdaki şemada gösterildiği gibi yapının ana kontrol yolunda tüm modülleri entegre eder:
Modül entegrasyon süreci şu şekilde yapılır:
- Ana kontrol modülü bir test sürücüsü olarak kullanılır ve ana kontrol modülüne doğrudan bağlı olan tüm modüller için stub'lar değiştirilir.
- Alt stublar, seçilen yaklaşıma bağlı olarak (önce genişlik veya önce derinlik) gerçek modüllerle birer birer değiştirilir.
- Testler, her modül entegre edildiğinde yürütülür.
- Her test setinin tamamlanmasının ardından, her test setinin tamamlanmasının ardından başka bir stub gerçek bir modül ile değiştirilir.
- Yeni hataların ortaya çıkmadığından emin olmak için Regresyon Testi gerçekleştirilebilir.
Süreç 2. adımdan tüm program yapısı inşa edilene kadar devam eder. Yukarıdan aşağıya stratejisi nispeten karmaşık görünmüyor, ancak pratikte lojistik sorunlar ortaya çıkıyor.
Bu sorunlardan en yaygın olanı, hiyerarşideki düşük seviyelerde işleme, üst seviyeleri yeterince test etmek için gerekli olduğunda ortaya çıkar.
Stub'lar, yukarıdan aşağıya testin başlangıcında düşük seviyeli modüllerin yerini alır ve bu nedenle program yapısında önemli veriler yukarı doğru akamaz.
Test Cihazının karşılaşabileceği zorluklar:
- Saplamalar gerçek modüllerle değiştirilene kadar birçok testi erteleyin.
- Gerçek modülü simüle eden sınırlı işlevleri gerçekleştiren saplamalar geliştirin.
- Yazılımı hiyerarşinin altından yukarıya doğru entegre edin.
Not: İlk yaklaşım, belirli testler ve belirli modüllerin dahil edilmesi arasındaki uygunluk üzerindeki bazı kontrollerimizi kaybetmemize neden olur. Bu, yukarıdan aşağıya yaklaşımın oldukça kısıtlı doğasını ihlal etme eğiliminde olan hataların nedenini belirlemede güçlükle sonuçlanabilir.
İkinci yaklaşım uygulanabilirdir ancak saplamalar giderek daha karmaşık hale geldikçe önemli ek yüklere yol açabilir.
Aşağıdan Yukarı Yaklaşım
Aşağıdan yukarıya entegrasyon, program yapısındaki en düşük seviyedeki modüllerle yapım ve teste başlar. Bu süreçte modüller aşağıdan yukarıya entegre edilir.
Bu yaklaşımda, belirli bir seviyeye bağlı modüller için gerekli olan işleme her zaman mevcuttur ve saplamalara olan ihtiyaç ortadan kalkar.
Bu entegrasyon testi süreci dört adımda gerçekleştirilir
- Düşük seviyeli modüller, belirli bir yazılım alt işlevini gerçekleştiren kümeler halinde birleştirilir.
- Test durumu girdisini ve çıktısını koordine etmek için bir sürücü yazılır.
- Küme veya yapı test edilir.
- Sürücüler kaldırılır ve kümeler, program yapısında yukarı doğru hareket ederek birleştirilir.
Entegrasyon yukarı doğru ilerledikçe, ayrı test sürücüleri derslerine duyulan ihtiyaç. Aslında, program yapısının en üstteki iki seviyesi yukarıdan aşağıya entegre edilirse, sürücü sayısı önemli ölçüde azaltılabilir ve kümelerin entegrasyonu büyük ölçüde basitleştirilir. Entegrasyon, aşağıda gösterilen modeli takip eder. Entegrasyon yukarı doğru ilerledikçe, ayrı test sürücüleri derslerine duyulan ihtiyaç.
Not: Program yapısının en üst iki seviyesi yukarıdan aşağıya entegre edilirse, sürücü sayısı önemli ölçüde azaltılabilir ve yapıların entegrasyonu büyük ölçüde basitleştirilir.
Big Bang Yaklaşımı
Bu yaklaşımda, tüm modüller, tüm modüller hazır olana kadar entegre değildir. Hazır olduklarında, tüm modüller entegre edilir ve ardından tüm entegre modüllerin çalışıp çalışmadığını bilmek için yürütülür.
Bu yaklaşımda, her şeyi aynı anda bütünleştirdiğinden başarısızlığın temel nedenini bilmek zordur.
Ayrıca, üretim ortamında kritik hataların oluşma ihtimali yüksek olacaktır.
Bu yaklaşım, yalnızca entegrasyon testinin aynı anda yapılması gerektiğinde benimsenir.
Özet:
- Bir yazılım sisteminin modülleri arasındaki etkileşimleri doğrulamak için entegrasyon gerçekleştirilir. Kusurun erken tespit edilmesine yardımcı olur
- Donanım-Yazılım veya Donanım-Donanım Entegrasyonu için entegrasyon testi yapılabilir
- Entegrasyon testi iki yöntemle yapılır
- Artımlı yaklaşım
- Büyük patlama yaklaşımı
- Entegrasyon Testi yapılırken genel olarak ETVX (Giriş Kriterleri, Görev, Doğrulama ve Çıkış Kriterleri) stratejisi kullanılmaktadır.