Yazılım Testi İçin Kısa Bir Kılavuz - Standartlar ve Süreçler
Yayınlanan: 2021-05-18"Masumiyeti test edilene kadar tüm kodlar suçludur" - bilinmeyen bir teknoloji meraklısı.
Sıkı testlerden geçmesine izin vermeden iyi bir yazılıma sahip olamazsınız. Bu makalede, daha iyi sonuçlar elde edebilmek için izlemeniz gereken yazılım test standartları ve süreçleri hakkında daha fazla bilgi edineceksiniz.
Yazılım Testi Nedir?
Basitçe söylemek gerekirse, yazılım testi yazılımı daha iyi hale getirir. Geliştirilen yazılımın doğruluğunu, eksiksizliğini ve kalitesini belirleyen bir süreçtir. Test, yazılımın kalitesini garanti eden müşteriye teslim edilmeden önce kusurları/hataları ortaya çıkardığı için önemlidir. Yazılımın kullanımını daha güvenilir hale getirir.

Yazılım Test Aşamaları

Yazılım testinin yukarıda listelenen aşamalarını inceleyelim:
İhtiyaç analizi:
Gereksinim analizi, oluşturulacak/değiştirilecek bir yazılım uygulaması için son kullanıcıların beklentilerini tanımlar. Bu nedenle gereksinim analizi, yazılım veya sistem gereksinimlerini analiz etmek, raporlamak, belgelemek, doğrulamak ve yönetmek anlamına gelir.
Test mühendisinin gereksinim analizini tamamlamak için aşağıdaki görevleri gerçekleştirmesi gerekir.
- Varsa, eksiksizliği, netliği, belirsizliği kontrol etmek için her gereksinimi okuyun.
- Gereksinim analizi aşamasında tüm olası senaryoların dikkate alındığını doğrulayın ve ele alınmayan tüm durumları veya boşlukları belirlemeye çalışın.
- Ekibin aynı fikirde olması için günlük çağrılar üzerinden gereksinim analizinden kaynaklanan sorular veya şüpheler üzerine tartışma.
- Test edilen yazılımın tam gereksinim kapsamını sağlamak için gereksinim izlenebilirlik matrisinin kullanılması gerekir.
Aşağıda RTM'nin (Gereksinim İzlenebilirlik Matrisi) örnek şablonu bulunmaktadır.

Kredi bilgileri: Opencodez
Test Planlaması:
Test planı, bir yazılım uygulamasında yazılım testi gerçekleştirmek için gereken test hedeflerini, programı, tahmini, çıktıları ve kaynakları açıklayan bir belgedir. Test planı, test edilen bir uygulamanın kalitesini doğrulamak için gereken çabaların anlaşılmasına ve belirlenmesine yardımcı olur. Aşağıda örnek bir çevik test planı verilmiştir:

Kredi bilgileri: zenq
Test Tasarımı:
Test tasarımı, test için gerekli kullanım senaryolarının tasarlandığı bir aşamadır. Test tasarımı, test planına göre yapılır. Tasarlanan test senaryoları, yazılım uygulamasının tüm gereksinimlerini karşılayacak şekilde yapılmıştır. Tüm gereksinim boşluklarını kapatmak için test senaryolarının izlenebilirlik matrisi ile eşleştirilmesi de gerekli kabul edilir.
Mutlu yol ve olumsuz senaryo testinde eksiksiz test kapsamı sağlamak için aşağıdaki test tasarım tekniklerine dayalı olarak tasarlanmış Test Senaryoları/test senaryoları.
- Sınır Değer Analizi (BVA)
- Denklik Bölümleme (EP)
- Vaka Testini Kullanın
- Etkiye dayalı test
Örnek test tasarım şablonu aşağıdadır

Kredi: https://www.softwaretestingclass.com/
Test Ortamı Kurulumu:
Test ortamı, yazılım uygulamasında test senaryolarını uygulamak ve yürütmek için oluşturulmuş bir platformdur. Test ortamı, gerekli ağ yapılandırması ve gerekli ayarlarla birlikte gerekli donanım ve yazılımın entegrasyonu ile oluşturulur. Herhangi bir teste başlamadan önce, test ortamının fizibilitesini kontrol etmek için test ortamında bir duman testi yapmak her zaman önemlidir.

Test uygulaması:
Test yürütme, tasarlanan test senaryolarını yürütme, beklenen ve gerçek sonuçları belgeleme ve karşılaştırma sürecidir. Riskler göz önünde bulundurularak bir testin yürütülmesi için aşağıdaki faktörler göz önünde bulundurulur. Bu döngü için yürütülecek test takımının bir alt kümesini seçin ve ilgili testçiye/kalite analistine atayın.
- Test planına göre tasarlanan test senaryoları / test senaryoları baz alınarak test uygulaması gerçekleştirilir.
- Gözlemler - Test yürütmesi sırasında karşılaşılan ilgili JIRA biletinde belgelenmiştir
- İlgili JIRA biletindeki Test Kanıtı Belgeleri aşağıdakilerden oluşur
◦ Test Durumu: BAŞARILI / BAŞARISIZ - JIRA biletinin test durumunu gösterir
◦ Test URL'si: Belirli gereksinimi test etmek için kullanılan test verilerinden oluşur
◦ Test Senaryoları ve Ekran Görüntüleri
- Akıl Sağlığı ve Regresyon - Akıl sağlığı ve regresyon testi, UAT Öncesi test önlemlerinin bir parçası olarak her sprint sonunda düzenli olarak daha yüksek ortamlarda (STG) gerçekleştirilir.
Test Kapanışı:
Sprint testi kapanış kontrol listesi, çoklu sprintler arasında sorunsuz geçiş için her sprint sonunda aşağıdaki aktivitelerin gerçekleştirildiğinden emin olur.
- Tam kapsama ile zaman çizelgelerine göre tamamlanmış fonksiyonel testler
- Ekip tarafından günlüğe kaydedilen ve ele alınan tüm gözlemler
- Kusur olarak kaydedilen ve ilgili bilet sahiplerine atanan geçerli gözlemler
- Her bilet için ilgili manuel test ve cihaz test sonuçlarıyla güncellenen test kanıtı belgeleri
- Kod daha yüksek ortamlarla birleştirilmeden önce test ortamında gerçekleştirilen regresyon testi, yani. bu durumda Dev'den STG'ye
Cihaz Testi/Çapraz Tarayıcı Testi:
Cihaz/Çapraz tarayıcı Testi, bir Cihazın/tarayıcının geliştirildiği gereksinimleri ne kadar iyi karşıladığını görmek için Kalitesinin test edildiği süreçtir. Cihaz/Çapraz tarayıcı testi, müşteri tarafından onaylandığı üzere aşağıdaki cihaz/tarayıcı listesi kapsamındadır. Cihaz testi için platform olarak kullanılan tarayıcı yığını.

Farklı Yazılım Testi Türleri
Birim Testi:
Birim Testi, test stratejilerinizi hızlandırmak ve istenmeyen test döngülerini azaltmak için bilgileri erken teslim etmek için küçük kod birimlerini kontrol etmektir. Birim testi, genellikle kod yazılım test ekibine teslim edilmeden önce bir geliştirici tarafından gerçekleştirilir.
Duman Testi:
Duman Testi, dağıtılan yazılımın kararlı olup olmadığını belirleyen bir yazılım test prosedürüdür. Duman testi, test ekibinin daha fazla yazılım testine devam etmesi için bir onaydır. Yazılım işlevlerini test etmek için her yapı üzerinde çalıştırılacak minimum bir dizi testten oluşur.
Entegrasyon Testi:
Entegrasyon Testleri, sistemin davranışını kontrol etmek için entegre bir donanım ve yazılım ortamında gerçekleştirilen bir test türü olarak tanımlanır. Yazılım/donanım bileşenleri, tamamlanan sistem test edilene kadar aşamalı olarak entegre edilir ve test edilir.
Sistem Testi:
Tamamen entegre bir yazılım ürününün sistem testi. Teslim edilen ürünün gereksinim belgesinde belirtilen gereksinim özelliklerini karşıladığını doğrulamak için yapılan son testtir. Hem işlevsel hem de işlevsel olmayan gereksinimler kapsam dahilinde değerlendirilmelidir.
Gerileme testi:
Regresyon, son kod değişikliklerinin zaten var olan işlevselliği değiştirmediğini veya yok etmediğini doğrular. Regresyon testi hem alt küme/tam regresyon içerir, hem de manuel veya otomatik test senaryolarıyla kapsanabilir.
Kullanıcı Kabul Testi (UAT):
Kullanıcı Kabul Testi, yazılım testi yaşam döngüsünün son aşamalarından biridir ve yazılım tamamen test edildikten sonra müşteri tarafından gerçekleştirilir. UAT, üretim sürümünün onayları ve dağıtımları için ürünün son kullanıcıları tarafından gerçekleştirilir.
