Konfigürasyon Testi Nedir? Örnek Test Durumları

Yapılandırma Testi

Yapılandırma Testi işlevsel gereksinimleri değerlendirmek ve yazılım uygulamasının herhangi bir kusur veya kusur olmadan çalışacağı optimum yapılandırmaları bulmak için yazılım uygulamasının birden fazla yazılım ve donanım kombinasyonuyla test edildiği bir yazılım test tekniğidir.

Yukarıda tartışıldığı gibi Konfigürasyon Testi, test edilen uygulamanın birden fazla Yazılım ve Donanım kombinasyonu kullanılarak test edilmesi gereken bir yazılım testidir.

Konfigürasyon Testi Örneği

Bunu bir Masaüstü Uygulaması örneğiyle anlayalım:

Genellikle Masaüstü uygulamaları 2 katmanlı veya 3 katmanlı olacaktır, burada kullanılarak geliştirilen 3 katmanlı bir Masaüstü uygulamasını ele alacağız. Asp.Net Her bileşenin aşağıda belirtilen platformları desteklediği Client, Business Logic Server ve Database Server'dan oluşur.

  • Müşteri Platformu – Windows XP, Window7 işletim sistemi, Windows 8 işletim sistemi vb.
  • Sunucu Platformu – Windows Sunucu 2008 R2,Windows Sunucu 2008 R2, Windows Sunucu 2012R2
  • Veritabanı –SQL Sunucusu 2008, SQL Sunucu 2008R2, SQL Server 2012 vb.

Bir test uzmanının, uygulamanın düzgün çalıştığından ve başarısız olmadığından emin olmak için İstemci, Sunucu ve Veritabanı Kombinasyonunu yukarıda belirtilen platformların ve veritabanı sürümlerinin kombinasyonlarıyla test etmesi gerekir.

Yapılandırma testi yalnızca Yazılımla sınırlı değildir, aynı zamanda Donanım için de geçerlidir; bu nedenle, test edilen uygulamayı destekleyen Yazıcılar, Tarayıcılar, Web kameraları vb. gibi farklı donanım aygıtlarını test ettiğimiz Donanım yapılandırma testi olarak da anılır.

Yapılandırma Testi

Yapılandırma Testi için Önkoşullar

Herhangi bir proje için yapılandırma testine başlamadan önce bazı ön koşulları yerine getirmemiz gerekir.

  • Yazılım ve donanım konfigürasyonlarının çeşitli kombinasyonlarından oluşan matrisin oluşturulması
  • Tüm konfigürasyonları test etmek zor olduğundan konfigürasyonlara öncelik verilmesi
  • Önceliklendirmeye dayalı olarak her konfigürasyonun test edilmesi.

Konfigürasyon Testinin Amaçları

Konfigürasyon Testinin amaçları:

  • Yapılandırılabilirlik gereksinimlerini karşılayıp karşılamadığını belirlemek için uygulamayı doğrulama
  • Test sırasında verimli bir şekilde bulunamayan hataların tespit edilmesine yardımcı olan arızaların manuel olarak oluşturulması (Örn: Sistemin Saat Dilimi, Dil, Tarih saat formatları vb. gibi bölgesel ayarlarının değiştirilmesi)
  • Test edilen uygulamanın en uygun konfigürasyonunu belirleyin.
  • Yük Dengeleyiciler gibi donanım kaynaklarını ekleyerek veya değiştirerek, bellek boyutunu artırarak veya azaltarak, çeşitli yazıcı modellerini bağlayarak vb. sistem performansını analiz etme.
  • Önceliklendirmeye dayalı olarak sistem Verimliliğinin analiz edilmesi, optimum sistem konfigürasyonunu elde etmek için mevcut kaynaklarla testlerin ne kadar verimli bir şekilde gerçekleştirildiği.
  • Sistemin ne kadar etkili performans gösterdiğini doğrulamak için sistemin coğrafi olarak dağıtılmış bir Ortamda doğrulanması. Örn: Farklı konumdaki sunucu ve farklı konumdaki istemciler için sistem, sistem ayarlarından bağımsız olarak iyi çalışmalıdır.
  • Yapılandırma değişikliklerinden bağımsız olarak hataların ne kadar kolay tekrarlanabildiğinin doğrulanması.
  • Kolayca tanımlanabilen versiyonların uygun şekilde belgelenmesi ve muhafaza edilmesi yoluyla uygulama öğelerinin ne kadar izlenebilir olduğunun sağlanması.
  • Uygulama öğelerinin uygulama genelinde ne kadar yönetilebilir olduğunun doğrulanması yazılım geliştirme Yaşam Döngüsü.

Konfigürasyon Testi nasıl yapılır

Bu bölümde konfigürasyon test türleri için izlenmesi gereken stratejiyi ele alacağız ve aşağıda belirtildiği gibi iki tür konfigürasyon testi vardır.

  • Yazılım Konfigürasyonu Testi
  • Donanım Yapılandırma Testi

Yazılım Konfigürasyonu Testi

Yazılım yapılandırma testi, test edilen Uygulamanın birden fazla işletim sistemi, farklı yazılım güncellemeleri vb. ile test edilmesidir. Yazılım Yapılandırma testi, test için kullanılan farklı yazılımların kurulması ve kaldırılması zaman aldığından çok zaman alıcıdır.

Yazılım konfigürasyonunu test etmek için izlenen yaklaşımlardan biri de Sanal Makineler üzerinde test yapmaktır. Sanal Makine, yazılıma yüklenen ve Fiziksel Donanım gibi davranan bir Ortamdır ve kullanıcılar, Fiziksel Makine ile aynı hissi yaşarlar. Sanal Makineler gerçek zamanlı yapılandırmaları simüle eder.

Yazılımı birden fazla fiziksel makineye kurup kaldırmak yerine, zaman alıcı olan uygulamayı/yazılımı sanal makineye kurup teste devam etmek her zaman daha iyidir. Bu işlem birden fazla sahip olunarak gerçekleştirilebilir. Sanal makinelerBu, test uzmanının işini kolaylaştırır

Yazılım yapılandırma testi genellikle şu durumlarda başlayabilir:

  • Test edilecek yapılandırılabilirlik gereksinimleri belirtildi
  • Test Ortamı hazır
  • Test Ekibi konfigürasyon testi konusunda iyi eğitimlidir
  • Yayınlanan yapı birimdir ve Entegrasyon testi geçilmiştir

Tipik Test Stratejisi Yazılım yapılandırma testini test etmek için takip edilen adım, test edilen uygulamanın herhangi bir kusur veya hata olmadan istenildiği gibi çalışıp çalışmadığını doğrulamak için işlevsel test paketini birden fazla yazılım yapılandırmasında çalıştırmaktır.

Diğer bir strateji ise test senaryolarını manuel olarak başarısızlığa uğratarak ve verimliliği doğrulayarak sistemin iyi çalışmasını sağlamaktır.

Örnek:

Diyelim ki, uygulama tüm önkoşulların mevcut olduğu bir ortamda barındırıldığında, birden fazla tarayıcıda uyumluluğu açısından test edilmesi gereken bir Bankacılık Uygulaması var; üniteyi geçebilir ve Entegrasyon Testi test laboratuarında.

Ancak aynı uygulama bir istemci yerine kuruluysa ve makinelerde bazı yazılım güncellemeleri veya uygulamanın doğrudan veya dolaylı olarak bağımlı olduğu sürümler eksikse, uygulamanın başarısız olma ihtimali vardır. Bu tür bir durumdan kaçınmak için, bazı yapılandırılabilirlik gereksinimlerinin kaldırılmasıyla testlerin manuel olarak geçilmesi ve ardından teste devam edilmesi önerilir.

Yapılandırma Testi

Donanım Yapılandırma Testi

Donanım konfigürasyon testleri genellikle laboratuvarlarda gerçekleştirilir ve burada farklı donanımlara sahip fiziksel makineler bulunur.

Bir yapı yayınlandığında, donanımın bağlı olduğu tüm fiziksel makinelere yazılımın yüklenmesi ve uygulamanın düzgün çalıştığından emin olmak için test paketinin her makinede çalıştırılması gerekir.

Yukarıdaki görevi gerçekleştirmek için, yazılımın her makineye kurulması, donanımın takılması ve manuel olarak çalıştırılması, hatta yukarıda bahsedilen işlemin otomatikleştirilmesi ve test paketinin çalıştırılması için önemli miktarda çaba gerekir.

Ayrıca donanım konfigürasyon testi yaparken test edilecek donanımın tipini de belirliyoruz ve çok sayıda bilgisayar donanımı ve çevre birimi var ve bunların hepsinin çalıştırılması oldukça imkansız. Bu nedenle kullanıcılar tarafından en çok hangi donanımın kullanıldığını analiz etmek ve testi önceliklendirmeye göre yapmaya çalışmak test uzmanının görevi haline gelir.

Örnek Test Durumları

Donanım uyumluluğunu test etmek için bir Bankacılık Senaryosu düşünün. Banknot Sayma Makinasına bağlanan Bankacılık Uygulamasının Rolex, Strob, Maxsell, StoK vb. farklı modellerle test edilmesi gerekmektedir.

Not Sayma Makinesini test etmek için bazı örnek test senaryolarını ele alalım

  • Önkoşullar YÜKLENMEDİĞİNDE uygulamanın Rolex modeliyle bağlantısının doğrulanması
  • Önkoşullar yüklendiğinde uygulamanın Rolex modeliyle bağlantısının doğrulanması
  • Sistemin notları doğru sayıp saymadığını doğrulayın
  • Sistemin notları yanlış sayıp saymadığını doğrulayın
  • Değiştirilen notların doğrulanması
  • Yanıt sürelerinin doğrulanması
  • Sahte notların tespit edilip edilmediğinin doğrulanması vb.

Yukarıdaki test senaryoları tek bir model içindir ve aynı şeyin piyasada mevcut tüm modeller ile bir test laboratuvarında kurularak test edilmesi gerekir ki bu da zordur. Bu nedenle, donanım yapılandırma testinin, bu konuda uzmanlaşmış kuruluşlara dış kaynaklardan sağlanması tavsiye edilir.

ÖZET

Yazılım Mühendisliğinde Konfigürasyon Testine diğer test türleri gibi eşit önem verilmelidir. Yapılandırma testi yapılmadan optimum sistem performansını analiz etmek zordur ve ayrıca yazılım, üzerinde çalışması gereken uyumluluk sorunlarıyla karşılaşabilir.