how test software requirements specification
Bunun farkında mısın 'Çoğu Hatalar Yazılımda eksik veya hatalı işlevsel gereksinimlerden kaynaklanıyor mu? ' Ne kadar iyi yazılmış olursa olsun, yazılım kodu önemli değildir ve gereksinimlerde herhangi bir belirsizlik varsa hiçbir şey yapılamaz.
Yazılım Gereksinimleri Spesifikasyonu (SRS) hakkındaki bu makale, Gereksinimlerin açık, spesifik, ölçülebilir ve çelişkiler olmaksızın eksiksiz olması gerektiğini belirtir.
Gereksinim belirsizliklerini yakalamak ve bunları erken geliştirme yaşam döngüsünün kendisinde düzeltmek daha iyidir.
Geliştirme veya ürün sürümünün tamamlanmasından sonra hatayı düzeltmenin maliyeti çok yüksektir. Bu nedenle, SDLC'nin tasarım özellikleri ve proje uygulama aşamalarından önce gereksinim analizine sahip olmak ve bu hatalı gereksinimleri yakalamak önemlidir.
Ne öğreneceksin:
İşlevsel SRS Belgeleri Nasıl Ölçülür?
Gereksinimleri ölçmek için bazı standart testler tanımlamamız gerekiyor. Her gereksinim bu testlerden geçtikten sonra işlevsel gereksinimleri değerlendirebilir ve dondurabilirsiniz.
Hadi bir alalım misal, web tabanlı bir uygulama üzerinde çalışıyorsunuz. Gereksinim şu şekildedir: 'Web uygulaması, kullanıcı sorgularını olabildiğince erken sunabilmelidir'
Bu durumda Gereksinimi nasıl donduracaksınız?
İhtiyaç Memnuniyet kriterleriniz neler olacak? Cevabı almak için paydaşlara şu soruyu sorun: Sizin için ne kadar yanıt süresi uygun? Eğer cevap 2 saniye içinde olursa kabul edeceğimizi söylerlerse, bu sizin gereksinim önleminizdir. Bu gereksinimi dondurun ve sonraki gereksinim için de aynı prosedürü uygulayın.
Tasarım, Uygulama ve Test aşamalarında gereksinimleri nasıl ölçeceğimizi ve bunları nasıl donduracağımızı öğrendik.
Şimdi başka bir örnek alalım: Web tabanlı bir proje üzerinde çalışıyordum. Müşteri (paydaşlar) proje geliştirmenin ilk aşamasında proje gereksinimlerini belirledi. Yöneticim, gözden geçirilmesi için ekipteki tüm gereksinimleri dağıttı. Bu gereksinimler üzerine tartışmaya başladığımızda, sadece şok olduk!
Herkes gereksinimler hakkında kendi fikirlerine sahipti. İhtiyaç belgelerinde belirtilen 'şartlarda' birçok belirsizlik bulduk ve bunlar daha sonra inceleme / açıklama için müşteriye gönderildi.
Müşteri, pek çok farklı anlama sahip birçok belirsiz terim kullandı ve bu da tam anlamı analiz etmemizi zorlaştırdı. Müşteriden gelen gereksinim belgesinin bir sonraki sürümü, tasarım aşaması için donacak kadar açıktı.
Java'da soyut arayüz örneği
Bu örnekten, 'Gereksinimlerin açık ve tutarlı olması gerektiğini' öğrendik.
Gereksinim spesifikasyonunu test etmek için sonraki kriter 'Eksik gereksinimleri keşfetme' dir, hadi buna bir göz atalım.
Eksik Gereksinimleri Keşfedin
Çoğu zaman proje tasarımcıları her bir modül hakkında net bir fikir edinmezler ve sadece tasarım aşamasında bazı gereksinimleri üstlenirler. Herhangi bir gereksinim varsayımlara dayalı olmamalıdır. Gereksinimler, geliştirilmekte olan sistemin her yönünü kapsayacak şekilde eksiksiz olmalıdır.
Spesifikasyonlar, her iki gereksinim türünü de belirtmelidir, yani sistemin ne yapması ve ne yapmaması gerekir.
Genel olarak, belirtilmemiş gereksinimleri ortaya çıkarmak için kendi yöntemimi kullanırım. Okuduğumda Yazılım Gereksinimleri Spesifikasyon belgesi (SRS) , Belirtilen gereklilikler ve SRS belgesinin kapsaması gereken diğer gereklilikler hakkındaki kendi anlayışımı not ediyorum.
Bu, belirtilmemiş gereksinimler hakkındaki soruları sormama yardımcı olur ve böylece daha net hale getirir.
Gereksinimlerin eksiksiz olup olmadığını kontrol etmek için, gereksinimleri üç bölüme ayırın: 'Uygulanması gereken' gereksinimler, belirtilmeyen ancak 'varsayılan' olan gereksinimler ve üçüncü tür, 'hayal gücü' türü gereksinimlerdir. Yazılım tasarım aşamasından önce tüm gereksinimlerin karşılanıp karşılanmadığını kontrol edin.
Gereksinimlerin Proje Hedefiyle İlgili Olup Olmadığını Kontrol Edin
Bazen paydaşların, geliştirilmekte olan sisteme girmeyi umdukları kendi uzmanlıkları vardır. Bu gerekliliğin eldeki projeyle ilgili olup olmayacağını bile düşünmezler. Bu tür gereksinimleri belirlediğinizden emin olun. Proje geliştirme döngüsünün ilk aşamasında tüm ilgisiz gereksinimlerden kaçınmaya çalışın.
Mümkün değilse, paydaşlara bu özel gereksinimi neden uygulamak istiyorsunuz? Bu, belirli gereksinimi ayrıntılı olarak açıklayacak ve böylece gelecekteki kapsamı dikkate alarak sistemin tasarlanmasını kolaylaştıracaktır.
Ancak gereksinimlerin ilgili olup olmadığına nasıl karar verilir?
Basit cevap: Proje hedefini belirleyin ve şu soruyu sorun: Bu gereksinimi uygulamamak, belirlediğimiz hedefe ulaşmada herhangi bir soruna neden olur mu? Değilse, bu alakasız bir gerekliliktir. Paydaşlara bu tür gereksinimleri gerçekten uygulamak isteyip istemediklerini sorun.
Kısaca, Gereksinim Spesifikasyonu (SRS) dokümanı aşağıdakileri ele almalıdır:
- Proje işlevselliği (Ne yapılmalı ve ne yapılmamalıdır).
- Yazılım, Donanım arayüzleri ve kullanıcı arayüzü.
- Sistem Doğruluğu, Güvenlik ve performans kriterleri.
- Varsa uygulama sorunları (riskler).
Sonuç
Gereksinim ölçümünün neredeyse tüm yönlerini ele aldım. Gereksinimler hakkında daha spesifik olmak için, gereksinim testini tek bir cümleyle özetleyeceğim:
'Gereksinimler açık ve belirsiz olmalı, gereksinimler belirli değerler açısından ölçülebilir olmalı, gereksinimler her gereksinim için bazı değerlendirme kriterleri ile test edilebilir olmalı ve gereksinimler herhangi bir çelişki olmaksızın eksiksiz olmalıdır'
Gereksinimle ilgili başka hatalardan kaçınmak için test, gereksinim aşamasında başlamalıdır. İletişim kurmak Proje tasarımına ve uygulamasına başlamadan önce tüm gereksinimleri netleştirmek için paydaşlarınızla gittikçe daha fazla.
Yazılım Gereksinimlerini Test Etme konusunda herhangi bir deneyiminiz var mı?
Lütfen bunları aşağıdaki yorumlarda paylaşmaktan çekinmeyin.
Önerilen Kaynaklar
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Yazılım Testi QA Yardımcısı İşi
- Yıkıcı Muayene ve Tahribatsız Muayene Eğitimi
- Yazılım Testinde Zihin Haritalama - Testi Daha Eğlenceli Hale Getirmenin Yolları!
- Gereksinimler Olmadan Bir Uygulama Nasıl Test Edilir?
- Yazılım Test Kursu: Hangi Yazılım Test Enstitüsüne katılmalıyım?
- Kariyeriniz olarak Yazılım Testini Seçme
- Yazılım Testi Teknik İçerik Yazarı Serbest Çalışan İş