Yazılım Testi Nedir? Test Sürecinde Yazılım Test Yaşam Döngüsü’nün (Software Testing Life Cycle) Önemi

okan arslan
Kuka Mobile Tech
Published in
4 min readDec 25, 2020

Merhabalar,

Bu yazımda yazılım testi ve yazılım test türlerinin ne olduğuna ve yazılım test yaşam döngüsünün test sürecindeki her bir evresine kısaca değinmek istedim.

Yazılım Testi Nedir?

Yazılım testi, geliştirilen yazılımın belirtilen gereksinimleri karşılayıp karşılamadığını bulmak amacıyla bir yazılım uygulamasının işlevselliğini değerlendirmek ve kaliteli ürünü hatasız ya da en az hatayla ortaya çıkarmak için yapılan sürecin adıdır.

Yazılım testi, en basit tanımla yazılım hatalarını bulmak amacıyla bir program veya uygulama yürütme işlemidir.

Yazılım testi, sadece mevcut yazılımdaki hataları bulmayı değil, aynı zamanda yazılımı verimli, doğru bir şekilde kullanmayı ve kullanılabilirlik açısından geliştirecek özellikler bulmayı amaçlamaktadır.

Yazılım testinin yapılması zaman kaybı gibi gözükse de hatayı erken tespit etme ve hatanın önlenmesini sağladığı için uzun vadede maliyeti düşürmektedir.

Yazılım Testi Türleri

Yazılım test türlerini iki ana başlıkta toplayabiliriz. Bunlar;

Manuel Test
Otomasyon Testi

Manuel Test
Manuel test, test senaryolarının otomatik bir araç kullanılmadan manuel olarak yürütüldüğü bir yazılım test sürecidir. Tüm test senaryoları test cihazı tarafından son kullanıcı düşünülerek manuel olarak yürütülür. Test senaryosu raporları da manuel olarak oluşturulur.

Manuel Test, yazılımın hem görünür hem de gizli hatalarını bulabildiği için en temel test süreçlerinden biridir.

Otomasyon testinden önce yeni geliştirilen her yazılım için manuel test zorunludur.

Otomasyon Testi
Otomasyon testi, özel yazılım araçları kullanılarak ve daha sonra gerçek test sonuçlarını tahmin edilen veya beklenen sonuçlarla karşılaştıran yazılım test yöntemidir.

Otomasyon testi, komut dosyaları yazarak veya herhangi bir otomasyon test aracı kullanılarak gerçekleştirilebilir. Test otomasyonu, tekrarlanan görevleri ve manuel olarak gerçekleştirilmesi zaman alan ve zor olan diğer test görevlerini kolaylaştırmak için kullanılır.

Yazılım Test Yaşam Döngüsü (Software Testing Life Cycle)

Testin sadece testlerin koşulmasından ibaret bir şey olmadığını da bilmemiz gerekir. Testlerin koşulması testin önemli bir parçası olduğunun bilinmesi, buna bağlı olarak öncesinde ve sonrasında yapılması gereken önemli bazı işlerin olduğunu da bilmeliyiz.

Bir yazılımda hataları önceden kestiremezsek sonrasında daha fazla kayıp vermeye mahkum oluruz. Daha önce de belirttiğimiz gibi bu durum bize zaman ve para kaybı olarak geri döner. Bu gibi sorunların önüne geçebilmek için test süreçleri tasarlamak zorundayız.

Yazılım test yaşam döngüsü(STLC), test sürecindeki aşamalar için iyi bir metoddur. STLC’nin aşamaları ise şunlardır:

1. Gereksinimler,
2. Test Planlaması,
3. Test Senaryosu Geliştirme,
4. Test Ortamı Kurulumu,
5. Test Uygulaması (Testin Koşulması),
6. Test Raporlama

1. Gereksinimler
Gereksinim Aşaması, Yazılım Test Yaşam Döngüsü’nün (STLC) ilk adımıdır. Bu aşamada test ekibi neyin test edileceği konusunda gereksinimleri anlamaya çalışır. Bu aşamadaki teste dahil olan tüm ekibin faaliyetleri arasında gereksinim analizi için beyin fırtınası ve test gereksinimlerinin belirlenmesi yapılacak işlemleri birbirine anlatarak fikir alışverişinde bulunması gerekir. Gereksinim aşaması test kapsamını belirlemeye yardımcı olur.

2. Test Planlaması
Test Planlaması, tüm test aşamalarının tanımlandığı yazılım test yaşam döngüsünün en verimli aşamasıdır. Bu aşamada, test ekibinin yöneticisi, test çalışması için tahmini çaba ve maliyeti hesaplar. Test ekibi daha sonra ilgili risklerin analizini yapar ve bir strateji oluşturmak için zaman çizelgelerini ve test ortamlarını tanımlar.

3. Test Senaryosu Geliştirme
Test senaryosu geliştirme aşaması, test planlama aşaması tamamlandıktan sonra başlar. Bu aşamada test ekibi ayrıntılı test durumlarını not edip, gerekli test verilerini hazırlar. Bu aşamada gerekli tüm otomasyon komut dosyaları da oluşturulur. Test senaryoları test ekibi tarafından aşamalı olarak yazılır. Gerekli incelemeler ve bazı değişiklikler yapıldıktan sonra test senaryolarının onaylanmasıyla birlikte test ekibi test verilerini ön koşullar temelinde oluşturur.

4. Test Ortamı Kurulumu
Test ortamında, verimli bir ürün testi için koşullar tanımlanır ve genellikle test senaryosu geliştirmeyle birlikte tamamlanır. Test ekibinin burada çok aktif olması gerekmiyor. Burada proje sahibi ve geliştiriciler test ortamını sağlar. Testçinin buradaki görevi, duman testleri yapmak ve ortam için gereksinimlerin hazır olup olmadığını kontrol etmektedir.

5. Test Uygulaması (Testin Koşulması)
QA ekibi, bu aşamada test planlarına ve hazırlanan test senaryolarına göre testleri çalıştırır ve sonuçları belgeler. Hataları tespit edip, hataların düzeltilmesi için geliştirme ekibine geri bildirimde bulunurlar. Daha sonraki süreçte düzeltilen hatalar tekrar test uzmanları tarafından kontrol edilir. Bu testlerde kullanıcı gereksinimlerinin karşılandığı doğrulanır.

6. Test Raporlama
Test yapıldıktan sonra elde edilen test verilerinin raporlanması, hataların analiz edilmesi önemlidir. Test planlarına bağlı kalınarak belirtilen test geçme ve kalma kriterleri dikkate alınarak değerlendirme yapılır. Test döngüsünü tamamladıktan sonra test kapanış raporu ve test ölçümleri hazırlanır.

Bir sonraki yazımda görüşmek üzere…

Kaynaklar
http://www.qamadness.com/software-testing-life-cycle-a-model-based-explanation/

https://softwaretestingfundamentals.com/software-testing-life-cycle/

http://tryqa.com/what-is-software-testing-life-cycle-stlc/

https://www.edureka.co/blog/what-is-software-testing/

--

--