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.

Sıkça Sorulan Sorular

Test ve dokümantasyon hizmeti ne kadar sürer?
Süre, sistemin büyüklüğüne ve test kapsamına bağlıdır. Küçük bir web uygulaması için 5-7 iş günü yeterliyken, kurumsal bir ERP sistemi 4-6 hafta sürebilir. Örneğin 20 ekranlı bir CRM için test senaryolarının yazılması 3 gün, uygulanması 2 gün, dokümantasyon ise 1 gün sürer. Elazığ'daki bir müşterimizde 15 modüllü bir muhasebe yazılımının testi 3 haftada tamamlanmıştır.
Test dokümantasyonu güncel tutulmazsa ne olur?
Güncel olmayan dokümantasyon, yeni geliştiricilerin sistemi yanlış anlamasına ve aynı hataların tekrarlanmasına yol açar. Örneğin bir API endpoint'inin dokümantasyonu eski sürümde kalmışsa, yeni geliştirici yanlış parametre göndererek üretimde hataya neden olabilir. Bu nedenle her sürüm sonrası dokümantasyonun gözden geçirilmesi ve değişen kısımların işaretlenmesi gerekir.
Otomasyon testi her proje için uygun mudur?
Hayır, otomasyon özellikle sık değişen ve uzun ömürlü projeler için uygundur. Kısa süreli (3-6 ay) veya sık arayüz değişen projelerde otomasyon maliyeti karşılamayabilir. Örneğin bir kampanya sayfası 2 haftada bir tamamen değişiyorsa, otomasyon senaryoları sürekli güncellenmek zorunda kalır. Bu durumda manuel test daha verimli olur.
Test raporunda hangi hata öncelik seviyeleri kullanılır?
Genellikle üç seviye kullanılır: Critical (sistem çöker, veri kaybı olur), Major (temel işlev bozulur, geçici çözüm var), Minor (kullanıcı deneyimini etkiler ama iş akışını engellemez). Örneğin ödeme sayfasının 500 hatası vermesi Critical, yanlış renk kullanımı Minor olarak sınıflandırılır. Bu sınıflandırma, hangi hataların hemen düzeltilmesi gerektiğini belirler.
Test ortamı ile üretim ortamı arasındaki farklar nelere yol açar?
Farklılık, testte geçen bir özelliğin üretimde çalışmamasına neden olur. Örneğin test ortamında SSD kullanılırken üretimde HDD kullanılıyorsa, performans testleri yanıltıcı olur. Ayrıca test ortamında daha az veri bulunması, büyük veri senaryolarının atlanmasına yol açar. Bu nedenle test ortamı, donanım, yazılım ve veri miktarı açısından üretime mümkün olduğunca yakın olmalıdır.
Test ve dokümantasyon hizmeti alırken nelere dikkat etmeliyim?
Hizmet sağlayıcının kullandığı araçları (Jira, TestRail, Selenium gibi) ve raporlama formatını önceden netleştirin. Ayrıca test senaryolarının hangi kriterlere göre önceliklendirildiğini (risk bazlı mı, işlev bazlı mı) sorun. Elazığ'daki bir firma, önceden belirlenmemiş kabul kriterleri yüzünden test sonuçlarını kullanamamıştı; bu yüzden sözleşmede teslimat kriterlerinin (örneğin %90 test kapsama oranı) yazılı olması önemlidir.