Sorun şu ki, bazı bireyler otomasyonun "kolay" veya "hızlı" olmadığını anlamıyorlar.
Buradaki öncülünüze katılmıyorum.
Birim testi, entegrasyon testi veya kullanıcı arayüzü testi olsun, otomatik testin büyük bir savunucusuyum. Otomatik testler uygulamak için birçok harika araç vardır.
Otomatik test ile manuel test karşılaştırmasını aşağıdaki örneğe göre karşılaştıralım:
Bir web uygulamasında, bir tarayıcı kullanarak mevcut bir kullanıcının "Parolayı Değiştir" işlevini test edin.
Manuel test :
- Web uygulamasını başlatın
- Tarayıcıyı aç
- Lanet olsun, bir hata var. Neden? Oh, veritabanını başlatmayı unuttum!
- Tamam, web uygulamasını kapat
- Veritabanını başlat
- Web uygulamasını başlatın
- Tarayıcıyı yenile
- Hmm, tekrar test kullanıcılarımızın şifresi neydi?
- Veritabanına göz atma
- Oh, kullanıcı tablosu boş! Yeni bir kullanıcı oluşturmam gerekiyor.
- Web uygulamasına yeni bir kullanıcı kaydedin: Kullanıcı adı, şifre, e-posta adresi girme
- Neden yeni kullanıcımla giriş yapamıyorum? Oh, e-postadaki onay bağlantısını tıklamam gerekiyor!
- Kullanıcıya "test@example.com" gibi bir e-posta verdim. Şimdi veritabanına gidip "aktif" sütununu "Evet" olarak ayarlayalım.
- Oturum aç. Bu sefer işe yarıyor!
- Hmm, tekrar ne test etmek istedim ...?
Kolay? Pek sayılmaz. Bu süreçte birçok olası tuzak var.
Hızlı? Hayır. Manuel çalışma zaman alır.
Şimdi otomatik bir test yazmaya çalışalım :
- Veritabanını ve web sunucusunu otomatik olarak başlatmak için programlama dilimiz için araçlar bulmamız gerekir. Araştırma ve uygulama zaman alır.
- Test başladığında veritabanının temiz durumda olması gerekir. Komut dosyaları oluşturmak zaman alır.
- Testi yazmamız gerekiyor. Bir kullanıcıya ihtiyacımız olduğundan, testimiz için yeni bir tane kaydetmemiz gerekiyor. Zaman alır.
- Son olarak, test etmek istediğimizi yazabiliriz: Kullanıcının şifresini değiştirme. Tarayıcı test aracımızla bu, önceki görevlere kıyasla oldukça hızlı bir şekilde yapılır.
Kolay? Hayır! Testlerimizde araçları araştırmamız, uygulamamız, bazı hataları düzeltmemiz gerekiyordu.
Hızlı? Hayır! Manuel test yapmaktan daha uzun sürer.
Ancak, burada büyük bir fark var: Gelecekteki testler için, sadece testin kendisini , listedeki son mermi noktasını yazmanız gerekir - ki bu karşılaştırılabilir hızlı bir şekilde yapılır. Tüm araştırmalar ve init-scriptlerin daha ileri testler için yapılması gerekmez.
Testi yazdıktan sonra kolayca başlatabilirsiniz. Birkaç saniye içinde (veya veritabanının ve web uygulamasının başlatılması uzun sürüyorsa, birkaç dakika içinde) "Parolayı değiştir" yordamının çalışıp çalışmadığını görürsünüz. Bir hata varsa, düzeltin ve testi tekrar çalıştırın - hatanın düzeltilip giderilmediğini hemen göreceksiniz. Hızlı ve kolay .
Otomatik testlerin yazılması ilk etapta ne kolay ne de hızlıdır, ancak bunları uygulamak kolaydır.
Ve bu, yatırılan zamanın geri geldiği noktadır.