Güvenilirlik Testi Nedir? (Örnek)
Güvenilirlik Testi Nedir?
Güvenilirlik Testi yazılımın belirli bir ortamda belirli bir süre boyunca hatasız bir işlem gerçekleştirip gerçekleştiremeyeceğini kontrol eden bir yazılım test işlemidir. Güvenilirlik testinin amacı, yazılım ürününün hatasız ve beklenen amaç için yeterince güvenilir olduğundan emin olmaktır.
Güvenilirlik “aynı şeyi vermek” anlamına gelir, diğer bir deyişle “güvenilir” kelimesi bir şeyin güvenilir olduğu ve her zaman aynı sonucu vereceği anlamına gelir. Aynı şey Güvenilirlik testi için de geçerlidir.
Güvenilirlik Testi Örneği
Bir mağazadaki bilgisayarın sekiz saat boyunca çökmeden çalışır durumda kalma olasılığı %99'dur; buna güvenilirlik denir.
Güvenilirlik Testi üç bölüme ayrılabilir:
- Modelleme
- Ölçüm
- İyileştirme
Aşağıdaki formül arıza olasılığının hesaplanmasına yöneliktir.
Probability = Number of failing cases/ Total number of cases under consideration
Yazılım Güvenilirliğini Etkileyen Faktörler
- Yazılımdaki mevcut hataların sayısı
- Kullanıcıların sistemi çalıştırma şekli
Güvenilirlik Testi, daha iyi yazılım kalitesinin anahtarlarından biridir. Bu test, yazılım tasarımı ve işlevselliğindeki birçok sorunun keşfedilmesine yardımcı olur.
Güvenilirlik testinin temel amacı, yazılımın müşteri güvenilirliği şartını karşılayıp karşılamadığını kontrol etmektir.
Güvenilirlik testi çeşitli düzeylerde gerçekleştirilecektir. Karmaşık sistemler birim, montaj, alt sistem ve sistem düzeylerinde test edilecektir.
Neden Güvenilirlik Testi Yapılır?
Güvenilirlik testi, yazılımın performansını verilen koşullar altında test etmek için yapılır.
Güvenilirlik testi gerçekleştirmenin ardındaki amaç,
- Tekrarlanan arızaların yapısını bulmak.
- Meydana gelen arıza sayısını bulmak için belirtilen süre verilir.
- Başarısızlığın ana nedenini keşfetmek.
- yürütmek Performans testi Bir kusuru düzelttikten sonra çeşitli yazılım uygulamaları modüllerinin.
Ürünün piyasaya sürülmesinden sonra da kusurların ortaya çıkma olasılığını en aza indirebilir ve böylece yazılımın güvenilirliğini artırabiliriz. Bunun için yararlı araçlardan bazıları şunlardır: Trend Analizi, Ortogonal kusur Sınıflandırma ve resmi yöntemler vb.
Güvenilirlik Testi Türleri
Yazılım güvenilirliği testi Özellik Testini içerir, Yük Testi, ve Gerileme testi
Özellik Testi: -
Öne Çıkan Test, yazılımın sağladığı özelliği kontrol eder ve aşağıdaki adımlarla gerçekleştirilir:
- Yazılımdaki her işlem en az bir kez gerçekleştirilir.
- İki operasyon arasındaki etkileşim azalır.
- Her işlemin doğru yürütülüp yürütülmediği kontrol edilmelidir.
Yük Testi: -
Genellikle yazılım sürecin başında daha iyi performans gösterir ve sonrasında bozulmaya başlar. Yük Testi, yazılımın maksimum iş yükü altında performansını kontrol etmek için yapılır.
Regresyon Testi: -
Regresyon testi esas olarak önceki hataların düzeltilmesi nedeniyle herhangi bir yeni hatanın ortaya çıkıp çıkmadığını kontrol etmek için kullanılır. Regresyon Testi, yazılım özellikleri ve işlevlerindeki her değişiklik veya güncellemeden sonra gerçekleştirilir.
Güvenilirlik Testi nasıl yapılır?
Güvenilirlik Testi diğer test türleriyle karşılaştırıldığında maliyetlidir. Bu nedenle güvenilirlik testi yaparken uygun planlama ve yönetim gereklidir. Bu, uygulanacak test sürecini, test ortamına ilişkin verileri, test programını, test noktalarını vb. içerir.
Güvenilirlik testine başlamak için, test uzmanının şu hususları takip etmesi gerekir:
- Güvenilirlik hedeflerini belirleyin
- Operasyonel profil geliştirin
- Testleri planlayın ve yürütün
- Kararları yönlendirmek için test sonuçlarını kullanın
Daha önce tartıştığımız gibi Güvenilirlik Testini gerçekleştirebileceğimiz üç kategori vardır: Modelleme, Ölçme ve İyileştirme.
Güvenilirlik Testinde yer alan temel parametreler şunlardır: -
- Arızasız çalışma olasılığı
- Arızasız çalışma süresi
- Gerçekleştirildiği ortam
Adım 1) Modelleme
Yazılım Modelleme Tekniği iki alt kategoriye ayrılabilir:
1. Tahmin Modellemesi
2. Tahmin Modellemesi
- Uygun modeller uygulanarak anlamlı sonuçlar elde edilebilir.
- Sorunları basitleştirmek için varsayımlar ve soyutlamalar yapılabilir ve tek bir model tüm durumlara uygun olmayacaktır. İki model arasındaki ana farklar şunlardır: -
Sorunlar | Tahmin Modelleri | Tahmin Modelleri |
---|---|---|
Veri Referansı | Geçmiş verileri kullanır | Yazılım geliştirmeden elde edilen güncel verileri kullanır. |
Geliştirme Döngüsünde kullanıldığında | Genellikle geliştirme veya test aşamalarından önce oluşturulur. | Genellikle Yazılım Geliştirme Yaşam Döngüsünün daha sonraki aşamalarında kullanılır. |
Zaman Çerçevesi | Gelecekteki güvenilirliği tahmin edecektir. | Şimdiki zaman veya gelecek zaman için güvenilirliği tahmin edecektir. |
Adım 2) Ölçüm
Yazılım güvenilirliği doğrudan ölçülemez; dolayısıyla yazılım güvenilirliğini tahmin etmek için diğer ilgili faktörler dikkate alınır. Yazılım Güvenilirliği Ölçümünün mevcut uygulamaları dört kategoriye ayrılmıştır: -
Ölçüm 1: Ürün Metrikleri
Ürün metrikleri 4 tür metriğin birleşimidir:
- Yazılım boyutu: – Kod Satırı (LOC), yazılımın boyutunu ölçmek için sezgisel bir başlangıç yaklaşımıdır. Bu ölçümde yalnızca kaynak kodu sayılır ve yorumlar ve diğer yürütülemeyen ifadeler sayılmaz.
- Fonksiyon noktası Metrik:- Fonksiyon Pont Metrik, Yazılım Geliştirmenin işlevselliğini ölçmeye yönelik bir yöntemdir. Giriş, çıkış, ana dosya vb. sayısını dikkate alır. Kullanıcıya sunulan işlevselliği ölçer ve programlama dilinden bağımsızdır.
- karmaşa doğrudan yazılım güvenilirliğiyle ilgilidir, bu nedenle karmaşıklığı temsil etmek önemlidir. Karmaşıklık odaklı ölçüm, kodu grafiksel bir gösterime basitleştirerek bir programın kontrol yapısının karmaşıklığını belirler.
- Test Kapsamı Metrikleri: - Yazılım ürün testlerini tamamlayarak arızayı ve güvenilirliği tahmin etmenin bir yoludur. Yazılım güvenilirliği, sistemin tamamen doğrulandığını ve test edildiğini belirleme işlevi olduğu anlamına gelir.
Ölçüm 2: Proje Yönetimi Metrikleri
- Araştırmacılar, iyi yönetimin daha iyi ürünlerle sonuçlanabileceğini fark etti.
- İyi yönetim, daha iyi geliştirme, risk yönetimi ve konfigürasyon yönetimi süreçlerini kullanarak daha yüksek güvenilirliğe ulaşabilir.
Ölçüm 3: Süreç Metrikleri
Ürünün kalitesi doğrudan süreçle ilgilidir. Süreç metrikleri yazılımın güvenilirliğini ve kalitesini tahmin etmek, izlemek ve geliştirmek için kullanılabilir.
Ölçüm 4: Arıza ve Arıza Metrikleri
Arıza ve Arıza Metrikleri esas olarak sistemin tamamen arızasız olup olmadığını kontrol etmek için kullanılır. Bu hedefe ulaşmak için hem test süreci sırasında (yani teslimattan önce) bulunan arıza türleri hem de teslimattan sonra kullanıcılar tarafından bildirilen arızalar toplanır, özetlenir ve analiz edilir.
Yazılım güvenilirliği şu şekilde ölçülür: arızalar arasındaki ortalama süre (MTBF). MTBF şunlardan oluşur:
- Arıza Ortalaması (MTTF): Ardışık iki arıza arasındaki zaman farkıdır.
- Ortalama Tamir Süresi (MTTR): Arızanın giderilmesi için gereken süredir.
MTBF = MTTF + MTTR
İyi bir yazılımın güvenilirliği arasında bir sayı vardır. 0 ve 1.
Programdaki hatalar veya hatalar giderildiğinde güvenilirlik artar.
Adım 3) İyileştirme
İyileştirme tamamen uygulamada veya sistemde oluşan sorunlara veya yazılımın özelliklerine bağlıdır. Yazılım modülünün karmaşıklığına göre, iyileştirme yolu da farklılık gösterecektir. İki ana kısıtlama, zaman ve bütçe, yazılım güvenilirliğini iyileştirmeye harcanan çabaları sınırlayacaktır.
Güvenilirlik Testi için Örnek Yöntemler
Güvenilirlik testi, sistem konuşlandırılmadan önce hataları keşfedip ortadan kaldırmak için bir uygulamanın çalıştırılmasıyla ilgilidir.
Güvenilirlik Testi için kullanılan başlıca üç yaklaşım vardır
- Test-Tekrar Test Güvenilirliği
- Paralel Formların Güvenilirliği
- Karar Tutarlılığı
Aşağıda tüm bunları bir örnekle açıklamaya çalıştık.
Test-Tekrar Test Güvenilirliği
Test-tekrar test güvenilirliğini tahmin etmek için, sınava giren tek bir grup, test sürecini yalnızca birkaç gün veya hafta arayla gerçekleştirecektir. Sınava giren kişinin alandaki becerilerinin değerlendirilebilmesi için süre yeterince kısa olmalıdır. Sınava giren kişinin iki farklı uygulamadan aldığı puanlar arasındaki ilişki istatistiksel korelasyon yoluyla tahmin edilir. Bu tür bir güvenilirlik, bir testin zaman içinde ne ölçüde istikrarlı, tutarlı puanlar üretebildiğini gösterir.
Paralel Formların Güvenilirliği
Birçok sınavın birden fazla soru kağıdı formatı vardır, bu paralel sınav formları Güvenlik sağlar. Paralel formların güvenilirliği, sınavın her iki formunun da aynı aday grubuna uygulanmasıyla tahmin edilir. İki test formunun ne kadar benzer şekilde işlediğini belirlemek için adayların iki test formundaki puanları ilişkilendirilir. Bu güvenilirlik tahmini, adayların puanlarının test formları arasında ne kadar tutarlı olmasının beklenebileceğinin bir ölçüsüdür.
Karar Tutarlılığı
Test-Tekrar Test Güvenilirliği ve Paralel Form Güvenilirliği işlemlerini yaptıktan sonra sınava girenlerin başarılı ya da başarısız olma sonucunu alacağız. Bu sınıflandırma kararının güvenilirliği, karar tutarlılığı güvenilirliğinde tahmin edilir.
Güvenilirlik Testinin Önemi
Yazılım ürünlerinin ve süreçlerinin performansını iyileştirmek için kapsamlı bir güvenilirlik değerlendirmesi gereklidir. Yazılım güvenilirliğinin test edilmesi, yazılım yöneticilerine ve uygulayıcılara büyük ölçüde yardımcı olacaktır.
Yazılımın güvenilirliğini test yoluyla kontrol etmek için: -
- Yazılımın ne kadar süreyle hatasız çalışacağını belirlemek için çok sayıda test senaryosunun uzun bir süre yürütülmesi gerekir.
- Test senaryosu dağıtımı, yazılımın fiili veya planlanan operasyonel profiliyle eşleşmelidir. Yazılımın bir işlevi ne kadar sıklıkla yürütülürse, o işleve veya alt kümeye tahsis edilmesi gereken test senaryolarının yüzdesi de o kadar büyük olur.
Güvenilirlik Test Araçları
Bazı Güvenilirlik test araçları Yazılım Güvenilirliği için kullanılanlar şunlardır:
1. WEIBULL++:- Güvenilirlik Ömrü Veri Analizi
2. RGA: - Güvenilirlik Büyüme Analizi
3. RCM: Güvenilirlik Merkezli Bakım
ÖZET
Güvenilirlik Testi, güvenilirlik mühendisliği programının önemli bir parçasıdır. Daha doğrusu, bir güvenilirlik mühendisliği programının ruhudur. Ayrıca, güvenilirlik testleri temel olarak yazılım testi sırasındaki belirli hata modlarını ve diğer sorunları ortaya çıkarmak için tasarlanmıştır.
In Yazılım MühendisliğiGüvenilirlik Testi üç bölüme ayrılabilir,
- Modelleme
- Ölçüm
- İyileştirme
Yazılım Güvenilirliğini Etkileyen Faktörler
- Yazılımdaki mevcut hataların sayısı
- Kullanıcıların sistemi çalıştırma şekli