Güvenilirlik Testi
Güvenilirlik Testi , yazılımın belirli bir ortamda belirli bir süre boyunca hatasız bir işlem yapıp yapamayacağını kontrol eden bir yazılım test sürecidir. Güvenilirlik testinin amacı, yazılım ürününün hatasız ve beklenen amacı için yeterince güvenilir olmasını sağlamaktır.
Güvenilirlik "aynısını vermek" anlamına gelir, başka bir deyişle "güvenilir" kelimesi bir şeyin güvenilir olduğu ve her seferinde aynı sonucu vereceği anlamına gelir. Aynı şey Güvenilirlik testi için de geçerlidir.
Bu eğitimde öğreneceksiniz-
- Güvenilirlik Testi nedir?
- Güvenilirlik Testi Örneği
- Yazılım Güvenilirliğini Etkileyen Faktörler
- Neden Güvenilirlik Testi yapmalı?
- Güvenilirlik Testi türleri
- Güvenilirlik Testi nasıl yapılır
- Güvenilirlik Testi için Örnek Yöntemler
- Güvenilirlik Test Araçları
Güvenilirlik Testi Örneği
Bir mağazadaki bir bilgisayarın kilitlenmeden sekiz saat boyunca çalışır durumda olma olasılığı% 99'dur; buna güvenilirlik denir.
Güvenilirlik Testi üç bölüme ayrılabilir,
- Modelleme
- Ölçüm
- Gelişme
Aşağıdaki formül, başarısızlık olasılığını hesaplamak içindir.
Olasılık = Başarısız vakaların sayısı / İncelenen vakaların toplam sayısı
Yazılım Güvenilirliğini Etkileyen Faktörler
- Yazılımda bulunan hata 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 sorunu keşfetmeye yardımcı olur.
- Güvenilirlik testinin temel amacı, yazılımın müşterinin güvenilirlik gereksinimlerini karşılayıp karşılamadığını kontrol etmektir.
- Güvenilirlik testleri çeşitli düzeylerde gerçekleştirilecektir. Karmaşık sistemler birim, montaj, alt sistem ve sistem seviyelerinde test edilecektir.
Neden Güvenilirlik Testi yapmalı?
Verilen koşullar altında yazılım performansını test etmek için güvenilirlik testi yapılır.
Güvenilirlik testi yapmanın arkasındaki amaç,
- Tekrarlayan başarısızlıkların yapısını bulmak için.
- Meydana gelen arızaların sayısını bulmak için belirtilen süre miktarıdır.
- Başarısızlığın ana nedenini keşfetmek
- Arızayı düzelttikten sonra çeşitli yazılım uygulama modüllerinin Performans Testini yapmak
Ürünün piyasaya sürülmesinden sonra da kusurların oluşma olasılığını en aza indirebilir ve böylece yazılım güvenilirliğini artırabiliriz. Bunun için yararlı araçlardan bazıları - Trend Analizi, Ortogonal Hata Sınıflandırması ve resmi yöntemler, vb.
Güvenilirlik Testi türleri
Yazılım güvenilirlik testi, Özellik Testi, Yük Testi ve Regresyon Testini içerir
Özellik Testi: -
Öne Çıkan Testler, yazılım tarafından sağlanan özelliği kontrol eder ve aşağıdaki adımlarda gerçekleştirilir: -
- Yazılımdaki her işlem en az bir kez gerçekleştirilir.
- İki işlem arasındaki etkileşim azaltılır.
- Her işlemin doğru şekilde yürütüldüğü kontrol edilmelidir.
Yük Testi: -
Genellikle yazılım, sürecin başında daha iyi performans gösterecek ve bundan sonra bozulmaya başlayacaktır. Maksimum iş yükü altında yazılımın performansını kontrol etmek için Yük Testi yapılır.
Regresyon Testi: -
Gerileme 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 özelliklerinde ve işlevlerinde yapılan her değişiklik veya güncellemeden sonra yapılır.
Güvenilirlik Testi nasıl yapılır
Güvenilirlik Testi, diğer test türlerine kıyasla maliyetlidir. Bu nedenle, güvenilirlik testi yapılırken doğru planlama ve yönetim gereklidir. Bu, uygulanacak test sürecini, test ortamı verilerini, test programını, test noktalarını vb. İçerir.
Güvenilirlik testiyle başlamak için, test uzmanının aşağıdaki şeyleri takip etmesi gerekir:
- Güvenilirlik hedefleri 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
- Uygulandığı 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.
- Problemleri basitleştirmek için varsayımlar ve soyutlamalar yapılabilir ve hiçbir model tüm durumlar için uygun olmayacaktır.
İki modelin temel farklılıkları ş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 sonraki aşamasında kullanılacaktır. |
Zaman aralığı | Gelecekte güvenilirliği tahmin edecek. | Şimdiki zaman için veya gelecekteki zaman için güvenilirliği tahmin edecektir. |
Adım 2) Ölçüm
Yazılım güvenilirliği doğrudan ölçülemez ve bu nedenle, yazılım güvenilirliğini tahmin etmek için diğer ilgili faktörler dikkate alınır. Mevcut Yazılım Güvenilirliği Ölçümü uygulamaları dört kategoriye ayrılmıştır: -
1. Ürün Metrikleri: -
Ürün ölçümleri, 4 tür ölçümün 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 metrikte yalnızca kaynak kodu sayılır ve yorumlar ve diğer yürütülemez ifadeler sayılmaz.
- İşlev noktası Ölçüsü : - İşlev Pont Metriği, Yazılım Geliştirme'nin işlevselliğini ölçme yöntemidir. Girişlerin, çıkışların, ana dosyaların vb. Sayısını dikkate alır. Kullanıcıya teslim edilen işlevselliği ölçer ve programlama dilinden bağımsızdır.
- Karmaşıklık : - Doğrudan yazılım güvenilirliğiyle ilgilidir, bu nedenle karmaşıklığı temsil etmek önemlidir. Karmaşıklığa yönelik metrik, kodu grafiksel bir gösterime basitleştirerek bir programın kontrol yapısının karmaşıklığını belirleme yöntemidir.
- Test Kapsamı Metrikleri : - Yazılım ürünlerinin eksiksiz testini gerçekleştirerek hata 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.
2. Proje Yönetimi Ölçütleri
- Araştırmacılar, iyi yönetimin daha iyi ürünlerle sonuçlanabileceğini fark ettiler.
- İyi bir yönetim, daha iyi geliştirme süreci, risk yönetimi süreci, konfigürasyon yönetimi süreci vb. Kullanarak daha yüksek güvenilirlik sağlayabilir.
3. Süreç Ölçütleri
Ürünün kalitesi doğrudan süreçle ilgilidir. Süreç ölçütleri, yazılımın güvenilirliğini ve kalitesini tahmin etmek, izlemek ve iyileştirmek için kullanılabilir.
4. Arıza ve Arıza Ölçüleri
Arıza ve Arıza Ölçüleri, esas olarak sistemin tamamen arızasız olup olmadığını kontrol etmek için kullanılır. Hem test sürecinde (yani teslimattan önce) bulunan hata türleri hem de teslimattan sonra kullanıcılar tarafından bildirilen hata bu amaca ulaşmak için toplanır, özetlenir ve analiz edilir.
Yazılım güvenilirliği, arızalar arasındaki ortalama süre (MTBF) ile ölçülür . MTBF şunlardan oluşur:
- Ortalama başarısızlık (MTTF): Ardışık iki başarısızlık arasındaki zaman farkıdır
- Ortalama onarım süresi (MTTR): Arızanın giderilmesi için gereken süredir.
MTBF = MTTF + MTTR
İyi bir yazılım için güvenilirlik 0 ile 1 arasında bir sayıdır .
Programdaki hatalar veya hatalar giderildiğinde güvenilirlik artar.
Adım 3) İyileştirme
İyileştirme, tamamen uygulamada veya sistemde meydana gelen 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. Yazılım güvenilirliğinin iyileştirilmesine çabaları sınırlayacak iki ana kısıtlama zamanı ve bütçesi konmuştur.
Güvenilirlik Testi için Örnek Yöntemler
Güvenilirlik testi, bir uygulamanın çalıştırılmasıyla ilgilidir, böylece hatalar sistem dağıtılmadan önce keşfedilir ve giderilir.
Güvenilirlik Testi için kullanılan başlıca üç yaklaşım vardır
- Test-Tekrar Test Güvenilirliği
- Paralel Form 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 yalnızca birkaç gün veya hafta arayla test sürecini gerçekleştirecektir. Sınava girenlerin alandaki becerilerinin değerlendirilebilmesi için süre yeterince kısa olmalıdır. Sınava giren kişinin iki farklı idareden aldığı puanlar arasındaki ilişki, istatistiksel korelasyon yoluyla tahmin edilir. Bu tür bir güvenilirlik, bir testin zaman içinde ne kadar istikrarlı ve tutarlı puanlar üretebildiğini gösterir.
Paralel Form Güvenilirliği
Çoğu sınavda birden fazla soru kağıdı biçimi vardır, bu paralel sınav biçimleri Güvenlik sağlar. Paralel formların güvenilirliği, sınavın her iki formu da aynı sınava giren gruba uygulanarak tahmin edilir. Sınava girenlerin puanları, iki test formunun ne kadar benzer şekilde çalıştığını belirlemek için ilişkilendirilir. Bu güvenilirlik tahmini, sınava girenlerin puanlarının test formları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 yaptıktan sonra, sınava girenlerin başarılı veya başarısız bir sonucunu alacağız. Karar tutarlılığı güvenilirliğinde tahmin edilen bu sınıflandırma kararının güvenilirliğidir.
Güvenilirlik Testinin Önemi
Yazılım ürününün ve sürecinin performansını iyileştirmek için kapsamlı bir güvenilirlik değerlendirmesi gereklidir. Yazılım güvenilirliğini test etmek, yazılım yöneticilerine ve uygulayıcılarına büyük ölçüde yardımcı olacaktır.
Yazılımın güvenilirliğini test ederek kontrol etmek için: -
- Yazılımın hatasız olarak ne kadar süre çalışacağını bulmak için uzun bir süre boyunca çok sayıda test senaryosu yürütülmelidir.
- Test senaryolarının dağılımı, yazılımın gerçek veya planlanan operasyonel profiliyle eşleşmelidir. Yazılımın bir işlevi ne kadar sık yürütülürse, o işleve veya alt kümeye tahsis edilmesi gereken test senaryolarının yüzdesi o kadar büyük olur.
Güvenilirlik Test Araçları
Yazılım Güvenilirliği için kullanılan Güvenilirlik test araçlarından bazıları şunlardır:
1. WEIBULL ++: - Güvenilirlik Ömrü Veri Analizi
2. RGA: - Güvenilirlik Artış Analizi
3. RCM: -Güvenilirlik Merkezli Bakım
Özet:
Güvenilirlik Testi, bir güvenilirlik mühendisliği programının önemli bir parçasıdır. Daha doğrusu, güvenilirlik mühendisliği programının ruhudur.
Ayrıca, güvenilirlik testleri, yazılım testi sırasında belirli hata modlarını ve diğer sorunları ortaya çıkarmak için tasarlanmıştır.
Yazılım Mühendisliğinde Güvenilirlik Testi üç bölüme ayrılabilir,
- Modelleme
- Ölçüm
- Gelişme
Yazılım Güvenilirliğini Etkileyen Faktörler
- Yazılımda bulunan hata sayısı
- Kullanıcıların sistemi çalıştırma şekli