Gelişen Test Otomasyonu
Gelişen Test Otomasyonu
Test yürütmeyi ve karşılaştırmayı otomatik hale getirmek için tüm bu çabayı sarf ettikten sonra, test aracına test durumlarımızı çalıştırmasını söylemeye hazır olmalıyız, böylece ayaklarımızı kaldırabiliriz, değil mi? Ne yazık ki daha yeni başladık. Sonra ne olur?
Testler neden ikinci kez başarısız oluyor (çevresel açmalar) Testimiz ilk çalıştırıldığında girdi olarak country.dcm dosyasını kullandı. Düzenlenen belge dosyası olarak dosyasını oluşturdu. Testi manuel veya otomatik olarak ilk kez çalıştırırken bu sorun değildir. Test betiğimizin son adımları gösteriliyor.
Bu kesin testi ikinci kez çalıştırdığımızda ne olur? Ekran 25 aslında farklı olacaktır, çünkü hemcountry.dcm hem de countrys2.dcm dosya listesinde gösterilecektir. Ancak araç bunu ‘fark etmeyecek’! Bir sonraki giriş, ülkeleri yazmaktır. Görünen bir sonraki ekran artık Ekran 26’da gösterilen değil, testin ilk kez çalıştırılmasında görülmeyen bir iletişim kutusu içeren yeni bir ekrandır.
Bu, manuel olarak ark testi yaptığınızda meydana gelirse, doğal olarak ‘Evet’ yanıtını ek bir adım atarsınız ve ardından Dosya menüsünden Çıkış’ı seçersiniz. Teste fazladan bir adım attığınızın farkında bile olmayabilirsiniz.
Ancak araç, ülkeleri2 gönderdikten sonra tam girişi yeniden oynatmaya geldiğinde, gönderdiği bir sonraki şey Dosya menüsünü seçme girişimidir. Bu, bu ekran için geçerli bir giriş olmadığından, Karalama bip sesi çıkaracak ve aynı ekranı yeniden gösterecektir.
Otomatik test daha sonra Çıkış seçeneğini belirlemeye çalışarak Karalama’nın tekrar bip sesi çıkarmasına ve aynı ekranı yeniden görüntülemesine neden olur. Araç artık bittiğini düşünür ve Karalama’dan çıkar, bu nedenle dizideki bir sonraki test senaryosunu başlatmak için devam edebilir. Otomatikleştirilmiş testin kısa süre sonra yararlı hiçbir şey sağlayamayacağı ve veri dosyalarını silerek veya değiştirerek zarar verebileceği bir duruma nasıl ulaşacağını görebilirsiniz.
Test aracı, gerçekte olanlara karşı esasen kördür. Hakkında bilebileceği tek şey, kendisine söylenenlerdir. Otomatik testin bilmesini istediğiniz herhangi bir şeyi açıkça söylemelisiniz.
Yine, burada özetlenen sorun, bir testin tetiklenebileceği birçok olası yoldan yalnızca biridir. Bütün bu tür şeylerde olduğu gibi sorun aşılmaz değil ama aşmak zaman ve emek istiyor.
Bu sorunu aşmanın bir çok alternatif yolu vardır. İşte üç tane:
• Ek istemi yanıtlamak için komut dosyasını değiştirin. Test senaryosu şimdi ikinci ve sonraki seferleri çalıştıracak, ancak ilk seferinde herhangi bir nedenle silinmişse başarısız olacaktır.
• Ekstra istem olup olmadığını kontrol etmek ve her oluştuğunda yanıt vermek için komut dosyasını değiştirin. Bu, olup olmadığına bakılmaksızın çalışacak bir komut dosyasına sahip olmamızı sağlar. Komut dosyamız, şu satırlar boyunca ek bir if ifadesi içerecektir: ‘arsa, “Y”ye basın.’ Bunun komut dosyamızı tekrar daha karmaşık hale getireceğini unutmayın.
• Dosyayı kontrol etmek için komut dosyasını değiştirin ve test senaryosunu çalıştırmadan önce varsa silin. Sorunun oluştuğu noktada bu dosyanın var olup olmadığını komut dosyasına ‘sabit kodlamak’ yerine, başka bir olasılık da sorunu komut dosyasının başında tahmin etmektir. Bu, bakım açısından daha iyi olabilir, çünkü betiğin sonunda gömülü olan bir şey daha kolay gözden kaçabilir.
Bu durumda, test betiğinin başına dosyanın var olup olmadığını kontrol edebilir ve varsa dosyayı silebiliriz, böylece betiğin geri kalanı şimdi doğru şekilde çalışır. Artık gelmeyeceğini bildiğimiz için ekstra ekranı kontrol etmemize gerek yoktur.
Bu örnek, bir testi tetiklemek için meydana gelebilecek birkaç şeyin tipik örneğidir. Bir dizi test durumu için bu tür tüm benzer şeyleri tek bir yerde toplamak daha verimli olabilir, burada tüm ortam faktörleri ya bir test durumu ya da bir dizi test için ele alınabilir.
Bu, test aracı dilinde ayrı bir komut dosyası olarak yapılabilir veya tamamen ayrı bir alıştırma olarak yapılabilir, muhtemelen bir komut dosyasında veya yazılım mühendisleri veya test uzmanlarına en aşina olan herhangi bir dosyada uygulanabilir. Buna ön işleme denir ve tartışılır. Hangi çözüm en iyisidir? Bu, cevapların olmadığı, ancak yapılacak seçimlerin olduğu başka bir alandır.
Yazılım test otomasyon araçları
Test otomasyon araçları
Yazılım test otomasyonu nedir
Test otomasyon Eğitimi
Test otomasyon Nedir
Test otomasyonu
Test Otomasyon Maaşları
Test otomasyon Çeşitleri
Seçilen çözüm, aşağıdakiler de dahil olmak üzere birçok faktörün değiş tokuşu olacaktır:
- uygulama çabası; gelecekteki sürdürülebilirlik;
- test durumu başarısızlık analizi çabası;
- hata ayıklama çabası;
- bu test senaryosunun benzer durumlarla başa çıkma yeteneği;
- sağlamlık;
- diğer otomatik test senaryoları için ne yapılır.
Diğer Doğrulama Gereksinimleri
Çevre hususlarını dikkate alarak, testimiz artık bitti, değil mi? Şu anda sahip olduğumuz şey, basitçe girdileri yakalamaya yönelik ilk girişimimizden kesinlikle çok uzun bir yol.
Sorulacak bir sonraki soru şudur: Bu iyi bir test senaryosu mu?
Aslında bu, onu otomatikleştirmeye başlamadan önce sormamız gereken ilk soruydu. Tartıştığımız gibi, zayıf test senaryolarını otomatikleştirmenin bir anlamı yok. Ancak şimdi değinmek istediğimiz nokta, yaptığımız karşılaştırmalarla ilgili. Yapmamız gereken her şeyi kontrol ettik mi? Bu test senaryosu tarafından bulunabilecek tüm kusurları ortaya çıkaracaklar mı?
Çoğu zaman, basit Karalama örneğimizle gösterebileceğimizin ötesine geçen, kontrol edebileceğimiz bir test senaryosunun sonucunun birçok yönü vardır.
Test senaryolarını manuel olarak gerçekleştiren test kullanıcıları, bazıları bilinçli ve muhtemelen birçoğu bilinçsiz olmak üzere çok sayıda kontrol yapacaktır. Otomatik testler yalnızca kontrol etmeye programlandıklarını kontrol edecek, bu nedenle tam olarak neyin programlandığını ve neyin dışarıda bırakılabileceğini dikkate almamız önemlidir.
Birçok sistem için dikkate alabileceğimiz sonuçlardan bazıları şunlardır:
» oluşturulmuş veya değiştirilmiş olabilecek dosyalar (Doğru dosyalar oluşturuldu mu? Doğru dosyalar değiştirildi mi? Doğru şekilde değiştirildi mi?);
• değiştirilmiş olabilecek veri tabanları (Doğru kayıtlar değiştirildi mi? Diğer kayıtlarda dokunulmaması gereken herhangi bir değişiklik yapıldı mı?);
» yazıcılar, ağlar veya diğer iletişim ekipmanları gibi diğer çıktılar (Doğru şeyler doğru yerlere gönderildi mi? Nasıl emin olabilirsiniz?);
« ekran nitelikleri değiştirilmiş olabilir, muhtemelen bir alanın korunup korunmadığı gibi görünmeyenler (Doğru nitelikler doğru yeni değerlerle değiştirildi mi?);
Test otomasyon araçları Test otomasyon Çeşitleri Test otomasyon Eğitimi Test Otomasyon Maaşları Test otomasyon Nedir Test otomasyonu Yazılım test otomasyon araçları Yazılım test otomasyonu nedir