Otomatik testlerle çalışırken doğru yapı, etkinlikleri ve sürdürülebilirlikleri için gereklidir.
Sorunun Tarihi
Daha önce otomatik testler genellikle monolitik ve birbirine sıkı sıkıya bağlı betikler olarak oluşturuluyordu. Bu, onların bakımını ve genişletilmesini zorlaştırıyordu. Test sayısındaki artış, iyi bir mimarinin önemini ortaya koydu.
Sorun
Açık bir yapı olmadan şunlarla karşılaşılır:
Çözüm
Testleriniz için net soyutlama düzeyleri kullanın:
İyi bir uygulama:
# Yapı örneği /tests /features test_order_creation.py /steps order_steps.py /pages order_page.py
Ana Özellikler:
Daha iyi olan nedir: uzun end-to-end testleri mi yoksa kısa modüler otomatik testler mi yazmak?
Çoğu zaman yalnızca end-to-end tercih edilir, ancak hedeflere bağlı olarak farklı test türlerini birleştirmek önemlidir: tüm seviyeler (Birim, API, UI) kaliteli bir kontrol için önemlidir.
Testlerde UI kontrolünü hem metin hem de lokatörlerle aynı anda kullanmak mümkün mü?
Bu her zaman doğru değildir: her iki yöntemi aynı anda kullanmak mümkündür, ancak yalnızca UI'ın değişkenliği ve testin mantığı bunu haklı çıkarıyorsa. Genellikle gereksiz ve bakım zorluğu yaratır.
Otomatik testler oluştururken test edilen yazılım sisteminin yapısını tamamen kopyalamak gerekli mi?
Hayır, otomatik testlerin yapısı test etmeyi kolaylaştıracak şekilde olmalıdır, uygulamanın mimarisini tam olarak kopyalamak yerine.
Bir ekipte otomatik testleri tek bir kişi yazıyordu, testler bir dosyada yer alıyordu, her test önceki adımları kopyalıyordu. Arayüz güncellendiğinde hatayı tüm testlerde manuel olarak düzeltmek gerekiyordu.
Artılar:
Eksiler:
Başka bir ekip, mimari bir şablon (adım, sayfa, test ayrımı) getirdi. Yeni çalışanlar hızlı bir şekilde adapte oldu ve yeni testler hızlı bir şekilde entegre edildi, güncellemeler tek bir yerde yapıldı.
Artılar:
Eksiler: