alokasko-logo
alokasko-logo

Bilgisayar Bilimi ve Çevrimiçi Mühendislikte 5 Test otomasyonu: Tanım, ne, ne zaman ve neden otomatikleştirilmeli 

Otomasyon

Otomasyon testine başlamadan önce, “otomasyon” teriminin ne anlama geldiğini anlayalım. Otomasyon, teknolojinin kullanımıyla manuel bir süreci otomatikleştirebileceğimiz bir süreçtir. Amaç, insan ve el emeğini ortadan kaldırmak veya azaltmaktır. Şimdi otomasyonun yazılım testinde (test otomasyonu) nasıl yardımcı olduğunu görelim.

Bir yazılımı test etmek, bir kez test senaryoları yazmayı ve ardından bunları gerektiği gibi tekrar tekrar çalıştırmayı içerir.

Manuel olarak yapıldığında testi çalıştırmak sıkıcı ve zaman alıcı bir iştir.  Otomasyon testleri, bir kez yazılan test komut dosyaları herhangi bir insan müdahalesi olmaksızın herhangi bir sayıda otomatik olarak yürütülebildiğinden, test yürütme süresinin azaltılmasına yardımcı olur.

Test otomasyonu nedir

Test otomasyonu, bir otomasyon aracı kullanarak otomatikleştirilmiş test senaryolarının çalıştırılmasını içeren bir tür yazılım testidir.

Yani temelde manuel test sürecini otomatikleştirir. Yazılım test cihazı , test komut dosyaları yazar ve ardından talep üzerine veya bunları periyodik çalıştırmalar için zamanlayarak test komut dosyalarını çalıştırır. Bu, genel test süresini kısaltır ve böylece ürünlerin daha hızlı piyasaya sürülmesine yardımcı olur.

Ne otomatikleştirilir

Artık otomasyon testlerinin tam olarak ne olduğunu bildiğimize göre, hangi test senaryolarının otomatikleştirileceğini veya hangilerinin otomasyon için ideal adaylar olduğunu kontrol edelim.

  1. Kritik uygulama işlevselliğini test eden test senaryoları- örneğin bir e-ticaret uygulaması için, kritik işlev, ürünü arama ve kategori sayfaları aracılığıyla keşfetmek, sepete eklemek ve ardından işlevselliği satın almak olacaktır. Bu nedenle, önce bu test durumları seçilmelidir. İstek listesine ekleme ve bildirimler vb. için test durumları. Daha düşük bir önceliğe sahip olmalılar ve bu nedenle otomasyon için buna göre seçilmelidirler.
  2. Büyük bir veri kümesiyle tekrarlanan test gerektiren test senaryoları: Bir eylemi tekrar tekrar gerçekleştirmenizi gerektiren birçok test senaryosu veya uygulama akışı vardır. Bu test senaryoları aynı zamanda otomasyon için ideal adaylardır çünkü bir kez otomatikleştirildiğinde önemli miktarda test çalışması azalır.
    Bir uygulama arama fonksiyonu örneğini ele alalım. Arama akışını bir arama terimiyle otomatikleştirebilir ve ardından arama sonuçlarını doğrulanır. Daha sonra aynı komut dosyası, tek kelime, çok kelime, alfanümerik, özel karakterler, yabancı dil karakterleri vb. gibi farklı arama terimleriyle tekrar tekrar çalıştırılabilir.
  3. Zaman alıcı testler: Çalıştırılması ve kurulması önemli miktarda zaman gerektiren iş akışları da otomasyon için ideal adaylar olmalıdır.
    E-ticaret uygulaması örneğine geri dönersek, bazı test senaryoları birden fazla ürünün yapılandırılmasını ve ardından bu ürünler üzerinde bazı işlemlerin yapılmasını gerektiriyorsa. Bu tür test senaryoları, otomatikleştirildiğinde yalnızca test yürütme süresini azaltmakla kalmaz, aynı zamanda manuel test cihazlarını gereksiz görevden kurtarır ve diğer keşif amaçlı test görevlerine odaklanmalarına yardımcı olur.
  4. Paralel veya dağıtılmış ortamda çalıştırılması gereken test senaryoları- Uygulamada eşzamanlı işlemlerin yürütülmesini gerektiren bazı test senaryoları, örneğin performans testleri veya uygulamanın davranışını kontrol etmeniz gereken senaryolar durumunda, kaynaklara tüm eşzamanlı erişim. Bu durumlarda, manuel test mümkün değildir veya belirli senaryoları test etmek için çok daha fazla kaynak gerektirir. Bu otomatik komut dosyaları, eşzamanlı isteklerde bulunarak ve sonuçları tek bir yerde toplayarak yardımcı olur.

Otomatikleştirilmemesi gerekenler

Hangi tür test senaryolarının otomatikleştirilemeyeceği veya daha doğrusu yapılmaması gerektiğini anlamak da önemlidir.

  1. UI ile ilgili test senaryoları: Grafik kullanıcı arayüzü test senaryoları manuel teste veya insan doğrulamasına bırakılmalıdır. Bunun nedeni, UI’deki en ufak bir değişiklikle bile test senaryolarının başarısız olması ve ayrıca birden fazla cihaz ve ekran çözünürlüğü arasında güvenilir UI test senaryoları oluşturmanın çok zor olmasıdır.
  2. Kullanılabilirlik Testi Durumları– “Yapmamalı” yerine, otomatikleştirme “yapamaz” durumu budur. Kullanılabilirlik, uygulamanın farklı kullanıcı grupları tarafından kullanım kolaylığı ile ilgili test durumları, mevcut teknoloji ile otomatikleştirilmesi mümkün değildir.
  3. Nadiren kullanılan ve komut dosyası oluşturması zaman alan özellikler: Karmaşık senaryoları otomatikleştirmek iyidir, ancak çabalarınızı nadiren kullanılacak senaryolara yatırmak iyi bir yatırım getirisi sağlamaz.
  4. Keşif testi: Keşif testi, anında uygulama öğrenimi ve eşzamanlı test gerektirir. Bu nedenle, keşif amaçlı test senaryoları otomatikleştirilemez.

Ne zaman otomatikleştirmeliyiz

Test planlaması sırasında otomasyon paketinin tüm özellikleri tanımlandıktan sonra, geliştirme ekibi ile paralel olarak otomasyon çerçevesini oluşturma faaliyetine başlayabiliriz. Ancak test senaryosu komut dosyası doğru zamanda yapılmalıdır.
Daha iyi ROI otomasyonu ve herhangi bir yeniden çalışmayı önlemek için, uygulama kararlı olduğunda ve uygulamada sık değişiklik beklenmediğinde test senaryosu komut dosyası başlatılmalıdır.

Neden test otomasyonu

Otomasyon testinin bazı avantajları veya faydaları şunlardır:

  1. Test otomasyonu, genel test yürütme süresini azaltır. Çünkü otomatik test yürütme, manuel test yürütmeden daha hızlıdır.
  2. Bir kez oluşturulan script, uygulamada herhangi bir değişiklik olmadığı sürece istenilen sayıda çalıştırılabildiğinden, projenin maliyetini ve kaynak gereksinimlerini azaltır.
  3. Manuel testler ile mümkün olmayan geniş bir girdi seti ile çalışmaya yardımcı olur.
  4.  Her kod girişinden sonra test paketinin yeni yapı ile otomatik olarak çalıştırıldığı sürekli bir entegrasyon ortamı oluşturmaya yardımcı olur. Jenkins gibi CICD araçlarını kullanarak, bir yapı dağıtıldıktan sonra test senaryolarını çalıştıran işler oluşturabilir ve ilgili taraflara test sonuçlarını gönderebiliriz.

Ne zaman otomatikleştirilmemeli

Otomasyonun bazı dezavantajlarıyla birlikte kendi kendine test yapmanın tavsiye edilmediği bazı senaryoları görelim.

  1. Otomasyon aracında deneyim eksikliği: Otomasyon aracında ve \ veya sağlam komut dosyaları oluşturmak için gereken programlama dilinde deneyim eksikliği, aracı tam potansiyeliyle kullanmamaya yol açabilecek ana nedenlerden biridir. Bunun gibi faktörler, otomasyon testinin başarısız olmasına neden olur.
  2. Yanlış seçilen test senaryoları: Otomasyon testlerinin başarısı, otomasyon için seçilen test senaryolarına büyük ölçüde bağlıdır. Yanlış seçilen testler, kaynak israfına ve otomasyona harcanan zamana yol açar.
  3. Sık değişen uygulamalar: Sık değişen bir uygulama için test otomasyonunun seçilmesi, bazen istenen yatırım getirisini sağlayamayan test komut dosyalarının sürekli bakımını gerektirir.
  4. Verimsiz Yazılmış Test Komut Dosyaları: Sınırlı veya yetersiz doğrulamaya sahip test komut dosyaları, yanlış pozitif test sonuçlarına yol açabilir. Bu yanlış pozitif sonuçlar, manuel olarak doğrulandığında veya daha iyi bir şekilde komut dosyası yazıldığında kolayca tespit edilebilecek temel kusurları gizler.

Sizlere bu yazımızda test otomasyonunu anlatmaya çalıştık. Test otomasyonunun bilişim sistemlerinde nekadar önemli olduğundan bahsettik. Test otomasyonu ile alakalı daha fazla yazı ile sizlere hizmet vereceğiz.

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

Benzer İçerikler

spot_img