Test ve dokümantasyon hizmeti bir sistemin hangi yönlerini ölçer?
Bu hizmet, yazılımın işlevsel doğruluğunu, performans sınırlarını, güvenlik açıklarını ve kullanıcı deneyimini kapsar. Örneğin bir muhasebe modülünde 10.000 eşzamanlı kayıt girişi sırasında yanıt süresinin 2 saniyenin altında kalıp kalmadığı ölçülür. Ayrıca API uç noktalarının beklenen JSON yapısını döndürüp döndürmediği, hata durumlarında doğru HTTP kodlarının üretilip üretilmediği test edilir. Dokümantasyon ise bu ölçümlerin hangi koşullarda, hangi araçlarla (JMeter, Selenium gibi) yapıldığını adım adım kayıt altına alır.
Test ve dokümantasyon ihtiyacınızı nasıl belirleyebilirsiniz?
İhtiyacı belirlemek için öncelikle sistemin kritik iş akışlarını ve en sık kullanılan modülleri listeleyin. Örneğin bir e-ticaret sitesinde ödeme sayfası, stok kontrolü ve kargo takibi en yüksek öncelikli alanlardır. Ardından mevcut hata kayıtlarını (log) inceleyerek hangi hata türlerinin tekrar ettiğini tespit edin. Elazığ'daki bir lojistik firmasında geçmişte yaşanan adres doğrulama hatası, test kapsamına alınmadığı için müşteri şikayetlerine yol açmıştı; bu tür gerçek vakalar ihtiyacı netleştirir.
Ne zaman hat testi (regresyon testi) şart olur?
Her yeni sürüm, özellik eklemesi veya hata düzeltmesi sonrasında hat testi yapılmalıdır. Özellikle veritabanı şemasında değişiklik yapıldığında, eski sorguların çalışmama riski yüksektir. Örneğin bir müşteri yönetim sisteminde müşteri tipi alanına yeni bir değer eklenmesi, filtreleme ve raporlama modüllerini bozabilir. Hat testi, bu tür yan etkileri yakalamak için otomatize edilmiş senaryolarla (örneğin Cypress veya TestNG kullanarak) her derlemede çalıştırılmalıdır.
Ölçüm ve raporlamada hangi metrikler aranmalı?
Başarılı bir test raporu; test kapsama oranı (% code coverage), başarısız/başarılı test sayısı, hata öncelik seviyesi (critical, major, minor) ve performans metriklerini (ortalama yanıt süresi, 95. persentil) içermelidir. Ayrıca her test senaryosunun hangi işlevi test ettiği, test verisi ve beklenen sonuç net biçimde belirtilmelidir. Örneğin bir API test raporunda /api/orders endpoint'i için 1000 eşzamanlı istekte %0.5 hata oranı ve 1.2 sn ortalama yanıt süresi gibi somut veriler bulunmalıdır. Bu metrikler, karar vericilerin hangi hataların öncelikli olduğunu görmesini sağlar.
Test ve haritalama (mapping) süreci hangi adımlarla ilerler?
İlk adım, sistemin tüm bileşenlerinin (veritabanı tabloları, API uç noktaları, kullanıcı arayüzü ekranları) envanterini çıkarmaktır. Ardından her bileşen için test senaryoları yazılır ve bu senaryolar bir test yönetim aracında (örneğin TestRail) organize edilir. Üçüncü adımda, senaryolar otomatize edilir veya manuel olarak çalıştırılır ve sonuçlar haritalama dokümanına işlenir. Örneğin bir mobil uygulamanın login ekranı için 5 farklı senaryo (geçerli/geçersiz kullanıcı adı, boş alan, özel karakter, timeout) yazılır ve her birinin geçtiği/kaldığı haritada işaretlenir.
Test dokümantasyonu hangi format ve araçlarla hazırlanmalı?
Dokümantasyon, herkesin erişebileceği bir wiki veya paylaşımlı sürükle-bırak platformunda (Confluence, Notion) tutulmalıdır. Her test senaryosu için bir başlık, ön koşullar, test adımları, beklenen sonuç ve gerçek sonuç sütunları içeren bir tablo yapısı kullanılır. Ayrıca ekran görüntüleri, log dosyaları ve ilgili commit ID'leri referans olarak eklenir. Örneğin bir hata düzeltmesi sonrası yapılan testte, hatanın hangi commit ile çözüldüğü ve testin hangi ortamda (staging, production) yapıldığı belirtilmelidir.
Otomasyon testi ile manuel test arasındaki maliyet farkı nedir?
Otomasyon testinin ilk kurulum maliyeti yüksektir: bir senaryonun otomatize edilmesi ortalama 4-8 saat sürerken, manuel test aynı senaryoyu 15-30 dakikada tamamlayabilir. Ancak 10. tekrarda otomasyon, manuel testin maliyetini geçer; 100 tekrarda ise otomasyon %90 daha ucuz hale gelir. Örneğin haftalık sürüm döngüsü olan bir projede, 50 test senaryosu manuel olarak 2 gün sürerken, otomasyon 1 saatte tamamlanır. Elazığ'daki bir yazılım evi, otomasyona geçerek aylık test süresini 40 saatten 5 saate düşürmüştür.
Test ortamı (test environment) kurulumunda nelere dikkat edilmeli?
Test ortamı, üretim ortamının birebir kopyası olmalı; aynı işletim sistemi, aynı veritabanı sürümü (örneğin PostgreSQL 14.5) ve aynı donanım kaynakları kullanılmalıdır. Aksi halde testte geçen bir senaryo üretimde hata verebilir. Ayrıca test verisi, gerçek kullanıcı verilerinin anonimleştirilmiş bir kopyası olmalı ve her test döngüsü başında sıfırlanmalıdır. Örneğin bir bankacılık uygulamasında, test ortamında 10.000 sanal hesap oluşturulup her test öncesi bu hesapların bakiyeleri varsayılan değere döndürülmelidir.
Test sonuçlarını kimler kullanır ve raporlama sıklığı nasıl olmalı?
Test sonuçları; geliştiriciler, test mühendisleri, ürün yöneticileri ve kalite güvence ekibi tarafından kullanılır. Geliştiriciler hataları düzeltmek, ürün yöneticileri ise sürüm kararları vermek için raporlara bakar. Raporlama, her sprint sonunda veya her sürüm öncesinde yapılmalı; kritik hatalar anında bildirilmelidir. Örneğin bir e-ticaret sitesinde ödeme hatası tespit edildiğinde, 15 dakika içinde ilgili geliştiriciye Slack üzerinden otomatik uyarı gönderilir ve rapor aynı gün güncellenir.