Yazılım Testinde Spike Testi Nedir? Örnekle Öğrenin

Spike Testi Nedir?

Spike Testi Bir yazılım uygulamasının trafik yükünde aşırı artış ve azalmalarla test edildiği bir yazılım testi türüdür. Ani artış testinin temel amacı, yazılım uygulamasının kullanıcı yükündeki ani artış veya azalışlardaki davranışını değerlendirmek ve kullanıcı yükündeki ani artış sonrasında iyileşme süresini belirlemektir.

Spike Testi, yazılım uygulamalarının zayıf yönlerini tahmin etmek için yapılır.

Spike Testi
Spike Testi

Spike Testinin Amacı

Spike testinin amacı, sistemin kullanıcı yükünün beklenmedik artış ve düşüşlerine nasıl tepki verdiğini görmektir. Yazılım Mühendisliğinde Spike testi, ani bir yüksek yük oluştuğunda sistem performansının bozulup bozulmayacağını belirlemeye yardımcı olur.

Spike Testinin bir diğer amacı iyileşme süresini belirlemektir. Kullanıcı yükünün birbirini takip eden iki artışı arasında sistemin dengelenmesi için biraz zamana ihtiyacı vardır. Bu iyileşme süresi mümkün olduğu kadar kısa olmalıdır.

Spike Testi nasıl yapılır?

Spike Testini gerçekleştirmek için basit adımlar şunlardır:

Adım 1) Yük Kapasitesini Belirleyin

Yazılım uygulamanızın Maksimum Kullanıcı Yükü kapasitesini belirleyin.

Adım 2) Test Ortamını Hazırlayın

Test Ortamını hazırlayın ve performans parametrelerini kaydedecek şekilde yapılandırın.

Adım 3) Beklenen Yükü Tanımlayın

Beklenen maksimum yükü Yazılım Uygulamanıza bir Performans Test Aracı seçtiğiniz.

Adım 4) Yükü Artırın

Sisteme gelen yükü belirli bir süre boyunca hızla artırın.

Adım 5) Yükü Tekrar Normale Ayarlayın

Yükü yavaş yavaş orijinal seviyesine indirin.

Adım 6) Sonuçları Analiz Edin

Arızalar, Harcanan Zaman, Sanal Kullanıcılar vb. gibi performans grafiklerini ve ölçümlerini analiz edin.

Spike Testi Senaryolarına Örnekler

  • Bir e-Ticaret mağazası Kara Cuma gibi harika indirimlerle özel fırsatlar başlattığında.
  • Bir web uygulaması favori bir TV programını canlı olarak yayınladığında.
  • Günlük bir fırsat sitesinde flaş indirim devam ederken.
  • Bir sitenin belirli içeriği İnternet üzerinden viral hale geldiğinde.
  • Üretim için yeni bir sistem piyasaya sürüldü ve birden fazla kullanıcı sisteme erişmek istiyor.
  • Bir elektrik kesintisi tüm kullanıcıların bir sisteme erişimini kaybetmesine neden olabilir. Kesinti sorunu çözüldükten sonra tüm kullanıcılar aynı anda sisteme tekrar giriş yapar.

Ani Yüklerde Kurtarma Senaryoları

Spike'lara karşı koruma sağlayacak şekilde yapılandırılabilecek üç ana kurtarma senaryosu şunlardır:

  1. Gibi bulut platformlarını kullanın AWS, Azure kullanıcı yüküne paralel olarak sunucu kapasitesini dinamik olarak artırmak
  2. Sistemin ağır yük ile karşı karşıya kalmaması için bazı kullanıcıların uygulama erişimine izin vermeyin. Bu, tasarlanan maksimum yükün üzerindeki kişilerin sisteme girmesini engeller. Böylece sistemi aşırı yük tehdidine karşı korur.
  3. Site yöneticisi kullanıcıların sisteme katılmasına izin verir. Ancak ağır yük nedeniyle yavaş tepkiyle karşı karşıya kalabilecekleri uyarısıyla. Bu, sistem performansı üzerinde olumsuz etkiye neden olabilir. Ancak kullanıcı sistemle çalışabilecektir.

Spike testinin Avantajları ve Dezavantajları

Aşağıda Spike Testinin avantajları ve dezavantajları bulunmaktadır:

Avantajlar Dezavantajlar
Yazılımın performansı ne pahasına olursa olsun korunmalıdır. Ancak herhangi bir sistemin yükünde aşırı bir artış olduğunda sorunların ortaya çıkma olasılığı da yüksektir. Spike Testi bu tür senaryoların test edilmesine yardımcı olur. Spike Testinin tek dezavantajı pahalı bir test süreci olmasıdır. Bu nedenle özel test koşullarının oluşturulması gerekiyordu. Ancak uzun vadede kesinlikle olumlu bir yatırım getirisi sağlayacaktır.
Standart test yönteminde, kötü senaryolardan en kötü senaryolara kadar her şey ele alınamayabilir. Ancak bunların göz ardı edilmesi bunların hiçbir zaman gerçekleşmeyeceği anlamına gelmez. Bu nedenle her yazılımın bu tür olasılıklara hazır olması gerekir. En kötü durum senaryolarından biri, ani yükselme testi yardımıyla değerlendirilebilen ve en aza indirilebilen yüklemedir.  

Spike Test Araçları

1) JMeter

The Apache JMeter Java açık kaynaklı bir spike test aracıdır. Fonksiyonel test davranışını yüklemek ve performansı ölçmek için özel olarak tasarlanmıştır. Bu performans test aracı, web uygulamasının veya çeşitli hizmetlerin performansını analiz etmek ve ölçmek için kullanılabilir. Günümüzde fonksiyonel test, veritabanı sunucusu testi için yaygın olarak kullanılmaktadır.

2) LoadRunner

LoadRunner, aşağıdakiler için bir yük test aracıdır: Windows ve web ve diğer uygulamaların ani testlere izin veren Linux. Ağır yük altında bile uygulamanın performansını ve sonucunu belirlemeye yardımcı olur.

Sonuç

  • yazılım testi Bir yazılım uygulamasının trafik yükünde aşırı artış ve azalmalarla test edildiği bir yazılım testi türüdür.
  • Ani artış testi yapmak için doğru yaklaşım, kullanıcı sayısını beklenmedik bir şekilde artırmak ve ardından yükte ani bir azalma sağlamaktır.
  • Beklenmeyen yük, anlaşmanın ana özelliğidir.
  • Gerçek hayattaki Spike test senaryolarına örnek olarak bir e-Ticaret mağazasının Kara Cuma gibi harika indirimlerle özel fırsatlar başlatması gösterilebilir. Alternatif olarak, bir web uygulaması favori bir TV programını canlı yayınlarken.
  • JMeter spike testi yapmak için çok kullanışlı bir araçtır.