Yazılım Test Planı Nasıl Hazırlanır ?
Merhaba arkadaşlar bu yazımda Yazılım Test Planı Nasıl Hazırlanır? sorusuna cevap arayacağız. Bir Yazılım Test Planında neler olmalı örnekler vererek açıklamaya çalışacağım.
Yazılım projelerinde test faaliyetlerine başlamadan önce kuşkusuz yapılması gereken ilk iş planlamadır. Yazılım Test Planı (YTP) gerçekleştirilecek test faaliyetlerinin genel bir planlamasını içerir. YTP dokümanının hazırlanmasında asıl sorumlu test ekibidir ancak test ekibi çeşitli konuları (test takvimi, giriş-çıkış kriterlerinin belirlenmesi vb.) proje yöneticisiyle konuşarak YTP dokümanına nihai şeklini verir.
Yazılım Test Planında Olması Gereken Bölümler
Bir Yazılım Test Planı dokümanı aşağıdaki ana başlıklardan oluşmalıdır.
- Test Stratejisi ve Test Edilecek Bileşenler
- Giriş ve Çıkış Kriterleri
- Hata Yönetimi
- Risk Yönetimi
- Görev ve Sorumluluklar
- Test Ortamı ve Test Araçları
- Test Takvimi
Test Stratejisi ve Test Edilecek Bileşenler
Test edilecek modüller, kullanılacak test seviyeleri ve test teknikleri bu bölümde tanımlanır. Örnek metin aşağıdaki gibidir.
X projesinde yazılım test faaliyetleri süresince birim, entegrasyon ve sistem testleri gerçekleştirilecektir.
Aşağıdaki yazılım modülleri bu plan kapsamında belirtilen testlere tabi tutulacaktır.A Modülü, B Modülü, C Modülü
Giriş ve Çıkış Kriterleri
Plan kapsamında belirtilen testlerin hangi koşulda başlatılacağı ve hangi koşullar sağlandığında tamamlanacağı bu bölümde ayrıntılı bir şekilde tanımlanmalıdır. Giriş-Çıkış kriterleri proje yöneticisi ile beraber belirlenmektedir.
Hata Yönetimi
Hata önemine göre derecelendirme kriterleri belirlenir. Bulunan hataların hangi proje ve iş yönetimi aracında (TFS, JIRA vb.) kayıt açılacağı belirtilir. Örnek metin aşağıdaki gibidir.
X projesi kapsamında bulunan hatalarda aşağıdaki derecelendirme kriterleri kullanılacaktır:
- Derece Hatalar: Sistemin genel çalışmasını direkt etkileyen hatalardır.
- Derece Hatalar: Sistemin genel çalışmasını direkt etkilemeyen fakat işlevsel olarak bazı kısımların çalışmasını engelleyen hatalardır.
- Derece Hatalar: Sistemin çalışmasını engellemeyen, görsel yönden ortaya çıkan hatalardır.
X projesi kapsamında bulunan hatalar, TFS altında kayıt altına alınacaktır. Bu hata kayıtları önem ve öncelik derecesine göre işaretlenecektir.
Risk Yönetimi
Proje boyunca oluşacak her türlü risk Proje Risk Veri Tabanı ile kayıt altına alınmalıdır. YTP dokümanında ise test faaliyetlerinin başlamasını veya tamamlanmasını etkileyecek her türlü risk bu kısımda belirtilmelidir. Test faaliyetlerinin ilerlemesini engelleyebilecek riskler aşağıdaki gibi olabilir:
- Gereksinimlerin çıkarılması geciktiğinde test adımları ve test senaryolarının yazılması gecikebilir.
- Test ekibi farklı projelerde görev yapması durumunda test faaliyetleri aksayabilir.
- Proje kapsamında geliştirilecek modüllerin zamanında tamamlanmaması sonucunda test faaliyetleri başlamayacaktır.
Görev ve Sorumluluklar
Proje kapsamında test seviyelerine göre görev dağılımı ve sorumluluklar bu kısımda tanımlanacaktır.
Test Seviyeleri | Görev ve Sorumluluklar |
Birim Testleri | Geliştirme Ekibi |
Entegrasyon Testleri | Test Ekibi |
Sistem Testleri | Test Ekibi |
Kabul Testleri | Müşteri ve Test Ekibi |
Test Ortamı ve Test Araçları
Test faaliyetlerinin yürütülmesi için kullanılacak bilgisayarların / sunucuların donanımsal ve yazılımsal özellikleri bu kısımda detaylı bir şekilde yazılacaktır. Test otomasyon araçları kullanılacaksa bunlar hakkında bilgi (versiyonu gibi) eklenmelidir. Testin yürütüleceği platformlarda (Windows, Linux, MacOS vb.) ayrıntılı şekilde belirtilmelidir. Eğer mümkünse test ortamını anlatan basit ve anlaşılır bir şema çizerek diğer paydaşlarında test ortamı hakkında bilgi edinebilmeleri sağlanır. Test Ortamı ve Test Araçları bölümü aşağıdaki şekilde yazılabilir.
X projesi kapsamında entegrasyon ve sistem test faaliyetleri 192.168.1.254 IP adresine sahip sunucu üzerinde yürütülecektir. Sunucuya ait özellikler aşağıdaki gibidir:
- CPU: Intel Xeon 3.3 GHz
- RAM: 8 GB DDR4 2133 MHz
- HDD: 100 GB
- OS: Windows Server 2012 R2
- Yüklenecek Programlar: Java 8 Update 211 x86
Test Araçları | Versiyon | Kullanım Amacı |
JUnit | 4.0 | Birim testleri için geliştirme ekibi tarafından JUnit kütüphanesi kullanılacaktır. |
Selenium WebDriver | 3.141.0 | Sistem testleri için test ekibi tarafından SeleniumWebDriver test otomasyon aracı kullanılacaktır. |
Apache JMeter | 4.0 | Fonksiyonel olmayan testler (Performans, Yük ve Stres) için Apache JMeter aracı kullanılacaktır. |
TFS | 2013 | Test faaliyetleri sonucunda bulunan hatalar TFS üzerinde ilgili geliştiriciye hata kaydı olarak açılacaktır. |
Test Takvimi
Test seviyelerine göre test faaliyetlerinin başlangıç, bitiş tarihleri ve tahmini süre bilgisi belirtilmelidir. Test takvimine Proje Yönetim Planında da yer verilebilir, bu durumda Proje Yönetim planını referans olarak gösterebilirsiniz. Referans olarak göstermek istemiyorsanız proje yöneticinizle belirlediğiniz test takvimini aşağıdaki tabloda olduğu gibi gösterebilirsiniz.
Test Seviyeleri | Gün | Başlangıç Tarihi | Bitiş Tarihi |
Birim Testleri | 90 | 01.01.2019 | 01.04.2019 |
Entegrasyon Testleri | 90 | 01.04.2019 | 01.07.2019 |
Sistem Testleri | 120 | 01.07.2019 | 01.11.2019 |
Faydalı olması dileğiyle…