İçeriğe geç
parazade

Yazılım Testi Nedir?

İngilizce: Software Testing

Yayın: · Son güncelleme:

Yazılım Testi Nedir? Kısaca

Yazılım testi, bir programın beklendiği gibi çalışıp çalışmadığını kontrol etmek ve hataları kullanıcıya ulaşmadan bulmak için yapılan sistemli denemelerin bütünüdür. Elle ya da otomatik araçlarla yapılabilir.

Yazılım Testi nedir?
İçindekiler
  1. Yazılım testi nedir?
  2. Başlıca test türleri
  3. Teste nereden başlamalı?

Yazılım testi nedir?

Yazılım testi, yazılan kodun doğru sonucu verip vermediğini ölçme işidir. Bir butona basıldığında doğru sayfa açılıyor mu, bir hesaplama doğru sonucu veriyor mu, sistem yoğunlukta çöküyor mu gibi soruların cevabı testle bulunur. Amaç kusursuzluğu kanıtlamak değil, riskleri azaltmaktır.

Test yapılmayan yazılımda hatayı kullanıcı bulur. Bu hem pahalıdır hem de güven kaybettirir.

Başlıca test türleri

Testler farklı ölçeklerde yapılır. Birim testi tek bir fonksiyonu, entegrasyon testi parçaların birlikte çalışmasını, uçtan uca test ise kullanıcının yaptığı tam bir akışı kontrol eder. Kabul testi ürünün iş ihtiyacını karşılayıp karşılamadığına, yük testi ise yoğunluğa dayanıklılığa bakar.

Bu türler genelde bir piramitle anlatılır. Tabanda çok sayıda hızlı birim testi, ortada daha az entegrasyon testi, tepede ise az sayıda yavaş ama kapsamlı uçtan uca test bulunur. Örneğin bir e-ticaret uygulamasında indirim hesaplayan fonksiyon için onlarca birim testi yazılırken, "ürün seç, sepete ekle, öde" akışı için birkaç uçtan uca test yeterli olabilir.

Teste nereden başlamalı?

En riskli yerden başlayın. Para, ödeme, giriş ve kişisel veriyle ilgili akışlar ilk sırada olmalıdır.

Küçük bir ekipseniz önce elle test edilecek kısa bir kontrol listesi hazırlayın. Ardından en sık tekrar eden kontrolleri otomatikleştirin. Bir hata bulduğunuzda onu yakalayan bir test eklemek, aynı hatanın ileride geri gelmesini önler.

Sıkça Sorulan Sorular

Yazılım testi kim tarafından yapılır?

Geliştiriciler genelde birim ve entegrasyon testlerini yazar. Test uzmanları ve QA mühendisleri daha geniş senaryoları test eder. Kabul testinde ise müşteri ya da iş birimi temsilcileri yer alabilir.

Test yapılan yazılımda hiç hata kalmaz mı?

Kalabilir. Test, hataların varlığını gösterir ama yokluğunu kanıtlamaz. İyi bir test stratejisi en kritik hataların kullanıcıya ulaşma ihtimalini ciddi ölçüde azaltır.

İlgili terimler

Birim Testi(Unit Testing)Birim testi (unit test), bir yazılımın en küçük test edilebilir parçasının, genelde tek bir fonksiyon ya da metodun, diğer bileşenlerden bağımsız olarak doğru çalışıp çalışmadığını kontrol eden otomatik testtir.Test Otomasyonu(Test Automation)Test otomasyonu, yazılım testlerinin bir insan tarafından elle yapılması yerine önceden yazılmış betikler ve araçlar aracılığıyla otomatik olarak çalıştırılması ve sonuçların raporlanmasıdır.QA(Quality Assurance)QA (Quality Assurance), yazılımda kalite güvencesi demektir. Ürünün belirlenen kalite standartlarını karşılaması için süreçlerin planlanması, hataların önlenmesi ve testlerle doğrulanmasını kapsayan çalışmaların bütünüdür.Test Senaryosu(Test Case)Test senaryosu (test case), bir yazılım özelliğinin doğru çalışıp çalışmadığını kontrol etmek için izlenecek adımları, kullanılacak verileri ve beklenen sonucu tanımlayan yazılı belgedir.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.Entegrasyon Testi(Integration Testing)Entegrasyon testi, bir yazılımın ayrı ayrı geliştirilmiş bileşenlerinin, örneğin uygulama kodu, veritabanı ve dış servislerin, bir araya geldiğinde doğru şekilde iletişim kurup çalıştığını doğrulayan test türüdür.Fonksiyon(Function)Fonksiyon, programlamada belirli bir işi yapan, isim verilmiş ve gerektiğinde tekrar tekrar çağrılabilen kod bloğudur. Girdi olarak parametre alabilir ve geriye bir değer döndürebilir.