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:

  1. Derece Hatalar: Sistemin genel çalışmasını direkt etkileyen hatalardır.
  2. Derece Hatalar: Sistemin genel çalışmasını direkt etkilemeyen fakat işlevsel olarak bazı kısımların çalışmasını engelleyen hatalardır.
  3. 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 SeviyeleriGörev ve Sorumluluklar
Birim TestleriGeliştirme Ekibi
Entegrasyon TestleriTest Ekibi
Sistem TestleriTest Ekibi
Kabul TestleriMüşteri ve Test Ekibi
Tablo: Görev ve Sorumluluklar

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ıVersiyonKullanım Amacı
JUnit4.0Birim testleri için geliştirme ekibi tarafından JUnit kütüphanesi kullanılacaktır.
Selenium WebDriver3.141.0Sistem testleri için test ekibi tarafından SeleniumWebDriver test otomasyon aracı kullanılacaktır.
Apache JMeter4.0Fonksiyonel olmayan testler (Performans, Yük ve Stres) için Apache JMeter aracı kullanılacaktır.
TFS2013Test faaliyetleri sonucunda bulunan hatalar TFS üzerinde ilgili geliştiriciye hata kaydı olarak açılacaktır.
Tablo: Test Araçları

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 SeviyeleriGünBaşlangıç TarihiBitiş Tarihi
Birim Testleri9001.01.201901.04.2019
Entegrasyon Testleri9001.04.201901.07.2019
Sistem Testleri12001.07.201901.11.2019
Tablo: Test Takvimi

Faydalı olması dileğiyle…