performance testing vs load testing vs stress testing
Performans Testi, Yük Testi ve Stres Testi Arasındaki Fark - Örneklerle
Bu dizideki önceki eğitimimiz en iyisi olacak Performans Test Rehberi yeni başlayanlar için.
Yazılım testi alanında, performans testi, yük testi, stres testi vb. Gibi terimlerle karşılaşıyoruz. Bu terimler genellikle yanlış anlaşılır ve aynı kavramlar olarak yorumlanır.
Bununla birlikte, bu üç test türü arasında önemli bir fark vardır ve bir test uzmanının bunu anlaması önemlidir.
=> Tam Performans Testi Eğitimleri Dizisi İçin Buraya Tıklayın
Bu eğitimde, aralarındaki kesin farkları anlamak için bu test türlerinin her birini tartışacağız.
Ne öğreneceksin:
Performans Testi, Yük Testi ve Stres Testi Arasındaki Fark
# 1) Performans Testi
Performans Testi nedir?
Performans testi, bir sistemin bileşenlerinin belirli bir durum altında nasıl performans gösterdiğini belirlemek için yapılan testtir.
Ürünün kaynak kullanımı, ölçeklenebilirliği ve güvenilirliği de bu test kapsamında doğrulanır. Bu test, bir yazılım ürününün tasarım ve mimarisindeki performans sorunlarını ele almaya odaklanan performans mühendisliğinin alt kümesidir.
Yukarıdaki görüntü bize şunu açıklıyor: Performans Testi, hem yük hem de stres testi için üst settir. Performans testine dahil edilen diğer test türleri arasında Spike testi, Hacim testi, Dayanıklılık testi ve Ölçeklenebilirlik testi . Bu nedenle, Performans testi temelde çok geniş bir terimdir.
Performans Testi Hedefi:
Performans testinin birincil amacı, sistemin kıyaslama davranışını belirlemektir. Performans testi sırasında karşılanması gereken bir dizi endüstri tanımlı kıyaslama vardır.
Performans testi, uygulamadaki kusurları bulmayı amaçlamaz. Ayrıca testi geçmez veya geçmez. Daha ziyade, kritik görevi bir uygulama için kıyaslama ve standart . Performans testi çok doğru yapılmalıdır. Uygulama / sistem performansının yakından izlenmesi, performans testinin temel özelliğidir.
Uygulamanın ölçütü ve standardı hız, yanıt süresi, iş hacmi, kaynak kullanımı ve kararlılık gibi özellikler açısından belirlenmelidir. Tüm bu özellikler bir performans testinde test edilir.
Örneğin,
Örneğin, uygulama ağ performansını 'Bağlantı Hızı ve Gecikme' tablosu aracılığıyla test edebilirsiniz. Gecikme, verilerin kaynaktan hedefe ulaşması arasındaki zaman farkıdır.
28,8 kbps modemin (gecikme = 1000 milisaniye) en kötü bağlantısı için 70 kb sayfanın yüklenmesi 15 saniyeden fazla sürmezken, aynı boyuttaki sayfa ortalama 256 kbps DSL bağlantısı için 5 saniye içinde görünür (gecikme = 100 milisaniye).
1.5 mbps T1 bağlantısında (gecikme = 50 milisaniye) bu hedefe ulaşmak için performans kıyaslaması 1 saniye olarak ayarlanacaktır.
Bir diğeri misal bir İstek-yanıt modeli olacaktır. İsteğin oluşturulması ile yanıtın kabulü arasındaki zaman farkının x ms (milisaniye) ve y ms aralığında olması gerektiğine dair bir ölçüt belirleyebiliriz, burada x ve y standart rakamlardır.
Başarılı bir performans testi, veritabanı, ağ, yazılım, donanım vb. İle ilgili olabilecek performans sorunlarının çoğunu yansıtmalıdır.
# 2) Yük Testi
Yük testi, sistemdeki yükü eşik sınırına ulaşana kadar sürekli ve istikrarlı bir şekilde artırarak sistemi test etmek içindir. Performans testinin bir alt kümesidir.
Piyasada bulunan uygun otomasyon araçlarından herhangi biri kullanılarak yük testi kolaylıkla yapılabilir. WAPT ve LoadRunner, yük testine yardımcı olan iki ünlü araçtır. Yük testi de şu isimlerle ünlüdür: Hacim testi ve Dayanıklılık testi .
Ancak, Hacim testi esas olarak veri tabanlarına odaklanır. Dayanıklılık testi sistemi uzun bir süre boyunca önemli bir yük altında tutarak test eder.
Yük testinin tek amacı, sisteme, sistemin dayanıklılığını test etmek ve sonuçları izlemek için yapabileceği en büyük işi atamaktır. Burada ilginç bir gerçek, sistemin bazen sıfır yük durumundaki davranışını belirlemek için sisteme boş bir görevle beslenmesidir.
Bir yük testinde izlenen öznitelikler arasında en yüksek performans, sunucu verimi, çeşitli yük seviyeleri altında yanıt süresi (kırılma eşiğinin altında), H / W ortamının yeterliliği, performansı etkilemeden kaç kullanıcı uygulamasını idare edebileceği yer alır.
Yük Testi Hedefi:
c ++ mülakat soruları ve cevapları
Yük testinin hedefleri şunları içerir:
- Arabellek taşması, bellek sızıntıları ve belleğin yanlış yönetimi ile ilgili bir uygulamadaki kusurları açığa çıkarma. Yük testi sonucunda ortaya çıkacak sorunlar arasında yük dengeleme sorunları, bant genişliği sorunları, mevcut sistemin kapasitesi vb. Olabilir.
- Bir uygulamanın veritabanı, donanım, ağ vb. Tüm bileşenlerinin üst sınırını belirlemek, böylece uygulamanın gelecekte beklenen yükü yönetebilmesi için.
- Uygulama için SLA'ları ayarlamak için.
Örneğin,
Bir seferde 1000 kullanıcı ile doldurulabilecek bir uygulamanın e-posta işlevini kontrol etmeyi düşünelim. Artık 1000 kullanıcı e-posta işlemlerini (okuma, gönderme, silme, iletme, yanıtlama) birçok farklı şekilde başlatabilir.
Saatte kullanıcı başına bir işlem alırsak, bu saatte 1000 işlem olur. 10 işlemi / kullanıcıyı simüle ederek, e-posta sunucusunu 10000 işlem / saat ile işgal ederek test edebiliriz.
Bir başka yük testi örneği aşağıdaki resimde gösterilmektedir:
Yukarıdaki görüntü, adı verilen araçta yapılan bir yük testini göstermektedir. JMeter . Bu test, bir sistemin kaç kullanıcıyı idare edebileceğini belirlemek için yapılır. Bu testte, yük 1000 kullanıcıya ulaşana kadar her 30 saniyede bir 100 kullanıcı eklenir. Her adımın tamamlanması 30 saniye sürer ve JMeter sonraki adıma geçmeden önce 30 saniye bekler.
Yük 1000 iş parçacığına ulaştığında, hepsi birlikte 300 saniye (5 dakika) çalışmaya devam edecek ve sonunda her 3 saniyede bir 10 iş parçacığı durduracaktır.
# 3) Stres Testi
Stres testi altında, sistemi çökertmek için mevcut kaynakları fazla işlerle aşırı yüklemeye yönelik çeşitli faaliyetler gerçekleştirilir. Negatif test Sistemden bileşenlerin çıkarılmasını içeren, ayrıca stres testinin bir parçası olarak yapılır.
Ayrıca şöyle bilinir yorulma testi , bu test, bant genişliği kapasitesinin ötesinde test ederek bir uygulamanın kararlılığını yakalamalıdır.
Bu nedenle, temel olarak, stres testi, bir uygulamanın davranışını tepe yük ve normal koşulların ötesinde değerlendirir.
Stres testinin amacı, sistemin arızasını tespit etmek ve sistemin nasıl zarif bir şekilde düzeldiğini izlemektir. Buradaki zorluk, testi başlatmadan önce kontrollü bir ortam oluşturmaktır, böylece en öngörülemeyen senaryolar altında sistemin davranışını defalarca tam olarak yakalayabilirsiniz.
Stres testi sonucunda ortaya çıkan sorunlar arasında senkronizasyon sorunları, bellek sızıntıları, yarış koşulları vb. Yer alabilir. Stres testi, kullanıcı sayısında ani bir artış durumunda sistemin nasıl davrandığını kontrol ediyorsa , sonra buna başak testi denir.
Stres testi, kullanıcı sayısındaki yavaş artışla sistemin belirli bir süre boyunca sürdürülebilirliğini kontrol etmekse, buna ıslatma testi denir.
Stres Testi Hedefi:
Stres testinin amacı, uygulamanın başarısızlıktan sonraki davranışını tanımlamak için çökme sonrası raporları analiz etmektir.
En büyük zorluk, sistemin arızadan sonra hassas verilerin güvenliğini tehlikeye atmamasını sağlamaktır. Başarılı bir stres testinde, sistem en korkunç arızadan sonra bile tüm bileşenleri ile birlikte normale dönecektir.
Örneğin,
Örnek olarak, OpenOffice.org'un Writer1.1.0 gibi bir kelime işlemcisi, mektupların, sunumların, elektronik tabloların vb. Geliştirilmesinde kullanılır. Stres testimizin amacı, onu fazla karakterle yüklemektir.
Bunu yapmak için, büyük hacimde metin işleme eşik sınırına ulaşana kadar bir satır veriyi tekrar tekrar yapıştıracağız. Karakter boyutu 65.535 karaktere ulaşır ulaşmaz, daha fazla veriyi kabul etmeyi reddeder.
Writer 1.1.0'daki stres testinin sonucu, stres altında çökmemesi sonucunu verir ve durumu zarif bir şekilde ele alır, bu da uygulamanın zorlu stres koşullarında bile doğru şekilde çalışmasını sağlar.
7000 kullanıcının ani artışıyla bir ani artış testini gösteren başka bir yük testi Örneği aşağıda gösterilmiştir:
SSS
Performans testi, stres testi ve yük testi hakkında yeterince tartışma yaptıktan sonra, şimdi testçilerin cevap aradığı bazı sık sorulan sorulara bakalım.
S # 1) Yük testi ve Performans testi aynı mı?
Cevap: Bunun cevabı 'Hayır' dır. Aynı değiller.
Şimdiye kadar performans testi ile yük testi arasındaki farkı açıkça anlamış olmalısınız. Performans ve yük testinin nasıl farklı hedeflere, incelenecek kapsam niteliklerine ve ortaya çıkarılması gereken sorunlara sahip olduğunu görmek için aşağıdaki tablo özetine başvurabilirsiniz.
S # 2) Yük testi yaparken aynı zamanda Stres testi yapmak adil olmayan bir test midir?
Cevap: Bu aynı zamanda birçok yazılım testi görüşmesinde ve sertifika sınavında sıkça sorulan bir sorudur, çünkü stres testi ve yük testini paralel olarak yapmak haksızlık mıdır? Bunun cevabı 'Hayır' dır. Yük testi yaparken aynı anda stres testi yapmak haksızlık değildir.
Hiçbir test asla haksız değildir. Bir test uzmanı olarak işiniz sorunları bulmaktır. Ancak, yazılım testinin gerçekleri geçerli olabilir ve bu durumda tespit ettiğiniz herhangi bir sorun çözülemeyebilir.
S # 3) Kurtarma testi, Performans testinin bir parçası mı?
Cevap: Evet, kurtarma testi performans testi altında kategorize edilir ve bazen yük testi ile de yapılır. İçinde kurtarma testi , bir uygulamanın arızalardan, çökmelerden, donanım arızalarından ve diğer benzer sorunlardan ne kadar iyi kurtarılabildiğine erişilir.
Bu aktivitede, yazılım başarısız olmaya zorlanır ve ardından düzgün bir şekilde kurtarılıp kurtarılamayacağı doğrulanır. Örneğin, bir uygulama çalışırken sistemin aniden yeniden başlatılması ve ardından uygulamanın veri bütünlüğünün doğrulanması.
S # 4) Performans testi kodlama gerektirir mi?
Cevap: Performans testi, gelişmiş kodlama düzeyini bilmenizi gerektirmez. Bununla birlikte, temel bir programlama bilgisine sahip olmak ek bir avantajdır.
Örneğin, JMeter kullanıyorsanız, Java'nın temellerini bilmek sizin için iyidir. Bazı şeylerde hata ayıklamanıza yardımcı olabilir ve gerekirse kendi komut dosyanızı da yazabilirsiniz.
S # 5) Performans testinde Spike testi nedir?
Cevap: Ani yükselme testinde, çok sayıda kullanıcı tarafından yük aniden artar veya azalır ve daha sonra sistem davranışı gözlemlenir. Spike testi, esas olarak sistemin yükteki ani değişiklikleri kaldırıp kaldırmadığını kontrol etmek için yapılır.
Yük ve Stres Testi Arasındaki Fark
Özetlemek gerekirse, aşağıdaki tabloda yük testi, stres testi ve performans testi arasındaki temel farkları inceleyelim:
Performans testi | Yük testi | Stres testi | |
---|---|---|---|
Alan adı | Üst yük ve stres testi seti | Performans testinin bir alt kümesi. | Performans testinin bir alt kümesi. |
Dürbün | Çok geniş kapsam. İçerir - Yük Testi, Stres Testi, kapasite testi, hacim testi, dayanıklılık testi, ani artış testi, ölçeklenebilirlik testi ve güvenilirlik testi vb. | Performans testine kıyasla daha dar kapsam. Hacim testi ve dayanıklılık testini içerir. | Performans testine kıyasla daha dar kapsam. Islatma testi ve başak testini içerir. |
Ana hedef | Uygulama için kriter ve standartları belirlemek için. | Sistemin üst sınırını belirlemek için, uygulamanın SLA'sını ayarlayın ve sistemin ağır yük hacimlerini nasıl işlediğini görün. | Sistemin yoğun yükler altında nasıl davrandığını ve arızadan nasıl kurtulduğunu belirlemek. Temel olarak, uygulamanızı beklenmedik trafik artışına hazırlamak için. |
Yükleme limiti | Her ikisi - bir mola eşiğinin altında ve üstünde. | Mola eşiğine kadar | Mola eşiğinin üstünde |
İncelenen özellikler | Kaynak kullanımı, güvenilirlik, ölçeklenebilirlik, kaynak kullanımı, yanıt süresi, iş hacmi, hız vb. | en yüksek performans, sunucu verimi, çeşitli yük seviyeleri altında yanıt süresi (mola eşiğinin altında), Donanım ortamının yeterliliği, kullanabileceği kullanıcı uygulaması sayısı, yük dengeleme gereksinimleri vb. | Bant genişliği kapasitesinin ötesinde istikrar, yanıt süresi (mola eşiğinin üstünde), vb. |
Bu test türü aracılığıyla belirlenen sorunlar | Çalışma zamanı şişkinliği, optimizasyon kapsamı, hız, gecikme, işlem hacmi vb. Dahil olmak üzere tüm performans hataları. Temel olarak - performansla ilgili her şey! | Yük dengeleme sorunları, bant genişliği sorunları, sistem kapasitesi sorunları, düşük yanıt süresi, aktarım hızı sorunları vb. | Aşırı yüklemeli güvenlik boşlukları, aşırı yük durumunda veri bozulması sorunları, yavaşlık, bellek sızıntıları vb. |
Yük, Stres ve Hacim Testi Arasındaki Fark
Şimdiye kadar, ikisi arasındaki farkların yanı sıra yük ve stres testlerini zaten biliyoruz. Şimdi hacim testinin ne olduğunu ve yük testi ve stres testinden nasıl farklı olduğunu inceleyelim.
Hacim testi aynı zamanda büyük ölçüde veritabanına odaklanan bir tür performans testidir.
Hacim testinde, sistemin belirli bir veri hacmine karşı nasıl davrandığı kontrol edilir. Böylece veritabanları maksimum kapasiteleri ile doldurulur ve yanıt süresi ve sunucu verimi gibi performans seviyeleri izlenir.
Çok basit tutmak için, yük, stres ve hacim testi arasındaki fark aşağıda gösterilmiştir:
Hacim testi | Yük testi | Stres testi |
---|---|---|
Çok büyük miktarda veri | Çok sayıda kullanıcı | Sistem çökmesine karşı çok fazla kullanıcı, çok fazla veri. |
Sonuç
Bu eğiticide, performans testi, yük testi ve stres testinin birbirinden nasıl farklı olduğunu ve her bir test türünün kapsamının ne olduğunu örneklerle gördük ve anladık.
Ayrıca performans testi kapsamındaki spike testi, kurtarma testi, hacim testi vb. Gibi birçok kategoriye kısa bir göz attık ve bunların her birinin birbirinden ne kadar farklı olduğunu anladık.
Bu eğitimin performans, yük ve stres testi arasındaki pratik farkı anlamanız için çok yardımcı olacağını umuyoruz.
Functional Testing Vs Performance Testing hakkında daha fazla bilgi edinmek için gelecek öğreticimize bakın.
=> Tam Performans Testi Eğitimleri Dizisi İçin Burayı Ziyaret Edin
PREV Eğitimi | SONRAKİ Eğitici
Önerilen Kaynaklar
- Örneklerle Tam Bir Performans Testi Kılavuzu
- Yeni Başlayanlar İçin Stres Testi Kılavuzu
- Yeni Başlayanlar İçin Yük Testi Tam Kılavuzu
- WAPT Kullanarak Web Uygulama Yükü, Stres ve Performans Testi
- HP LoadRunner Öğreticileriyle Yük Testi
- Bulut Performans Testi: Bulut Tabanlı Yük Testi Hizmet Sağlayıcıları
- Fonksiyonel Test ve Performans Testi: Aynı Anda Yapılmalı mı?
- LoadUI Kullanarak Yük Testi - Ücretsiz ve Açık Kaynaklı Bir Yük Testi Aracı