Yazılım test mühendisi, bir yazılım projesinin yazılım sürecinden başlayıp ortaya çıkan yazılım ürününün, proje iş gereksinimlerine uygun olup olmadığını test eden kişidir. Yazılım test süreci yazılım ürünü ortaya çıktıktan sonra değil, yazılım geliştirme sürecinden itibaren başlar. Fakat yazılım bittikten sonra yazılım testi başlar gibi büyük bir yanılgı hala devam etmektedir.

Yazılım test süreçlerinde farklı teknikler ve yöntemler kullanılmaktadır. Evrensel diyebileceğimiz bir test süreci yoktur. Çünkü her yazılım projesinin ihtiyaçları ve gereksinimleri kendine özel olmaktadır. Bu nedenle de her yazılım projesinin test süreci, o projeye göre özelleştirilmelidir.

Yazılım test sürecinde öncelikle master test plan oluşturulur. Master test plan testin nasıl planlanacağını ve test süreçlerinin nasıl yönetileceğini kapsayan bir dökümandır. Test tasarımı yaparken test şartlarını tanımlayan test case’ler oluşturulur. Test case’ler bizim test yapımında gerçekleştireceğimiz adımlardır diyebiliriz. Basit bir şekilde test case yapısını açıklayalım:

Test Case ID: Test Case numarası.

Test Scenario: Test Case içerisinde yapılacak olan işlemin detaylı ve net bir açıklaması.

Test Steps: Test Case’imizi gerçekleştirmek için yapılacak işlemin adım adım yazılması.

Test Data: Test Case gerçekleştirirken kulllanılan veriler.

Expected Results: Beklenen sonuç, Test Case gerçekleştiğinde almak istediğimiz asıl çıktıdır.

Actual Results: Test Case gerçekleştiğinde alınan o anki çıktı.

Pass/Fail: Test Case’de actual result, expected result ile eşletiğinde case Pass olur. Eşleşmediği halde ise Fail olur.

Preconditions: Test Case’i gerçekleştirebilmek için gerekli olan veriler, işlemler.

Örnek bir test case yapalım: Geçerli bir kullanıcı adı ve şifre ile sisteme giriş yapılmasını test eden bir case yazalım.

Test Case ID#1
Test ScenarioGeçerli bir kullanıcı verisi ile giriş ekranı kontrolü.
PreconditionsDeneme adlı ve deneme şifreli kullanıcı sistemde kayıtlı olmalıdır.
Test Steps1.) www.deneme.com/giris adresine git.
2.) Kullanıcı adı gir.
3.) Şifre gir.
4.) Giriş butonuna tıkla.
Test DataKullanıcı Adı: Deneme
Şifre: Deneme
Expected ResultsKullanıcının sisteme giriş yapması beklenmektedir.
Actual ResultsKullanıcı sisteme giriş yaptı.
Pass/FailPass
Test Case Örneği 1

Şimdi ise geçersiz veri ile bir test yapalım. Geçersiz veri ile kullanıcının sisteme girmesi istenmemekte bunun için bir test case oluşturalım.

Test Case ID#2
Test ScenarioGeçerli bir kullanıcı adı ve geçersiz bir kullanıcı şifresi ile giriş ekranı kontrolü.
PreconditionsDeneme adlı ve deneme şifreli kullanıcı sistemde kayıtlı olmalıdır.
Test Steps1.) www.deneme.com/giris adresine git.
2.) Kullanıcı adı gir.
3.) Şifre gir.
4.) Giriş butonuna tıkla.
Test DataKullanıcı Adı: Deneme
Şifre: 123
Expected ResultsKullanıcının sisteme giriş yapması beklenmektedir.
Actual ResultsKullanıcı sisteme giriş yaptı.
Pass/FailFail
Test Case Örneği 2

Test case yazımında her bir case’in tek bir olayı test etmesi istenen sonuçların kontrollü ve anlaşılır şekilde test etmesini sağlamaktadır. Test case’ler olabildiğince basit ve anlaşılır olmalıdır. Test steplerini yazarken sistemi bilmeyen herhangi bir kişi case’i okuduğunda sistemi gözünde canlandırabilmeli ve adımları kolaylıkla takip edebilmelir.

Yazılım ürünlerini %100 test etmek hem maliyet hem de zaman açısından mümkün değildir. Fakat x yazılımını tamamen test ettik asla hata çıkamaz gibi bir şey söylenemez. Her zaman hata çıkabilme olasılığı vardır. Ve yazılım test mühendisleri hata bulmaya odaklanarak sistemin güvenirliğinin en yüksek seviyeye çıkarılması için çalışırlar. Asıl amaç sistemin doğru çalıştığını onaylamaktan ziyade hata bulmaktır. Yazılım test mühendisliği kavramını genel ve kısa bir şekilde açıklamaya çalıştım. Aşağıya bırakacağım linkten yararlanarak yazılım testi ile ilgili daha detaylı bilgilere ulaşabilirsiniz.

TutorialsPoint: Yazılım testi ile ilgili kavramları ve açıklamalarını bulabileceğiz anlaşılır anlatıma sahip bir websitesi.

Mühendislik kategorisindeki diğer içerikleri de okumanızı tavsiye ederiz!