Sistem Entegrasyon Testi (SIT) Örneği Nedir?

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 belirlenen gereksinimlere uygunluğunu değerlendirmek amacıyla eksiksiz, entegre bir sistem üzerinde yapılan testlerdir.

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 Şartnamesinde/Verilerinde ve Yazılım Tasarım Dokümanında belirtilen yüksek ve düşük seviyeli yazılım gereksinimlerinin doğrulanmasıyla ilgilenir. Aynı zamanda bir yazılım sisteminin diğerleriyle birlikte varlığını doğrular ve yazılım uygulamasının modülleri arasındaki arayüzü test eder. Bu test türünde modüller önce ayrı ayrı test edilir, daha sonra bir sistem oluşturacak şekilde 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.

Sistem Entegrasyon Testi

Sistem Entegrasyon Testi neden yapılır?

Yazılım Mühendisliğinde Sistem Entegrasyon Testi yapılır çünkü,

  • Tespit etmeye yardımcı olur kusur erken
  • Bireysel modülün kabul edilebilirliğine ilişkin daha önceden geri bildirim sağlanacaktır.
  • Kusur düzeltmelerinin planlanması esnektir ve geliştirme süreciyle örtüşebilir
  • Doğru veri akışı
  • Doğru kontrol akışı
  • Doğru zamanlama
  • Doğru bellek kullanımı
  • Yazılım gereksinimlerine uygun

Sistem Entegrasyon Testi nasıl yapılır

Arayüzle ilgili hataları ortaya çıkarmak için testler yaparken program yapısını oluşturmaya yönelik sistematik bir tekniktir.

Tüm modüller önceden entegre edilir ve programın tamamı bir bütün olarak test edilir. Ancak bu süreçte bir takım hatalarla karşılaşılması muhtemeldir.

Bu tür hataların düzeltilmesi zordur çünkü izolasyon nedenleri, tüm programın geniş genişlemesi nedeniyle karmaşık hale gelir. Bu hatalar düzeltilip düzeltildikten sonra yenisi ortaya çıkacak ve süreç sonsuz bir döngü içinde sorunsuz bir şekilde devam edecektir.. Bu durumu önlemek için başka bir yaklaşım olan Artımlı Entegrasyon kullanılır. Eğitimin ilerleyen kısımlarında artımlı yaklaşım hakkında daha detaylı bilgi göreceğiz.

Entegrasyon testlerinin hedef işlemciye dayalı bir sistem üzerinde yapılması gibi artımlı yöntemler vardır. Kullanılan metodoloji Siyah Box Test yapmak. 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 büyük ölçüde ana bilgisayar ortamında da gerçekleştirilebilir; hedef ortama özgü birimler ana bilgisayarda simüle edilmeye devam edilir. Onay için hedef ortamda testlerin tekrarlanması yine gerekli olacaktır.

Bu düzeydeki doğrulama testleri, bellek ayırma ve ayırmanın kaldırılmasındaki hatalar gibi ortama özgü sorunları tanımlayacaktır. Yürütmenin pratikliği yazılım entegrasyonu Ana bilgisayar ortamında ne kadar hedefe özgü işlevsellik bulunduğuna bağlı olacaktır. Bazı gömülü sistemler için hedef ortamla bağlantı çok güçlü olacak, bu da ana bilgisayar ortamında yazılım entegrasyonunun gerçekleştirilmesini kullanışsız hale getirecektir.

Büyük yazılım geliştirmeleri yazılım entegrasyonunu bir dizi seviyeye bölecektir. Yazılım entegrasyonunun daha düşük seviyeleri ağırlıklı olarak ana bilgisayar ortamına dayanabilirken, yazılım entegrasyonunun daha sonraki seviyeleri hedef ortama daha bağımlı hale gelebilir.

Not: Yalnızca yazılım test ediliyorsa Yazılım Yazılım Entegrasyon Testi [SSIT], hem donanım hem de yazılım test ediliyorsa Donanım Yazılım Entegrasyon Testi [HSIT] olarak adlandırılır.

Entegrasyon Testine Giriş ve Çıkış Kriterleri

Genellikle Entegrasyon Testi yapılırken ETVX (Giriş Kriterleri, Görev, Doğrulama ve Çıkış Kriterleri) stratejisi kullanılır.

Giriş Kriterleri:

Girişler:

  • Yazılım Gereksinimleri Verileri
  • Yazılım Tasarım Belgesi
  • Yazılım Doğrulama Planı
  • Yazılım Entegrasyon Belgeleri

Etkinlikler:

  • Yüksek ve Düşük seviye gereksinimlerine dayanarak test senaryoları ve prosedürler 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 gerçekleştirin ve sonuçları alın

Kriterlerden Çık:

  • Yazılım modülünün hedef donanıma entegrasyonu başarıyla tamamlandı
  • Belirtilen gereksinimlere göre yazılımın doğru performansı

Çıkış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 Hedef donanım ortamındaki üst düzey işlevler açısından Bilgisayar Yazılım Bileşenlerini (CSC) test etme sürecidir. Donanım/yazılım entegrasyon testinin amacı, geliştirilen yazılımın donanım bileşenine entegre edilmiş davranışını test etmektir.

Gereksinim Bazlı Donanım-Yazılım Entegrasyon Testi

Gereksinim tabanlı 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 testle arızaların tespit edilememesi
  • 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ışı döngüye sokar
  • Bellek yönetimi donanımının yanlış veya hatalı kontrolü
  • Veri yolu çekişme sorunu
  • Sahada yüklenebilir yazılımın uyumluluğunu ve doğruluğunu doğrulamaya yönelik mekanizmanın yanlış çalışması

Donanım Yazılım Entegrasyonu, üst düzey gereksinimlerin doğrulanmasıyla ilgilenir. Bu seviyedeki tüm testler hedef donanım üzerinde gerçekleştirilir.

  • Bu test seviyesinde kullanılan temel test metodolojisi kara kutu testidir.
  • Tanımlama test senaryoları yalnızca üst düzey gereksinimlerden
  • Üretim standardı donanımında (hedefte) bir test yürütülmelidir

Donanım/Yazılım Entegrasyonu için test senaryoları tasarlarken dikkate alınması gereken noktalar

  • Yazılım tarafından tüm verilerin doğru şekilde elde edilmesi
  • Donanımdan yazılıma beklendiği gibi ölçeklendirme ve veri aralığı
  • Yazılımdan donanıma doğru veri çıkışı
  • Spesifikasyonlar dahilindeki veriler (normal aralık)
  • Spesifikasyonların 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 tamamlamaya 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ıma Entegrasyon Testi

Ana bilgisayar/hedef bilgisayar içerisinde çalışan Bilgisayar Yazılım Bileşeninin test edilmesidir.

Ortam, tüm sistemi [diğer CSC'leri] simüle ederken ve üst düzey işlevsellikte.

Simüle edilmiş bir ana bilgisayar/hedef ortamında bir CSC'nin davranışına odaklanır. Yazılım Entegrasyonu için kullanılan yaklaşım, artımlı bir yaklaşım olabilir (yukarıdan aşağıya, aşağıdan yukarıya yaklaşım veya her ikisinin birleşimi).

Artımlı Yaklaşım

Artımlı test, entegrasyon testinin bir yoludur. Bu tür test yönteminde, önce yazılımın her modülünü ayrı ayrı test edersiniz, ardından ona diğer modülleri, ardından başka bir modülü ekleyerek teste devam edersiniz.

Artımlı entegrasyon, büyük patlama yaklaşımının tam tersidir. 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 edilme olasılığı daha yüksektir 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ıya yaklaşım

Yukarıdan Aşağıya Yaklaşım

Bu tür bir yaklaşımda, bireysel olarak, temel işlevsellik taslaklar tarafından simüle edilerek yalnızca kullanıcı arayüzünü test ederek başlar, ardından aşağıdaki resimde gösterildiği gibi alt ve alt katmanları entegre ederek aşağıya doğru hareket edersiniz.

Yukarıdan Aşağıya Yaklaşım

  • Ana kontrol modülünden başlayarak modüller, kontrol hiyerarşisinde aşağıya doğru ilerleyerek entegre edilir
  • Ana kontrol modülünün alt modülleri yapıya ya genişlik öncelikli ya da derinlik öncelikli olacak şekilde dahil edilmiştir.
  • Derinlik öncelikli entegrasyon, aşağıdaki diyagramda gösterildiği gibi yapının ana kontrol yolundaki tüm modülleri entegre eder:

Yukarıdan Aşağıya Yaklaşım

Modül entegrasyon süreci aşağıdaki şekilde gerçekleştirilir:

  1. Ana kontrol modülü bir test sürücüsü olarak kullanılır ve taslaklar doğrudan ana kontrol modülüne bağlı tüm modüllerin yerine geçer.
  2. İkincil taslaklar, seçilen yaklaşıma (önce genişlik veya önce derinlik) bağlı olarak gerçek modüllerle teker teker değiştirilir.
  3. Her modül entegre edildiğinde testler gerçekleştirilir.
  4. Her test kümesinin tamamlanmasının ardından, her test kümesinin tamamlanmasının ardından başka bir taslak, gerçek bir modülle değiştirilir.
  5. Yeni hataların ortaya çıkmadığından emin olmak için Gerileme testi yapılabilir.

Süreç 2. adımdan tüm program yapısı oluşturulana kadar devam eder. Yukarıdan aşağıya strateji nispeten basit gibi görünse de pratikte lojistik sorunlar ortaya çıkıyor.

Bu sorunlardan en yaygın olanı, hiyerarşideki alt düzeylerde işlem yapılmasının üst düzeyleri yeterince test etmek için gerekli olduğu durumlarda ortaya çıkar.

Saplamalar, 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 yukarıya doğru önemli bir veri akamaz.

Testçinin karşılaşabileceği zorluklar:

  • Taslaklar 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 taslaklar geliştirin.
  • Yazılımı hiyerarşinin en altından yukarıya doğru entegre edin.

Not: İlk yaklaşım, belirli testler ile belirli modüllerin dahil edilmesi arasındaki yazışmalar üzerindeki kontrolümüzün bir kısmını kaybetmemize neden olur. Bu, yukarıdan aşağıya yaklaşımın son derece kısıtlı doğasını ihlal eden hataların nedeninin belirlenmesinde zorlukla sonuçlanabilir.

İkinci yaklaşım işe yarayabilir ancak taslaklar giderek daha karmaşık hale geldikçe önemli bir ek yüke yol açabilir.

Aşağıdan Yukarıya Yaklaşım

Aşağıdan yukarıya entegrasyon, program yapısındaki en alt seviyedeki modüllerle inşaat ve teste başlar. Bu süreçte modüller aşağıdan yukarıya doğru entegre edilir.

Bu yaklaşımda, belirli bir seviyeye bağlı modüller için gereken işlemler her zaman mevcuttur ve taslaklara olan ihtiyaç ortadan kaldırılmıştır.

Bu entegrasyon testi süreci dört adımdan oluşan bir seri halinde gerçekleştirilir

  1. Düşük seviyeli modüller, belirli bir yazılım alt işlevini gerçekleştiren kümeler halinde birleştirilir.
  2. Test senaryosu giriş ve çıkışını koordine etmek için bir sürücü yazılmıştır.
  3. Küme veya yapı test edilir.
  4. 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 pilotu derslerine ihtiyaç duyulmaktadır. Aslında program yapısının en üst iki seviyesi yukarıdan aşağıya entegre edilirse, sürücülerin 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 pilotu derslerine ihtiyaç duyulmaktadır.

Aşağıdan Yukarıya Yaklaşım

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.

Büyük Patlama Yaklaşımı

Bu yaklaşımda, tüm modüller hazır olana kadar ve hazır olmadıkça tüm modüller entegre edilmez. Hazır olduklarında tüm modüller entegre edilir ve ardından tüm entegre modüllerin çalışıp çalışmadığını öğrenmek için çalıştırılır.

Bu yaklaşımda her şeyin bir kerede entegre edilmesi nedeniyle başarısızlığın temel nedenini bilmek zordur.

Ayrıca üretim ortamında kritik hataların ortaya çıkma olasılığı da yüksek olacaktır.

Bu yaklaşım yalnızca entegrasyon testinin bir kerede yapılması gerektiğinde benimsenir.

ÖZET

  • Entegrasyon, bir yazılım sisteminin modülleri arasındaki etkileşimleri doğrulamak için 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 genellikle ETVX (Giriş Kriterleri, Görev, Doğrulama ve Çıkış Kriterleri) stratejisi kullanılır.

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.