Otomatik Yazılım Testi Nedir?

Yanlış girdiler atılırken, tüm geçerli girdilerin doğru şekilde yorumlanıp yürütüldüğünü doğrulamak için yazılım test edilmiştir. Testler ayrıca sonuçların verimli bir şekilde üretildiğini ve çok büyük miktarda verilerin hıçkırık olmadan ele alınabileceğini doğrular. Test manuel veya elektronik olarak yapılabilir. Otomatik yazılım testi, geliştirilmekte olan kodu test etmek için özel bir yazılımın kullanılmasını içerir. Bu testler, makul bir şekilde uygulandığında, yazılım geliştirme sürecine yarar.

Manuel testler, testi yapan kişilerin titizliğine bağlıdır. Manuel yazılım testi zaman alıcıdır ve çoğu uygulama için test edicilerin geliştiricilere önemli oranda ihtiyacı vardır. Bu gelişme maliyetini yükseltir. Ek olarak, manuel testler, büyük miktarda verinin veya çok sayıda eşzamanlı kullanıcı veya girişin kolayca test edilemeyeceği sınırlamasına sahiptir.

Otomatik yazılım testi programatik olarak testin yürütülmesini ve çıktının değerlendirilmesini kontrol eder. Test yazılımı, değerlendirilen yazılıma farklı koşullara karşılık gelen girdiler sağlar. Her bir koşul kümesi için, test yazılımı gerçek sonuçları istenen sonuçlarla karşılaştırır ve hedef yazılımın toplam davranışına ilişkin istatistikleri korur. Bir “çalıştırmanın” ardından, test yazılımı tipik olarak özet sonuçlar sağlar, böylece insanlar neyin düzeltileceğini hızlıca belirleyebilirler.

Otomatik yazılım testinde, oturum açmak veya posta adresleri gibi verileri girmek gibi testlerde yer alan sıkıcı görevler gerçekleştirilir. Her koşuda çok sayıda koşul kombinasyonu test edilebilir. Otomatikleştirilmiş testler bilgisayar ve yazılım kullanımını içerdiğinden, büyük miktarda giriş verisi veya çok hızlı girişlerin simülasyonunu sağlar. Birkaç test koşulunun her çalışması birkaç saat içinde tamamlanabilir. Bu nedenle, otomatik testler regresyon testi için çok kullanışlıdır, bu da yeni bir özelliğin veya hata düzeltmesinin yanlışlıkla önceki çalışma kodunu bozmadığından emin olmanızı sağlar.

Extreme Programming gibi bazı yeni geliştirme metodolojileri, kodlamadan önce testlerin mevcut olduğunu vurgulamaktadır. Geliştirme metodolojileri, yazılımın geliştikçe doğruluğunu sağlamak için regresyon testinin her gün birkaç kez yapıldığını vurgulamaktadır. Yazılım ekibinin herhangi bir önemli yazılım için bu metodolojiye uyması gerekiyorsa, otomatik yazılım testlerinin kullanılması zorunlu hale gelir.

Otomasyon test yazılımı istenen giriş ve çıkışlara beslenmelidir. Bunu yapmanın bir yolu, manuel test koşullarını yazılıma kaydetmektir. Başka bir yol, test edilecek yazılımın kabul edilebilir sınırları dahilinde, çeşitli koşullar oluşturmak için kod yazmaktır. Bu nedenle, otomatik yazılım testinin temeli kesinlikle insani çabadır. Otomatik test yazılımı bunun ötesine geçemez.

Otomatik yazılım testi, kullanımında da edinilecek yazılım açısından önemli bir maliyete sahiptir. Bu nedenle, otomatikleştirilip otomatikleştirilmeyeceği ve testin hangi bölümünün otomatikleştirileceği kilit kararlardır. Otomatik sınama, önemli ölçüde değişmesi beklenen özellikler ve ortamlar için uygun değildir. Çoğu uygulamada, manuel ve otomatik testlerin bir karışımı uygundur.