Soru Tarihi:
Otomatik testlerin otomasyonu, öngörülebilir ve yeniden üretilebilir test verilerinin oluşturulması ve bakımını gerektirir. Manuel testler rastgele verileri kullanabilirken, otomatik senaryolar, veri tabanı veya ortam durumunun tam kontrolünü gerektirir. Uygulamaların ölçeği, mikro hizmetlerle çalışma ve gizlilik gereksinimleri, test verilerinin yönetimini daha da zorlaştırmıştır.
Sorun:
Kontrol edilen test verileri olmadan testler istikrarsız hale gelir, sonuçları da yanıltıcı olabilir. Sık karşılaşılan durumlar şunlardır:
Ayrıca, gerçek verilerin kullanımı güvenliği veya gizlilik politikasını ihlal edebilir.
Çözüm:
Modern yaklaşımlar şunları içerir:
Ana Özellikler:
Otomatik testler için üretim ortamından gerçek verileri kullanabilir miyiz?
Hayır. Bu, veri sızıntısına, düzenlemelerin ihlaline ve üretim sistemindeki sürekli değişiklikler nedeniyle testlerin istikrarsızlaşmasına neden olabilir.
Testler arasında tüm verilerin temizlenmesi, testin istikrarını garanti eder mi?
Hayır. Verileri sadece temizlemek yeterli değildir, aynı zamanda doğru bir duruma hazırlamak da önemlidir. Üstelik, toplu temizleme, paralel çalışan testleri veya hizmetleri etkileyebilir.
Tüm ekipler için tek bir test ortamına sahip olmak yeterli midir?
Hayır, bu farklı ekiplerin testleri arasındaki çakışmalara ve çatışmalara yol açar. İdeal olarak, izole ortamlar veya konteynerleştirme (Docker test takımları, geçici ortamlar) tercih edilmelidir.
Test mühendisleri, hem otomatik hem de manuel testlerin çalıştığı tek bir test veritabanı kullanıyordu. Sıklıkla otomatik testler, verilerin elle silinmesi veya değiştirilmesi nedeniyle başarısız oluyordu, bu da uzun hata ayıklama sürelerine ve zaman kaybına neden oluyordu.
Artılar:
Eksiler:
Şirket, her testin Docker aracılığıyla oluşturulan ayrı bir veritabanı kopyasında çalıştığı geçici ortamlar altyapısını kurdu. Fixture'lar otomatik olarak göç scriptleri ile yüklendi.
Artılar:
Eksiler: