Performans Testi Nedir ?

 

Performans testi, sistemin belirli durumlarda, belirlenen beklentileri verip vermediğini kontrol etmek amacıyla yapılan testtir. Performans testi sistemdeki bug’ ların bulunmasını amaçlamaz ancak sistemdeki darboğazları ortaya çıkarır.

 

Performans testi aşağıdaki soruların cevaplarını verir:

 

  • Sistem trafiğindeki artışlar; işlem süresini ve güvenliğini nasıl etkiler?
  • Hangi kullanıcı seviyesinde performans problemleri yaşanır?
  • Performans seviyelerindeki düşüş sistemin hangi bileşeninden kaynaklanır?
  • Normal şartlar altında sistem nasıl davranıyor?

 

Yazılım Mühendisliği’nde, performans testlerinin amacı, bir sistemin kritik derecede önemli ve yüksek riskli bileşenlerinin, belirli bir iş yükü altında nasıl çalıştığının belirlenmesidir. Ölçeklenebilirlik, güvenilirlik ve kaynak kullanımı gibi sistemin önemli kalite özelliklerini doğrulamak için yapılan performans testlerini gerçekleştirmek, sürdürülebilirlik anlamında bir zorunluluktur.

 

Performans Testinin Kapsamı;

 

  1. Test Stratejisinin Belirlenmesi
  2. Yük Seviyelerinin Belirlenmesi
  3. Performans Test Ortamının Hazırlanması
  4. Yük Senaryolarının Hazırlanması
  5. Testlerin Uygulanması ve Raporlanması

 

 

Temel olarak 3 çeşit performans testi bulunmaktadır. Bunlar;

 

Performans Testi: Uygulamalarının normal şartlar altındaki performans seviyelerinin belirlenmesi.

Load Testi: Uygulamaya giderek artan sayıda(sistem çökene kadar) virtual user la yüklenilerek sistemin sınırlarının ölçülmesi.

Stress Testi: Maksimum sayıdaki kullanıcı ile periyodik bir şekilde sisteme yüklenilmesi. Bir kaos ortamında sistemin bu tür durumlara verdiği tepkiyi ölçmek ve arıza giderildiğinde sistemin toparlama seviyesini belirlemektir.

 

Performans testi aslında yük testini ve tunning’i kapsayan bir işlemler bütünüdür. Amacı ise, sistemin belirli bir yük altındaki performansının ölçülmesi ve istenilen performansa ulaşmasının sağlanmasıdır. Sistemin ağır yük altındaki dar boğazlarının, kod ve veritabanı gibi sistemlerle çözülmesini amaçlamaktadır.

 

Yük Testi:

Yük testi sistemin ne kadar yükte maksimum performans ile çalıştığının bilgisini veren test tipidir. Sistemin ne kadar yüke tahammül edebildiğini anlamak için yapılır.

Yük testinin amacı, sistemin yük altındaki davranışlarının ve hatalarının ortaya çıkarılmasını sağlamaktır. Her ne kadar performans testinin bir parçası olsa da, kimi zamanda sistemin “sağlamlığını” test etmek için yapılır.

Yük testi sayesinde, performans testi tamamlanmış bir sistemin ihtiyacı olan load balancing sunucuları ya da gerekli donanımın belirlenmesi kolaylaştırılmıştır.

 

Araç seçiminin yapılması:

Değişik ortamlarda değişik toollar kullanmak gerekmektedir.

  • .net uygulamar için visual studio team suit in içindeki performans toolları bulunmaktadır.
  • Java uygulamaları için birçok open source tool bulunmaktadır.Bunlar araasında en çok kullanılanın OPENSTA(open system testing architecture)olduğu belirtilmektedir. Ayrıca java uygulamaları için ücretli bir tool olan IBM Rational Performance bulunmaktadır.
  • Borland SilkPerformer
  • Hp LoadRunner

 

 

Testin Uygulanması:

 

Gerekli senaryoları ve toolu seçtikden sonra(TSE IBM Rational kullanıyor) execute bu sürecin en kolay bölümlerinden biridir. Belirlediğiniz senaryoları toolunuz da bulunan kayıt bölümünden bir kere yaparak kayıt edebilirsiniz. Daha sonra sonuç verilerini alabilmek için test ortamına gerekli collectorları bağlamanız gerekmektedir. Bu işlemi de gercekleştirdikten sonra bir case inizi test amaclı bir kere run edip dataları alabildiğinizi gördükden sonra, belirlediğiniz kullanıcı sayılarını toola girip caselerinizi sadece run tuşuna basarak execute edebilirsiniz.

 

Test sonuçlarının incelenmesi ve yorumlanması:

 

Performans ve Yük Testi Sırasında Aşağıdaki Dokümanlar Üretilir:

Test Durum Dokümanları

  • Sistemin dar boğazları
  • Sistemin response-request zamanları
  • Sistem için ideal yük
  • Sistemin kaldıracağı maximum yük
  • Sistem için ideal bant genişliği
  • Sistemi yayınlayacak server için ideal donanım yapısı