Google gibi büyük yazılım şirketleri, yazılımlarındaki düşük öncelikli hatalara rağmen başarılı olurlar, ancak daha küçük şirketler ve yeni başlayanlar bu lükse sahip değildir.
Müşteriler, ürünlerin satış sayfasında veya dokümantasyonda iddia ettiklerini yapmalarını bekler. Dışarıda çok fazla seçenek varsa, ürün zamanlarını ve paralarını harcarsa, gemiyi atlama konusunda iki kez düşünmezler. Bu nedenle, yazılım aşağıdakiler için yayınlanmadan önce sıkı testlerden geçmektedir:
Orijinal konsept ile nihai çıktı arasındaki farkları vurgulayın
Yazılımın tasarımcının planladığı şekilde çalıştığını doğrulayın
son ürünü doğrulayın - ürün müşteri gereksinimlerini karşılamalıdır
özellikleri ve kaliteyi değerlendirmek
Testler sıkı bir planı takip eder. Bu, paydaşlara ürünü ileriye götürmek için gerekli bilgileri sağlarken, değerli kaynakların (beceri, zaman ve para) kullanımını optimize eder. Amaç, güçlü bir kalite güvence programı ile iyi bir son kullanıcı deneyimini kolaylaştırmaktır. QA yöneticileri, bu kadar yüksek puanlarla, teknikte en üst düzeydeki kazananlardır . Test genellikle aşağıdaki adımları izler:
İhtiyaç analizi, yöneticilerin uygun bir test stratejisini uygulamaya koymak için bir planı çizdikleri durumlarda.
Testler başlıyor ve sonuçlar analizden geçiyor.
Herhangi bir kusur düzeltildi ve yazılım regresyon testinden geçiyor - programı kontrol etmek için bir sistem hala değişiklikler yapıldıktan sonra çalışıyor.
Bir test kapanış raporu daha sonra tüm süreci ve sonuçları açıklar.
Yazılım Test Yöntemleri
Ürün davranışını ve performansını değerlendirmek için kullanılan farklı yöntemler.
Kara kutu ve beyaz kutu testi iki temel yöntemdir.
- Kara kutu testi - Fonksiyonel veya spesifikasyon tabanlı test olarak da adlandırılan bu yöntem çıktıya odaklanır. Test cihazları iç mekanizmalarla ilgilenmez. Yazılımın sadece ne yapması gerektiğini kontrol ediyorlar. Kodlama bilgisi gerekli değildir ve test kullanıcıları kullanıcı arayüzü düzeyinde çalışır.
- Beyaz kutu testi - Bu yöntem, kodlama bilgisini test prosedürünün bir parçası olarak kullanır. Bir ürün başarısız olduğunda, test kullanıcıları, sebebi bulmak için gerektiği kadar kodun içine girer. Yazılım geliştiricileri, ürünün nasıl çalışması gerektiğini belirlediklerinden bunu kendileri yaparlar. Yapıya dayalı ve cam kutu testi bu yöntemin diğer isimleridir.
- Statik test - Test cihazları, yazılımın kodunu ve belgelerini inceler, ancak programı yürütmezler. Statik testler, doğrulama işlemi sırasında ürünün geliştirilmesinde erken başlar.
- Dinamik test - Yazılım çeşitli girişlerle yürütülür ve test cihazları çıktıları bu yöntemle beklenen davranışla karşılaştırır.
- GUI testi - Bu, GUI özelliklerini test eder - metin biçimlendirme, metin kutuları, düğmeler, listeler, düzen, renkler, yazı tipleri, yazı tipi boyutları vb. GUI testi zaman alıcıdır ve üçüncü taraf şirketler genellikle geliştiriciler yerine görevi üstlenirler.
Test seviyeleri
Bunlar, yazılım geliştirme yaşam döngüsünün her aşamasında zayıflık ve örtüşen alanları tanımlamak için gereklidir.
- Birim testi - Geliştiriciler, sınıflar, arayüzler ve işlevler / prosedürler gibi kodun en temel parçalarını test eder. Kodlarının nasıl yanıt vereceğini biliyorlar ve çıktıya bağlı olarak ayarlamalar yapabilirler.
- Bileşen testi - Diğer adlar modül veya program testi. Birim testine benzer, ancak daha yüksek bir entegrasyon seviyesi içerir. Yazılımın modülleri, kendi işlevlerini doğrulamak için hatalar için test edilir.
- Entegrasyon testi - Bu modüller entegre edildiğinde hataları tanımlar. Farklı entegrasyon testleri aşağıdan yukarıya, yukarıdan aşağıya ve fonksiyonel artışa sahiptir.
- Sistem testi - Bir projenin bileşenleri, bu yöntemle farklı ortamlarda bir bütün olarak test edilir. Kara kutu yönteminin altına düşer ve süreçteki son testlerden biridir. Sistemin, iş ve kullanıcı ihtiyaçlarını karşılamak için gerektiği gibi çalışıp çalışmadığını belirler.
- Alfa testi - Dahili personel yazılımı, geliştiricinin sitesinde simüle edilmiş veya gerçek bir ortamda test edin. Bundan sonra geliştiriciler, hataları ve diğer sorunları giderir.
- Beta testi - Saha testi olarak da bilinir, müşteri ürünü gerçek koşullarda kendi sitelerinde test eder. Müşteri, bir grup son kullanıcıya yazılımını, yayın öncesi veya beta sürümleri aracılığıyla test etme fırsatı sunabilir. Olası geliştirmeler hakkında geri bildirim geliştiriciye gönderilir.
- Kabul testi - Ayrıca, kara kutu testi kapsamında istemci, geliştiricinin programı istenen özelliklere göre oluşturup oluşturmadığını öğrenmek için yazılımı test eder.
Test türleri
Bu yazılım testleri belirli hedeflere odaklanmaktadır.
- Kurulum testi - Yazılım test mühendisi ve yapılandırma yöneticisi, son kullanıcının programı yükleyip çalıştırabilmesini sağlamak için bu testi gerçekleştirir. Yükleme dosyaları, yükleme konumları ve yönetim ayrıcalıkları gibi alanları kapsar.
- Geliştirme testi - Bu, kusurları tespit etmek ve önlemek için bir dizi senkronize stratejiyi uygular. Statik kod analizi, eş kod incelemeleri, izlenebilirlik ve ölçüm analizlerini içerir. Amaç riskleri azaltmak ve maliyetleri azaltmaktır.
- Kullanılabilirlik testi - Kullanıcı deneyimi bu testte spot ışığın altındadır. GUI'nin ne kadar iyi tasarlandığını ve kullanım kolaylığını ölçer. Test, fonksiyonların doğruluğunu ve etkinliğini ve test deneklerinin duygusal tepkilerini kontrol eder.
- Sanity testi - Bu, yazılımın daha fazla teste devam etmek için zaman ve maliyete değip değmediğini gösterir. Çok fazla kusur ve daha agresif testler takip etmiyor.
- Duman testi - Duman testi, serbest kalmayı önleyecek kadar ciddi olan temel hataları ortaya çıkarır. Bu yeni bir yapı üzerinde gerçekleştirildiğinde, bir yapı doğrulama testi denir.
- Regresyon testi - Sistem değişiklik geçirdiğinde, regresyon testi beklenmeyen davranışları izler. Modüller veya bileşenler üzerindeki olumsuz etkileri işaret eder.
- Tahribatsız test - Test cihazları anormal girdileri girer ve yazılımın beklenmedik girdileri yönetme yeteneğini ayırt eder. Bu, geliştiricilere programın hata yönetiminde ne kadar güçlü olduğunu gösterir.
- Kurtarma testi - Donanım veya diğer işlevler başarısız olduğunda, bu test, yazılımın ne kadar iyi bir şekilde geri kazanılabileceğini ve çalışmaya devam edeceğini gösterir.
- Otomatik test - Bu, manuel olarak uygulanması zor işlevleri yerine getirir. Testleri çalıştırmak ve gerçek ve beklenen sonuçlara ilişkin veri sağlamak için özel bir yazılım kullanır.
- Uyumluluk Testi - Yazılım farklı bilgi işlem ortamlarında çalışmalıdır, bu yüzden farklı sistemlerle uyumluluğu kontrol eder. Örneğin, yazılım çeşitli işletim sistemleri ve web tarayıcıları ile çalışır mı?
- Performans testi - Bu, yazılım performansını farklı senaryolarda inceleyen derinlemesine bir testtir. Duyarlılık, istikrar, kaynak tahsisi ve hız hakkında bilgi toplanır. Ayrıca, bu süreçte hacim, kapasite ve başak testi gibi alt testler de rol oynamaktadır.
- Güvenlik testi - Bu, yazılımın kullanıcıların güvenliğini koruma yeteneğini ölçer. Bu, yetkilendirme işlevleri, kimlik doğrulama, gizlilik, bütünlük, kullanılabilirlik ve reddetme anlamına gelir.
- Erişilebilirlik testi - Bu, kullanılabilirlik testi ile aynı şey değildir. Bu, öğrenme ve fiziksel engellerin dahil olduğu farklı yeteneklere sahip kullanıcıların yazılımı ne ölçüde kullanabileceğini belirler.
- Uluslararasılaştırma ve yerelleştirme testi - Sonuçlar, yazılımın farklı dillere ve bölgesel taleplere nasıl uyum sağlayabileceğini gösterir. Bu, belirli yerler için bileşenler ekleyerek ve metni tercüme etmeyi içerir.
Yazılım testi, bir ürünü pazara sunmanın önemli bir parçasıdır. Ve test yapanlar olmadan, mevcut yazılımın geniş yelpazesi mevcut olmayacaktı. BCS, IT için Chartered Institute, ISTQB® (Uluslararası Yazılım Test Yeterlilikler Kurulu) ve ASQ (eskiden Amerikan Kalite Derneği) gibi kuruluşlar aracılığıyla sertifikalı bir yazılım test cihazı ol.