Güvenilirlik testi ( Reliability Testing ) , sistem görevlendirilmeden önce , uygulamadaki hataları-bozuklukları bulup kaldırarak uygulamayı çalıştırmakla ilgili testler hakkındadır.
Güvenilirlik testleri amacı , ürünün güvenilirlğini belirlemek ve yazılımın müşterinin güvenilirlik ihtiyaçlarını karşılayıp karşılamadığına karar vermektir.
ANSI'ya göre yazılım güvenilirliği tanımı şu şekilde yapılır : Belirli bir ortam ve belirli bir zaman içinde , hatasız yazılım işlem olasılığı (failure-free software operation) dır.
Yazılım güvenilirliği zamanın doğrudan bir fonksiyonu değildir.
Elektronik ve mekanik parçalar zaman geçtikçe ve kullandıkça yıpranacak ve eski hale gelecektir.Fakat yazılım , kendi yaşam döngüsü boyunca , aşınmayacak ya da paslanmayacaktır.
Kasten yükseltme ya da değiştirme yapılmadıkça , yazılım zamanla değişmeyecektir.
Güvenilirlik , bir ölçümün tutarlılığı ile ilgilidir.Tekrar tekrar aynı sonucu alırsanız o zaman bir test güvenilir kabul edilir.
Daha öncede anlatıldığı üzere yazılım güvenilirliği belirli bir ortamda ve bir zaman belirli bir süre içerisinde hatasız yazılım operasyon olasılığıdır.
Yazılım güvenilirliği , sistem güvenilirliğini etkileyen en önemli faktördür.
Güvenilirlik testi en önemli hataları tespit etmeye yönlendirerek, bu sayede güncel işlemler içerisindeki en muhtemel bozuklukları daha erken ortaya çıkarma eğilimindedir.
Bu testler bir kaç aşamada gerçekleştirilebilir.Karmaşık sistemlerin bileşenleri, devre kartı, ünite, montaj, alt sistemler ve sistem düzeyleri test edilebilir.
Yazılım güvenilirliği yazılım kalitesinin önemli bir parçasıdır.
Yazılım güvenilirlik çalışması üç bölüme kategorize edilebilir:
1. Modelleme (Modeling)
2. Ölçüm (Measurement)
3. İyileştirme (Improvement)
Modeling (Modelleme) : Yazılım güvenilirlik modeli , problemler için en uygun model uygulanarak, anlamlı sonuçlar elde etme noktasına gelmesidir.
Bir çok model vardır , fakat yazılım karakteristiğine uygun tek bir yazılım modeli saptanır.
Varsayımlar ve soyutlamalar sorunu basitleştirmek için yapılmalıdır.
Tüm bu durumlar için evrensel tek bir model yoktur.
( Measurement )Ölçüm: Yazılım güvenilirliği ölçümü saflıktır.
Ölçüm diğer mühendislik alanında olduğu gibi, yazılımda sıradanlıktan uzaktır.
"Yazılım nicelik bakımından daha iyi nasıl olur?" sorusun oldukça basit görünmesine rağmen hala iyi bir cevabı bulunmamaktadır.
Diğer ilişkili faktörler yazılım güvenilirliği tahmin etmek ve ürünler arasında karşılaştırma yapmak için ölçülür ; böylece yazılım güvenilirliği doğrudan ölçülen olamaz.
Geliştirme süreci, bozukluklar ve bulunan hatalar yazılım güvenilirliği ile ilişkili tüm faktörlerdir.
(İmprovement) İyileştirme : yazılım güvenilirliği iyileştirmesi zorunludur.
Problemin zorluğu , yazılım güvenilirliğinin ve yazılım özelliklerinin (karakteristiğinin) eksik anlaşılmasından kaynaklanmaktadır.
Şimdiye kadar, yazılım karmaşıklık sorununu çözmek için iyi bir yol yoktu.
Karmaşık yazılım modüllerinin bir kısmının tamamını test etmek imkansızdır.Kusursuz yazılım ürünü garanti edilemez.
Gerçekte, bütçe ve zaman kısıtlamaları , yazılım güvenilirliğini geliştirmek için harcanan eforu ciddi bir şekilde limitler.
Not: Aşağıdaki linkten çevirisini yaptım.Yazılım güvenilirliği hakkında hiç türkçe kaynak yok malesef...Faydalanmanızı umuyorum .
Güzel bir site takip etmenizi öneriyorum. test teknikleri ve proje yönetimiyle ilgili bir çok bilgi içermektedir.
Kaynak : http://istqbexamcertification.com/what-is-reliability-testing-in-software/