07 Eylül 2018

Yazılım Test Otomasyonu

Test süreci; “Yazılım test süreci nedir? Hangi test yöntemleri projemize uygun, test faaliyetlerine ne kadar süre ayrılmalıyız?”

Test süreci; “Yazılım test süreci nedir? Hangi test yöntemleri projemize uygun, test faaliyetlerine ne kadar süre ayrılmalıyız?” gibi sorularla başlayıp, proje planında yeterli kaynak ayrılan ama proje kaynaklarıyla ilgili riskler ortaya çıkmaya başladığında çoğunlukla kaynakları ilk azaltılmak istenen süreçlerin başında gelmektedir.

Genellikle proje planları uygulanırken projenin riskleri gerçekleştiğinde yazılım geliştiriciler ve test mühendisleri arasında ciddi gerilimler hissedilir ve canlıda karşılaşılan her hata çoğunlukla ilk olarak projede yeterli kaynak ayrılmayan test mühendisleri üzerinde baskı yaratır.

Bu durumun etkileri o anki ya da sonraki projelerin test sürecini ve proje yönetim sürecini etkileyebilir ve hatta şirketin insan kaynaklarına fazla mesai yaptıracak noktalara kadar ilerleyebilir.

Peki bu kaçınılmaz süreç en az hasarla nasıl atlatılır?

Test faaliyetlerinin zarar görmemesi, test adımlarının atlanmaması, daha hızlı,kaliteli ve sürekli testler için ve ayrıca fonsiyonel olmayan testlerin de kolaylıkla test edilebilmesi  için test otomasyonu ciddi bir ihtiyaçtır.

Test otomasyonuna başlamadan önce aşağıdaki konulara dikkat edilmesi faydalı olabilir.

  1. Projenin otomatik testlere ihtiyacının olup olmadığı aşağıdaki konular dikkate alınarak netleştirilebilir.
    1. Aynı test senaryoları her geliştirmede koşturulacak mı?: Projede yapılan her geliştirme sonrası aynı test senaryolarının tekrar tekrar koşması gerekiyorsa, test adımlarının atlanmaması ve testlerin daha hızlı sonuçlanması için test otomasyonu çok faydalı olacaktır.
    2. Zaman ve bütçe kazancı sağlanıyor mu?: Test aracının maliyeti, testlere uyarlanması, testlerin koşum sayısı gibi parametreler  dikkate alındığında otomatik testlerin zaman ve bütçe konularında kazanç sağlaması gerekir.
  2. Test otomasyon sürecinden sorumlu ayrı bir ekip olmalıdır, ekibin büyüklüğü projenin karmaşıklığı ve geliştirme kapsamına  göre proje planında belirlenir. Bu ekip test senaryolarının gereksinimleri karşıladığını, otomatikleştirilecek test adımlarının test aracına aktarıldığını, test ortamının ve test verinin doğruluğunu, test sonuç raporlarının oluşturulması ve ilgili kişilere dağıtılmasını garanti altına alır.
  3. Projeye en uygun test aracının belirlenmesi için kontrol listesi hazırlanmalıdır.Bu liste ile her bir test aracının özellikleri karşılaştırılarak projeye en uygun test aracına karar verilir.

Örnek kontrol listesi;

 

Test Aracı A

Test Aracı B

Mobil Platform Desteği

 

 

Desteklediği Web Tarayıcıları

 

 

Ortam Desteği

 

 

Raporlama

 

 

Veri tabanı desteği

 

 

Web Tabanlı Uygulama Desteği

 

 

Masaüstü Uygulama Desteği

 

 

Anlık Ekran Görüntüsü Alma

 

 

Geliştirme Dili

 

 

Kolay Kullanım

 

 

Eğitim Maliyeti

 

 

Lisans Maliyeti

 

 


4. Test ortamının ve verilerinin doğruluğu ve güvenliği sağlanmalıdır. Testlerin başlaması için gerekli test ortamı-test verileri oluşturulmalı, bu durum test faaliyetleri ya da başka faktörler tarafından bozulduğunda testler tekrarlanmadan önce tekrar test ortamının ve test verilerinin kolaylıkla eski haline dönmesini sağlayacak teknolojiler kullanılmalıdır.

5. Testlerin test otomasyon aracına aktarımı için planlama yapılmalıdır. Öncelikle basit ve çok sık tekrar eden test adımlarının test otomasyonuna aktarılması test aracı hakkında pratik edinmeyi hızlandırır ve motivasyon kaybı yaşanmamasını sağlar.

6. Testler sırasında kullanılan uygulamanın versiyon kontrolü konfigürasyon yönetimi sürecine göre takip edilmelidir. Çok sık yeni versiyonu çıkarılan uygulamaların doğru versiyonunun test edildiği garanti altına alınmalıdır.

Yazılım test otomasyonuna başlamadan önce test otomasyon sürecinden beklentiler belirlenmelidir. Testlerin sürekli geliştirmeye açık olacağı, testlerin zaman zaman çalıştırılma sırasında hata verebileceği, test senaryolarının güncellenebileceği, manuel olarak yapılacak testlerin ve kontrollerin de olacağı, yazılımdaki tüm hataları bulamayacağı unutulmamalıdır.

Bunların yanında başarıyla çalıştırılan otomatik testlerde; atlanan test adımı olmayacak, 7/24 otomatik testler çalıştırılabilecek, manuel olarak yapılması zor testler gerçekleştirilebilecek ve kaynaklar daha verimli kullanılmış olacaktır.

 

Konuyla ilgili daha detaylı bilgiye www.proven.com.tr üzerinden veya ayasar@proven.com.tr adresine e-posta atarak ulaşabilirsiniz.


Ayşe YAŞAR

Referanslar:

  1. http://ceur-ws.org/Vol-1721/UYMS-YTM_2016_paper_8.pdf
  2. https://tr.linkedin.com/pulse/test-otomasyonu-nedir-ihtiyac%C4%B1n%C4%B1z-var-m%C4%B1d%C4%B1r-tun%C3%A7-kavakl%C4%B1o%C4%9Flu