Otomatik Düzende Test Otomasyonu

Miray TOSUN yurtseven | ÜRÜN YÖNETİCİSİ

Günümüzde, her şeyi otomatikleştirme üzerine farklı çalışmalar yürütmekteyiz. Evlerimizin içerisindeki çamaşır makinelerinden, mutfak robotlarına, fabrikalarda seri üretimi yapan cihazlardan, bağlarda bahçelerde otomatik sulama yapan cihazlara kadar her yerde süreçler otomatikleştirilmektedir. Hal böyleyken bugün yazılım firmalarında otomatik testlerin de konuşulması kaçınılmaz oldu. Fonksiyonel testlerin otomatikleştirilmesi yaygınlaşmışken artık SaaS uygulamaları ve beraberinde gelen API testleri içinde otomasyon testlerine de ağırlık veriliyor. Bu yazılım kalitesini artırıyor.

Bilmeyen ya da yeni öğrenenler için kısaca belirtmekte yarar var; yazılım test otomasyonu elle yapılan fonksiyonel testlerin yerine, testi yapabilecek kodların yazılması ile test adımlarının daha hızlı yapılmasını sağlayan yöntemdir. Testleri kod yazarak yapabileceğiniz gibi benzer şekilde otomasyon testlerini kaydedip tekrar çalıştıran araçlarla da kullanabilirsiniz.  Bunu daha sonraki yazılarımda sizlerle paylaşacağım.

SaaS İngilizce’de “software as a service”,  Türkçe’de ise “hizmet olarak yazılım” modeli anlamına gelir. Bu model aslında bir satış stratejisidir. SaaS ile uygulamalar servisler üzerinden çalışır. Bir uygulama için API (“application programming interface”) – uygulama programlama arayüzü – uygulamanın olmazsa olmazları arasında yer alır. Geliştirme ekiplerine farklı yöntemler öğrenme ve uygulama, ama uygularken de yazılımların eski kalitelerinden ödün vermeden devamını sağlama işi düşer. O noktada devreye test otomasyonu girer.

Unutmayalım ki, API testlerinde, uygulamanın web arayüzleri için yapılan testlerde ya da veritabanı testlerinde önce manuel yapılacak fonksiyonel testler tamamlanmalı, sonrasında otomasyon testleri devreye alınmalıdır. Bir API testine başlarken genel olarak aşağıdaki yöntemler sırasıyla izlenir:

  • API dokümantasyonu incelenir. ( Bu bir analiz dokümanı olabilir.)
  • Servisin amacı iyice öğrenilir.
  • Buna uygun pozitif testler ve adımları çıkarılır. ( Sonraki yazılarımda test metotlarına değineceğim.)
  • Negatif testlere ait test adımları çıkarılır.
  • Negatif testlerde API’den dönecek olan tüm hata kodları test senaryolarına eklenir.
  • Tüm test adımları çıkarıldıktan sonra Regression (“regresyon”) test adımları belirlenir. ( Bu da gelecek yazılarımdan biri olacak.)
  • API test araçlarını kullanarak testler yapılır.
  • Create (“oluşturma/kayıt ekleme”), update (“güncelleme”), list (“listeleme”) ve delete (“silme”) işlemlerinizi yapan tüm API’lerin paralelinde veritabanı kontrolleri unutulmamalıdır.
  • Hata kontrolleri ve tüm testlerin tamamlanması sonrasında daha önceden çıkarılan regression test adımları istenilen bir yazılım dilinde test otomasyonuna çevrilir.

Tüm bu adımlar sonrasında hazır olan test otomasyonlarınızı çalıştırıp sonucu öğrenebilirsiniz. Gelelim, bu otomasyon neden gerekli sorusunu cevaplamaya. Unutmayalım ki, yoğun iş süreçleri içerisinde değiştirilen kodları tekrar tekrar test etmek yorucu ve uzun süren işlemlerdir. API’lerin çok iyi test edilmesi gerekir.

Otomasyon testleriniz  API’lerin  kontrolünü çok kısa sürelerde yapmanızı sağlar. Zamandan tasarruf sağladığı gibi gerekli olan kontrolleri çok daha güvenli şekilde yapmanıza da olanak sunar. Manuel testlerde unutabileceğiniz adımları otomatik testlerde kaçırmazsınız. Canlı ortama yapılacak olan kritik uygulama iyileştirmelerinde hızlı ve güvenilir testin olması sağlanacak, müşteriden gelecek olan hataları minimize edecektir.

Test otomasyonu ilk bakışta şirkete yüksek maliyet gibi görünmektedir. Çünkü harcanan süre en az bir manuel test süresi kadardır ve her geliştirmede yazılımcıyla birlikte geliştirmeye devam edilmelidir. Ancak, uzun vadede yazılım test otomasyonları yazılım kalitesi ve müşteri memnuniyetini artırır, müşteri geri dönüşlerini ve  bakım destek maliyetlerini azaltarak, verimlilik sağlar. Test otomasyonu, tüm dünyada yaygınlaşmıştır ve yaygınlaşmaya devam edecektir.

 

Please follow and like us:

Bir Cevap Yazın