Test otomasyon yönetim çözümü: Testinium

Özellikle telekomünikasyon, medya ve finans sektörlerinde kullanılan bir çözüm olan Testinium girişimi, Selenium, Appium, Cucumber, Specflow gibi popüler test çözümlerini destekleyen bir Test Otomasyon Yönetim ürünü olarak hizmet veriyor.
Test otomasyon yönetim çözümü: Testinium

Yazılım testi ve kalitesi dikeyinde hizmet veren bir girişim olarak karşımıza çıkan Testinium, ilk ürününü 2015 yılında geliştirmeye başladı. Melih Sakarya, Serdar Aytaç, Onur Erdoğan, Şuayip Özmen tarafından kurulan girişim, şu an için 250 kişilik bir ekip tarafından yönetiliyor.

Özellikle telekomünikasyon, medya ve finans sektörlerinde kullanılan bir çözüm olan Testinium, Selenium, Appium, Cucumber, Specflow gibi popüler test çözümlerini destekleyen bir Test Otomasyon Yönetim ürünü olarak hizmet veriyor.

Testinium, şirketlerin uygulamaları, mobil ve desktop web sayfaları hatta API'ları için testlerin yazılması, koşulması, test örneklerinin yönetilmesi, Hub kuyruk yönetimi gibi sorumlulukları üstleniyor. Testinium, özellikle aynı anda 20'den fazla test koşmak isteyen ve detaylı raporlar bekleyen şirket için oldukça başarılı bir alternatif.

Testinium tarafından geliştirilen Loadium ise yine açık kaynak standartlar olan JMeter ve Gatling gibi yük testi araçlarının dağıtık şekilde koşumlarını gerçekleştirmesini sağlayan bir araç olarak çalışıyor. Loadium sayesinde firmalar, 13 farklı lokasyonda milyonlarca eş zamanlı kullanıcı ile farklı bant genişliklerinde, kendi ortamında ya da Azure/AWS’de test yapabiliyor.

Loadium, test sırasında anlık veri analizi yapabiliyor ve yine anlık konfigürasyon imkanı sağlıyor. Ayrıca Loadium'un New Relic, Dynatrace ve Appdynamics gibi APM araçları ile de entegrasyona sahip olduğunu da ekleyelim.

Yük testlerinin planlanması ve tasarlanması, önemli senaryoların tanımlanmasını, oluşturulacak simüle trafiğin, koşulacak bant genişliğinin ve lokasyonların belirlenmesini, test verilerinin tanımlanıp oluşturulmasını ve toplanacak ölçümlerin belirlenmesini içeriyor. Performans Testi, bir yazılımın başarısı için yazılım yaşam döngüsünde önemli bir role sahip. 

Girişimin kurucularının bizimle paylaştıkları bilgilere göre e-ticaretin en hareketli olduğu Black Friday'de 2019 ve 2020 yılları arasında önemli farklar bulunuyor. Paylaşılan verilere göre Loadium'daki performans testi trafiği 2019 yılına kıyasla 2020 yılında yaklaşık yüzde 50 oranında arttı.

Black Friday geldiğinde ise Loadium'un Türkiye’de hizmet verdiği e-ticaret firmaları 1 milyonun üzerinde müşteriyi kaldırabilecek performansa erişti.

Paylaşılan bilgilere göre Testinium'un dünyada 36 ülkede 200'den fazla müşterisi mevcut. 2020 yılını pandemiye rağmen yüzde 50 büyüme ile kapatan Testinium, özellikle yurt dışında önemli rakiplere sahip. Bugüne kadar herhangi bir yatırım almayan girişim, 2021 yılında yatırım almayı hedefliyor. Aylık abonelikler üzerinden gelir elde eden Testinium, 2021 yılında global bir şirket olmayı ve gelirlerinin büyük kısmını yurt dışından elde etmeyi hedefliyor.

Bu arada bir sonraki Black Friday’e neredeyse bir yıl var. Ne kadar uzun görünse de yoğun trafik sezonuna hazırlanamaya başlamak ve uygulamanızın iyi bir performans sunacağına emin olmak için çok değil aslında yeterli bir süre. Girişimin paylaştığı bilgilere göre yurt dışında hizmet veren çok uluslu e-ticaret firmaları Black Friday için performans testlerine Ocak ayı itibariyle başlıyorlar. Siz ne zaman isterseniz o zaman başlayın ama sadece darboğazları gidermek ve hataları düzeltmek için yeterli zamanınız olduğundan emin olun. Son olarak Testinium'dan performans testi uygulamlarını talep ettik, onlar da bizle bu maddeleri paylaştılar:

Analiz

Test için hazırlanan ortamının performans testleriniz üzerinde büyük bir etkisi vardır. Bu yüzden dikkatli bir şekilde analiz edilip test ortamı oluşturulmalıdır. Bu aşama ayrıca test uzmanlarının yük testi sırasında karşılaşabilecekleri olası zorlukları belirlemeye yardımcı olur.

  • Gereksinimleri tanımlayın, test hedeflerini analiz edin.
  • Test kapsamına ve test kabul kriterlerinize karar verin.
  • Yük testi için mantıksal ve fiziksel üretim mimarisini tanımlayın.
  • Başlangıç için gerekli yazılım, donanım ve ağ yapılandırmalarını belirleyin.
  • Test ortamını belirlerken hem test hem de üretim ortamlarını karşılaştırın.
  • Testiniz için ek araçların gerekli olup olmadığını analiz edin.  

Performans kabul kriterleri

Yük testi kabul kriterleri, yük testi süreci boyunca toplanan ve kalitenin belirlenmesinde veya iyileştirilmesinde değeri olan verileri ifade eder. Response Time, throughput rates ve kaynak kullanımı seviyesi (resource-utilization levels) gibi uygulamadan beklenen performans özelliklerini belirleyin.  

Performans testinizi tasarlayın ve planlayın

Yük testlerinin planlanması ve tasarlanması, önemli senaryoların tanımlanmasını, oluşturulacak simüle trafiğin, koşulacak bant genişliğinin ve lokasyonların belirlenmesini, test verilerinin tanımlanıp oluşturulmasını ve toplanacak ölçümlerin belirlenmesini içerir. Bu aşamanın çıktısı, testin yürütülmesi için gerekli koşullardır; gerekli tüm kaynaklar, araçlar ve test verilerin hazırlığıdır.

Test ortamınızı yapılandırın

Bu aşamada seçtiğiniz performans testi ürününde yaptığınız hazırlıkların kurulması ve performans testi koşarken anlık izleme aksiyonlarının yapılandırılması var. Bu aşama aynı zamanda test koşmadan önceki son aşama olduğundan kavramsal stratejinizi, mevcut araçlarınızı, test ortamınızı ve testlerinizi bir kez daha gözden geçirmenizde fayda var.

Performans testinizi koşturun

Artık tüm hazırlıklarımız tamam olduğuna göre performans testimizi koşabilir ve aşağıdaki adımlar ıtamamlayabiliriz.

  • Test verilerini toplayın ve analiz edin: Darboğazlar (bellek, disk, işlemci, süreç, önbellek, ağ vb.) ve kaynak kullanımı(bellek, CPU, ağ vb.) gibi.
  • Uygulamanın tüm performans özelliklerini içeren performans analizi raporları oluşturun.
  • Analize dayalı olarak, geliştirme ekibi için öneri raporu hazırlayın.

Sonuçları analiz edin ve istediğiniz performansa ulaşana kadar tekrarlayın

Test sonuçlarını birleştirerek oluşturduğunuz raporu ekiplerin anlayacağı şekilde önerilere çevirin ve uygulayın. Uygulamanız istediğiniz performansa gelene kadar test koşma, raporlama, darboğazları tespit etme ve iyileştirme sürecine devam etmelisiniz.Tüm sonuçlar eşik limitleri arasındaysa, aynı senaryoları farklı konfigürasyon üzerinden test etmenizde fayda var.