Etkili Bir Test Otomasyonu İçin 10 Adım

Supreme Test
4 min readNov 15, 2021

--

Test otomasyonunun kullanım alanları, yazılım geliştirme süreçlerine hız ve verim katması sebebiyle hızla yaygınlaşıyor. Manuel olarak gerçekleştirilen testler yerine, otomatikleştirilmiş süreçlerle uçtan uça hizmet veren test otomasyonu anlayışı, aynı zamanda manuel testlerle bir arada kullanılarak da yazılım geliştiricileri birçok iş yükünden kurtarıyor. Ancak başarılı bir test otomasyonu için geliştirilen her programın farklılıkları göz önüne alınarak, test süreçlerinin bu farklılıklar doğrultusunda gerçekleştirilmesi gerekir. Zira birim testlerinden arayüz testlerine, entegrasyon testlerinden kullanıcı yaklaşımlarına kadar birçok farklı aşamanın her birinde otomasyon farklı şekilde işler. Test otomasyon sürecini başarılı bir şekilde yönetebilmek için ise dikkat edilmesi ve takip edilmesi gereken adımlar var.

1- Kapsam ve Genel Değerlendirme:

Programın işlevi, ne için kullanılacağı ve daha öncesinde buna benzer programların var olup olmadığı incelenir. Programın kim tarafından kullanılacağı, kimlerin programa erişimi olacağı ve programın görebileceği genel işlevler araştırılır. Programın ne kadar sürede geliştirileceği, buna ne kadar kaynak ayrılabileceği ve gereken konularda nasıl çalışmalar yapılabileceği üzerinde durulur. Programın geniş bir kapsamı olması birçok alanda genelgeçer sonuçlar verebileceği, dar bir kapsamı olması ise spesifik problemlere spesifik çözümler getirilebileceği anlamına gelir. Hangisinin daha iyi olacağı incelenir ve taslak şeklinde olsa da bu kararlar alınır.

2- Test Yaklaşımı:

Test edilecek fonksiyonların ne amaçla sınandıkları, çıktıların nasıl kullanılabileceği ve nasıl analiz edilebileceği ve en son bütün bunların nasıl birleştirileceği ve nasıl bir perspektifte incelenmesi gerektiği konusunda kararlar verilir. Testle alakalı potansiyel istisnalar, hatalar ve test için spesifik olabilecek beklenmedik durumlar incelenir. Programı geliştiren takımın her bireyi için sorumlu olacağı yerler seçilir, bunun farklı aşamalarda nasıl ortaya çıkacağı ve takım halinde nasıl çalışılacağı belirlenir.

3- Test Ortamı:

Testin yapılacağı dijital ortam belirlenir. Testlerin başarılı şekilde yapılabilmesi için gereken kaynaklar ve bunlara ne kadar bütçe ayrılabileceği planlanır. Birbirleriyle daha iyi çalışan yazılımlar ve cihazlar incelenir. Testlerde gözetilecek önceliklere karar verilir ve bunlara göre cihazların özelleştiği alanda çalıştırılması sağlanır. Verilerin kaydedilmesi ve saklanması için yedekleme ve depolama alanları açılır. Test verisi oluşturmak için gereken kıstaslar bilgisayara aktarılabilecek bir dilde, net bir şekilde belirlenir. Bir sorun çıkması durumunda yedeklenen verinin nasıl geri getirileceğine karar verilir.

4- Test Araçları:

Testin yürütülmesi için gerekli test yönetimi ve otomasyon araçları tanımlanır. Fonksiyonel, performans, yük ve güvenlik testleri için gerekli test yaklaşımı ve araçları açıklanır. Takım üyeleri birim testleri, entegrasyon testleri ve arayüz testleri gibi genel kategorilere göre uzmanlık alanlarında olduklarından kendi kullanabildikleri yazılımları ve fonksiyonları netleştirirler.

5- Sürüm Kontrolü:

Yapılacak testlerde kullanılacak arayüzlerin sürümlerinden, bunların cihazlarla uyumlarından ve genel anlamda gerekli olduğu yerlerde tutarlılık olduğundan emin olacak şekilde plan hazırlanılır.

6- Risk Analizi:

Yaşanabilecek aksaklıklar sıralanır, bunların ortak sebeplere dayananları birlikte anılır ve gruplanır. Bütün riskleri minimize etmek için adımlar atılır. Risklerin patlak vermesi durumunda ne şekilde hareket edileceği plana dahil edilir. Bütçe ve zaman konusunda potansiyel aksamalar incelenir ve zamanlama buna göre ayarlanır.

7- Denetim ve Onay:

Bütün aşamalar takım tarafından incelenir. Planda yapılacak değişikliklerin takımın takip edebileceği bir şekilde nasıl düzenleneceği belirlenir.

Planlama aşamasından sonra uygulamaya geçildiğinde belirlenen stratejileri uygulamaya geçirebilirsiniz. Bu stratejilerin doğru olması için altında çok sağlam bir analiz zemini olması gerekir. Bu analizde ise farklı test türlerinde neyin gerekli neyin gereksiz olduğu, nereden kısıp nereden arttırarak maksimum verime ulaşılabileceği yer almalıdır. Bu konuda dikkat edilebilecek birkaç nokta şunlar:

8- Uzmanlaşılan spesifik alanlar için gerekli yazılımları önemsemek:

Farklı test türleri için geliştirilen farklı araçlar vardır. Bazen tek araçla farklı şeyleri incelemek hem kaynak hem zaman açısından daha iyi olabilecek olsa da idealde her spesifik aksiyon ve atılım için ayrı araçlar geliştirilmesi ve hepsinin bu işlerin spesifik nüanslarını ölçebilmesi gerekir. Özellikle internet çağında çok geniş bir veri havuzu ve açık kaynak kodlu çok yazılım var. Bunların birleştirilmesi ve verimli kullanılmasıyla bu tarz testlerin spesifikleştirilmesi mümkün. Kâr/zarar analizinize uyacak bir şekilde bu ihtimali göz önünde bulundurun.

9- Kolay olanı önce yapın

Birim testi gibi otomasyonu nispeten daha kolay olan testlerin otomatize edilmesini zaman olarak daha erkenden bitirin. Bu sayede entegrasyon testi gibi sonraki aşamaların temeli sağlam atılmış olur. En temel aşamaları otomatize ederek başlayın ve bu parçaları birleştirerek devam edin.

10- Paralel çalışma ekipleri kurun

Otomasyon aynı anda birden fazla alanda gerçekleştirilebilir. Farklı testleri yapan departmanların aralarında iletişimi yeterince iyi sağlayabilirseniz bir tarafta programın bir parçası, öbür tarafta başka bir parçası test otomasyonu sürecine alınabilir. Zaman planlamanızı buna göre yapın.

Supreme Test ile Otomasyonu Her Alanda Sürdürün

Supreme Test, yazılımı en genelinden en spesifiğine kadar birçok otomasyon aşamasında size ve ekibinize yardımcı olacak bir araç. Kolay arayüzü ve detaylı kayıt sistemiyle hem anlaşılır bir şekilde hem de verimden fedakârlık etmek zorunda kalmayacağınız bir anlayışla bütün sınama işlemlerinizi daha hızlı ve sağlam gerçekleştirebilirsiniz.

--

--