Test Yazma Süreci

Test Yazma Sürecinin İlerleyişi

Adile Güngör ♾️ 🌎
Women in Technology
3 min readJun 16, 2023

--

Örnekle başlayalım! Bir düşün, bir öğrencisin ve okulda bir sınavın var. Sınav öncesi senin hazırladığın soruların doğru olduğunu kontrol etmek için bir arkadaşını test etmek istiyorsun. İşte bu senin yazılım testi yapman gibi bir şey. Sen arkadaşına soruları soruyor ve cevaplarını kontrol ediyorsun. Eğer arkadaşın doğru cevaplar verirse, sorularının doğru olduğunu ve hazırlığının iyi olduğunu anlarsın. Ancak, eğer arkadaşın hatalı cevaplar verirse, sorularının yanlış olduğunu ve daha fazla çalışman gerektiğini anlarsın. Bu şekilde yazılım testi de yapılarak, bir programın doğru çalışıp çalışmadığı, hatalarının olup olmadığı kontrol edilir. Yazılım testi, programın hatasız ve kullanılabilir olmasını sağlamak için önemli bir adımdır.

Gerekli adımları senin için özetledim:

Photo by ThisisEngineering RAEng on Unsplash

1. Test Stratejisi Belirleme:
Test yazma sürecine başlamadan önce, test stratejisi belirlemek önemlidir. Test stratejisi, hangi test türlerinin kullanılacağı, hangi seviyede test yapılacağı, test önceliklerinin belirlenmesi gibi kararları içerir. Test stratejisi, proje gereksinimlerine, zaman ve kaynak kısıtlamalarına ve risk analizine dayanarak oluşturulur[BĐLGĐN, Ö., & KASAPOĞLU, M. Kullanıcı Arayüzü Yazılımı Test Otomasyonundan Beklentiler ve Riskler].

.2. Test Senaryoları ve Test Durumlarının Oluşturulması:
Test senaryoları, belirli bir işlevi veya özelliği test etmek için adım adım talimatları içerir. Test senaryoları, kullanıcı davranışlarını ve sistemin beklenen tepkilerini simüle etmeye odaklanır. Test senaryoları oluştururken, kullanıcı beklentilerini, özel durumları ve hata durumlarını göz önünde bulundurmalısınız.

Test durumları ise, test senaryolarının farklı giriş verileri veya koşullarla çalışacak şekilde genişletilmiş halleridir. Her bir test senaryosu için birden fazla test durumu olabilir. Test durumları, yazılımın farklı kombinasyonlarla doğru şekilde çalıştığını doğrulamak için önemlidir.

3. Test Verilerinin Hazırlanması:
Etkili testler yazarken, test senaryolarının yanı sıra test verilerini de hazırlamalısınız. Test verileri, test senaryolarının doğru çalışmasını sağlamak için kullanılan giriş değerleridir. Farklı senaryoları kapsayan çeşitli test verileri oluşturmak, farklı durumları kapsayan kapsamlı bir test kapsamı sağlar. Test verileri, gerçek verileri simüle edebilir veya sahte veriler olabilir.

4. Test Ortamının Hazırlanması:
Test yazma sürecinde doğru bir test ortamının hazırlanması önemlidir. Test ortamı, test edilecek yazılımın çalıştırılması ve testlerin gerçekleştirilmesi için gereken altyapıyı sağlar. Bu, gerekli donanım, yazılım, veritabanı ve diğer kaynakların düzgün bir şekilde kurulmasını ve yapılandırılmasını içerir. Test ortamı, gerçek üretim ortamına mümkün olduğunca yakın olmalıdır.

5. Test Kodunun Yazılması:
Test senaryoları ve test durumları için uygun test kodu yazmanız gerekir. Test kodu, yazılımın belirli bir parçasını test etmek veya belirli bir senaryoyu uygulamak için kullanılır. Test kodu, genellikle bir programlama dilinde yazılır ve yazılımın doğru şekilde çalıştığını doğrulamak için önceden belirlenmiş koşullar ve beklenen sonuçlarla birlikte kullanılır. Test kodu, birim testleri, entegrasyon testleri, sistem testleri ve kabul testleri gibi farklı test seviyelerinde yazılabilir.

6. Arayüz Testlerinin Yazılması:
Arayüz testleri, kullanıcı arayüzünü doğrulamak ve kullanıcı davranışlarını simüle etmek için yazılır. Bu testler, yazılımın doğru şekilde tepki verdiğini, kullanıcı etkileşimlerini doğru bir şekilde işlediğini ve beklenen sonuçları ürettiğini kontrol eder. Arayüz testleri, kullanıcı deneyimini doğrulamak için önemlidir.

7. Otomasyon ve Sürekli Entegrasyon:
Test sürecini iyileştirmek ve tekrarlanabilirliği sağlamak için otomasyon araçları ve sürekli entegrasyon süreçleri kullanılmalıdır. Otomasyon, testlerin tekrarlanabilirliğini ve hızını artırırken insan hatalarını azaltır. Sürekli entegrasyon, testleri sürekli olarak yazılım geliştirme sürecine entegre ederek hataların erken tespitini sağlar [BĐLGĐN, Ö., & KASAPOĞLU, M. Kullanıcı Arayüzü Yazılımı Test Otomasyonundan Beklentiler ve Riskler.].

Etkili testler yazmak, yazılımın kalitesini artırır ve kullanıcı memnuniyetini sağlar. Test yazma sürecinde, test planı oluşturmak, test senaryolarını tanımlamak, test verilerini hazırlamak, birim testleri, servis testleri ve arayüz testleri yazmak önemlidir. Otomasyon ve sürekli entegrasyon kullanmak, test sürecini iyileştirir ve hataların erken tespitini sağlar.

Yazılım testi, bir yazılımın kalitesini artırmak, hataları tespit etmek ve kullanıcıların beklentilerini karşılamak için kritik bir adımdır. İşverenin veya müşterinin bakış açısından, yazılım testi şu avantajları sağlar:

1. Güvenilirlik: Yazılımın doğru ve güvenilir bir şekilde çalıştığından emin olmak için testler yapılır. Bu, kullanıcıların yazılıma güvenmesini ve hata riskini azaltır.

2. Hata Tespiti: Testler, yazılımda oluşabilecek hataları erken aşamada tespit etmeyi sağlar. Bu sayede, hataların maliyetli veya kullanıcı deneyimini etkileyen sonuçlara yol açmadan giderilmesi mümkün olur.

3. Kullanıcı Memnuniyeti: Etkili bir yazılım testi süreci, yazılımın beklentilere uygun olarak çalışmasını sağlar. Bu da kullanıcıların memnuniyetini artırır ve yazılımın başarısını destekler.

4. Maliyet ve Zaman Tasarrufu: Yazılım testi, hataların erken tespiti sayesinde maliyetli hataların önüne geçer. Ayrıca, test otomasyonu ve sürekli entegrasyon gibi yöntemler kullanılarak test süreçleri hızlandırılabilir ve zaman tasarrufu sağlanabilir.

5. İş Sürekliliği: Yazılımın güncellenmesi veya yeni özelliklerin eklenmesi durumunda, testlerin yapılması iş sürekliliği açısından önemlidir. Bu sayede, güncellemelerin mevcut sistemi etkilemeden başarılı bir şekilde uygulanması mümkün olur.

Yazılım Testleri : “Ne” ve “Nasıl”? yazısını okumanızı tavsiye ederim.

Yazılım Test Yardımı için linke tıklayınız. Vaktiniz için teşekkürler, sağlıkla kalın…

.

--

--