stability testing software testing
Kararlılık Testi, Performans Testinin bir parçasıdır. Bu Eğitim, Stabilite Testinin Amaçlarını, Önemini ve İhtiyacını Örneklerle Açıklar:
Kararlılık testi 'İşlevsel Olmayan' testtir. Burada ekip sitenin özelliklerini ve temel işlevlerini test etmez; ancak yazılım ürününün 'sağlamlık', 'hata işleme', 'güvenilirlik' ve ürün kararlılığı gibi özelliklerini test eder.
Piyasadan yeni bir ürün satın alan bir kişiyi düşünelim ( Örneğin, bir cep telefonu). Alıcı, ürünün herhangi bir arıza olmaksızın uzun süre eşit şekilde çalışmasını bekleyecektir. Benzer şekilde, web sitesinin ve mobil uygulamanın kullanıcıları, ilgili web sitesinin veya mobil uygulamaların yüksek güvenilirlik ve kararlılıkla çalışmasını bekleyeceklerdir.
Şimdi, e-ticaret portallarından ürün satın almaya çalışan kullanıcıların durumunu ele alalım. Çok sayıda kullanıcı aynı portalı aynı anda kullanırsa, web sitesi için performans düşüşü olasılığı yüksektir. Kullanıcılar ayrıca oturum sırasında yavaş bir yanıt süresi veya hatta bellek sızıntısı yaşayabilir.
Bu sorunlar hem geliştiriciler hem de paydaşlar için tehdit oluşturmaktadır. Bu sorunları bulmak ve son kullanıcılara ulaşmadan geliştirme ekibine rapor vermek test ekibinin sorumluluğundadır. Bu tür testler performans testine tabi tutulacaktır. Kararlılık testi, performans testinin bir parçasıdır.
Ne öğreneceksin:
Stabilite Testine Genel Bakış
Daha önce bahsedildiği gibi, Stabilite Testi aynı zamanda 'İşlevsel Olmayan' test olarak da tanımlanmaktadır. Burada test ekipleri sağlamlık, hata işleme, güvenilirlik ve ürün istikrarını kontrol eder.
Bu test aynı zamanda 'Dayanıklılık Testi' veya 'Bekletme Testi' olarak da adlandırılır. Aynı zamanda 'Aşırı Yük Testi' olarak da bilinir.
Bu tür testlerde, test uzmanları web sitesini aynı anda kullanan çok sayıda aktif kullanıcı olduğunda çevrimiçi portalın nasıl yanıt verdiğini kontrol edecek. Test uzmanlarının da böyle bir ortamda sistem yanıtını kontrol etmesi gerekir.
Çoğu durumda, web sitelerinin sunucuyu yeniden başlatma fırsatı olmadan haftalarca (hatta aylarca) sürekli çalışması gerekir. Bu tür web siteleri için aktif kullanıcılar (şu anda web sitesini kullanan kullanıcılar) çok büyük olabilir ve her kullanıcı sorunsuz bir performans bekler.
Test uzmanlarının rolü, geliştiricilere güven sağlamak ve son kullanıcıların bir sistemi girintili, arıza veya yüksek trafikte bile bellek sızıntısı olmadan kullanabilmelerini sağlamaktır. Bu amaçla uygulama maksimum yüke (uygulamanın kesme noktasına kadar) tabi tutulur ve bu koşullarda sistemin davranışı kontrol edilir.
Bu test genellikle yazılımın yayınlanmasından önce yapılır. Test uzmanlarının, uygulamanın web sitesinde beklenen yükü kaldırabildiğinden emin olması gerekir. Bazen sistem ağır bir yük nedeniyle çökebilir veya yavaşlayabilir veya hatta beklenmedik davranışlar gösterebilir.
Yazılım kararlılığı, büyük ölçüde yukarıda belirtilen stresli koşullar altında sistemin sorunsuz performansına bağlıdır. Bu nedenle, stabilite testi çok önemli bir rol oynar.
Stabilite Testinin Amaçları
Hedefler aşağıda listelenmiştir:
- Sistemin dayanıklılığını bulmak için.
- Uygulamanın kararlılığını bulun ve böylece geliştiricinin güvenini artırın.
- Stresli bir ortamda sistemdeki arızayı bulun.
- Ürünün genel değerlendirmesi ve etkinliği.
- Sistemin büyük bir programı işleyebildiğinden emin olmak için.
- Bir uygulamanın yanıt süresini test etmek için.
- Veritabanı bağlantısını kontrol etmek için.
Stabilite Testi Hakkında Gerçekler
Bazı yararlı gerçekler aşağıda listelenmiştir:
- Kararlılık testi, uygun bir test ortamı gerektirir.
- Daha iyi sonuçlar elde etmek için stabilite testi iyi planlanmış ve yapılandırılmış bir yaklaşıma ihtiyaç duyar.
- Zaman alan bir süreçtir. Test süreci için geçen süre, müşterinin gereksinimine, ürün türüne ve şirket politikalarına göre değişebilir.
- Bu test şeklinde sistemin izolasyonu önemlidir. Uygulamanın kararlılık testi yapılırken verilerin kalıcı olarak kaybolma veya bozulma ihtimali vardır.
- Dayanıklılık testi, uygulama bileşenlerinde arızalara neden olabilir, bu nedenle son kullanıcılar işlenmemiş istisnalar gözlemleyebilir.
Yazılım Sisteminde Kararlılık ve Güvenilirlik Arasındaki Fark
Bir yazılım uygulamasında güvenilirlik ve kararlılık arasında önemli bir fark vardır. Bu, bir örnek yardımıyla açıklanabilir.
Misal:
Bir kullanıcının cep telefonuna yeni bir uygulama yüklediğini ve başlattığını düşünün. Her 3 dakikalık kullanımdan sonra yüklenen uygulama çöküyorsa, kesinlikle kullanıcıyı rahatsız edecektir. Ancak, kullanıcı uygulamayı yeniden başlattıktan sonra verileri herhangi bir kayıp olmadan geri yükleyebilirse, uygulama güvenilirliğini kaybetmez. Böyle bir uygulama güvenilir olarak kabul edilebilir ancak kararlı kabul edilemez.
youtube'dan video indirmek için yazılım
Öte yandan, uygulama verilerinin düzgün şekilde kaydedilmediği senaryoyu ele alalım. Burada uygulama iyi çalışıyor ve çökmüyor (her 3 dakikada bir gibi). Böyle bir uygulama güvenilir olarak kabul edilebilir veya edilemez, ancak 'kararlı' olarak kabul edilebilir.
Güvenilirlik ve İstikrar aynı madalyonun iki yüzü gibidir. Bu nedenle, bir ürün için hem güvenilirliğin hem de istikrarın iş açısından önemli olduğunu unutmayın.
Kararlılık testi örnekleri:
Bir kullanıcı yeni bir cep telefonu satın aldığında bilerek veya bilmeyerek bir stabilite testi yapması yaygın bir yaklaşımdır. Kullanıcı, cihaz hafızasına birçok görüntü, fotoğraf, video, belge vb. Kaydedecek ve depolanan çok fazla verinin cihazın performansını etkileyip etkilemediğini kontrol edecektir. Bu, stabilite testinin özel bir örneğidir.
Depolanan çok büyük veriler nedeniyle, cihazımız bazen kapanabilir, ardından cihazın performansını yeniden kazanması için kullanıcının bazı verileri silmesi veya geçici dosyaları temizlemesi gerekir. Bu testten sonra, kullanıcı sistemin kapasitesi hakkında net bir fikre sahip olacaktır.
Bir başka gerçek zamanlı örnek, çevrimiçi satın alma portallarıdır. Bir 'satış / festival' sezonunda birçok kişi bu tür web portallarından ürün satın alır. Bir web sitesinin performansı, kullanıcı beklentilerini karşılamalıdır.
Bu nedenle, test uzmanlarının o günlerde bu sitelerde olması muhtemel olan beklenen 'acele' yi akılda tutarak siteyi test etmesi gerekir.
İnternet Bağlantısının Kararlılık Testi
Burada test, internet bağlantımızın ne kadar kararlı olduğunu doğrulamak olacaktır. İnternet üzerinden bağlantı kurarken ve web sayfalarını talep ederken, paket kaybı nedeniyle kullanıcılar web sayfalarını görüntülerken tutarsız gecikmeler yaşamak zorunda kalırlar.
Bazen, hedefe ulaşılamadığında paket kaybı meydana gelir. Skype görüntülü görüşmeleri kullanırken, internet üzerinden oyun oynarken veya rastgele internet bağlantımız kesilirken çoğumuz benzer sorunlarla karşılaşmış olabileceğimiz paket kaybından kaynaklanmaktadır.
İnternet bağlantısını test etmek için ön koşullar:
- İnternet kararlılığını test etmek için, güvenlik duvarının devre dışı bırakıldığı bir web tarayıcısına ihtiyacımız var.
- Bir web adresi seçin ( Örneğin, https://www.google.com/ ) başarısız olma olasılığı düşüktür.
- Sonucu kaydetmek için Google Elektronik Tablosunu veya Microsoft Excel'i kullanın, çünkü anlaşılması kolay ve kullanıcılar için daha okunaklı.
- İnternet bağlantısını, cihazları iki kez kontrol edin ve bağlantıları tekrar kontrol edin. Daha sonra aşağıda belirtilen testleri gerçekleştireceğiz.
İnternet bağlantısını test etmek için kullanılan yöntemler:
Bağlantıyı test etmenin en iyi yolu, Hız testi . (daha fazla okumadan önce lütfen siteyi ziyaret edin). SpeedTest.net'te sunucu seçimi için bir koşulumuz var. Size yakın olan sunucuyu seçin ve çalıştırın.
Bundan sonra site önceden tanımlanmış bazı algoritmalara dayanarak bazı hesaplamalar yapacak ve internet bağlantımızın kalitesini belirleyen raporu anında gösterecektir. Rapora paket kaybı yüzdesi dahildir. '% 0' olmalıdır.
'% 0' paket kaybı, bağlantının yüksek kararlılığını belirler. '0' dan büyük herhangi bir sayı, bağlantının kararsız olduğunu gösterir.
İkinci yol, 'cmd' komut istemini kullanmak ve 'ping' komutunu yazmaktır (Lütfen aşağıdaki şekle bakın). Burada komut istemini kullanarak internetin kararlılığını ve gecikmesini gerçek zamanlı olarak test edebiliriz.
Şekilde lütfen 'Ping İstatistikleri' bölümünü kontrol edin.
Buraya,
Gönderilen paket sayısı = 4
Alınan paket sayısı = 4
Kayıp paket sayısı = 0
Sonuç, bağlantının oldukça kararlı olduğunu gösterir.
Kullanılan İşlem:
Aşama 1: Test uzmanları yukarıda açıklanan iki yöntemden herhangi birini seçecektir.
Adım 2: Test uzmanları işlemi çalıştıracak ve internet bağlantısına yanıt olarak elde edilen gerekli bilgileri bir elektronik tabloya kaydedecektir.
Aşama 3: İşlemi haftada 3 veya dört kez tekrarlayacaklar.
(Kararlılık testi belirli bir süre boyunca yapıldığından, test uzmanlarının işlemi haftada en az ikiden fazla programlaması gerekir.)
4. Adım: Sonuçlar elektronik tablolara kaydedilir.
Test uzmanlarının işlemi çalıştırma tarihini not etmeleri gerekir. Mevcut ağımızın istikrarı hakkında bir fikir edinmek için her tarihte elde edilen sonucu karşılaştırın.
Not: Kesme noktası sisteme daha fazla yük verildiğinde sistemin çökeceği durumdur. Sistemin kapasitesini tanımlar.
Spesifikasyon belgesi, ekip lideri tarafından test uzmanlarına verilen bir belgedir ve sistemde beklenen yük ile ilgili ayrıntıları içerecektir. Stabilite testinde, test uzmanları, spesifikasyon belgesinde kendilerine sağlanan yönergelere göre sistem kırılma noktasını kontrol edeceklerdir.
Test ekibi, spesifikasyon belgesinde belirtilen kırılma noktasının üstünde / altında yük ile uygulamayı test ederek sistemi kontrol edecektir. Bu, Yük Testi durumundan farklıdır.
örneklerle deneyimli için sql server mülakat soruları ve cevapları
Stabilite testinde, test için yalnızca beklenen yükü kullanacağız, ancak yük testinde uygulamaya beklenmedik bir yük verilir ve test uzmanları uygulamanın kapasitesini kontrol eder.
Kararlılık Testine Dayalı Yazılım Testi Yaşam Döngüsü
Farklı aşamaları Yazılım Testi Yaşam Döngüsü aşağıda listelenmiştir:
- İhtiyaç analizi
- Test planı
- Test Durumu Geliştirme
- Test Ortamı Kurulumu
- Test Örneği Yürütme
- Test Kapanışı
Yukarıdaki tüm aşamaları ayrıntılı olarak anlayalım.
# 1) Gereksinim Analizi
Bu aşamada, test ekibi uygulamada yapılacak farklı test türlerine karar verecektir. Tamamen müşteri gereksinimlerine ve uygulama türüne bağlıdır. Örneğin, Test uzmanları bir bankacılık uygulamasını test ediyor, bu durumda en öncelikli test, bu durumda güvenlik testidir. Test uzmanları bir emlak uygulamasını test ediyorlarsa, fonksiyonel teste öncelik vereceklerdir.
örnekle şelale modeli nedir
# 2) Test Planlama
Bu aşamada test kapsamları tartışılır. Test uzmanları otomasyon ihtiyacını tartışacak. Stabilite testi için test süreçleri zahmetlidir ve belirli bir süre boyunca birçok kez tekrarlanması gerekir, otomasyon iyi bir seçim olacaktır. 'LoadStrom', otomasyon kullanarak kararlılık testi yapmak için iyi bir araçtır.
Bu aşamada, müşteri ile test etmek için bütçe ve zaman sınırını tartışacağız. Test zaman alıcı olduğundan, bütçe ve zaman sınırı test planını karşılamalıdır.
# 3) Test Vakası Geliştirme
Uygulamayı test etmek için test senaryosu bu aşamada oluşturulur.
# 4) Test Ortamı
Test ortamı, kararlılığı test etmek için hayati bir faktördür. Üretim ortamımızın kopyası olan uygun bir test ortamına ihtiyacımız var. Orijinal ortam kullanılmamalıdır çünkü test sırasında site bazen çökebilir ve hatta veri kaybı olabilir.
# 5) Test Yürütme
Bu aşamada test senaryoları yürütülür ve test sonuçları doğrulanır. Bu, zaman alan bir aşamadır. Bu aşamada test uzmanlarının karşılaştığı genel sorunlar bellek sızıntısı, veri bağlantısıyla ilgili sorunlar, yavaş yanıt süresi vb.
# 6) Test Kapanışı
Bu aşamada, tüm ekip üyeleri projede kullanılan çıkış kriterlerini karşılayacak ve tartışacaktır. Çıkış kriterleri, bulunan kusurların sayısı ve testte kullanılan süre gibi faktörlere bağlıdır.
Stabilite Testinde Kullanılan Araçlar
Aşağıdaki araçlar kullanılır:
- LoadRunner
- OpenSTA
- LoadUI
- Web YÜKLEME
- LoadComplete
- Görünüm
- LoadUI
- Akılcı Performans Test Cihazı
Dayanıklılık Testi için Apache JMeter nasıl kullanılır?
Apache JMeter Dayanıklılık Testi için iyi bir araçtır. Teste başlamadan önce, test uzmanlarının iş hedefleri hakkında iyi bilgiye sahip olması gerekir. Bundan sonra testçiler test komut dosyaları oluşturacaktır. Ardından, JMeter'da iplik grubu ayarlarını yapılandıracağız.
JMeter kullanarak dayanıklılık testi yaparken aşağıdaki faktörleri belirlemeliyiz:
- Konu sayısı: Bu, sitedeki beklenen kullanıcı sayısını gösterir.
- Rampa süresi: Bu, her iş parçacığının tamamlanması için geçen süreyi gösterir. 5 iş parçacığımız varsa, hızlanma süresi 50 saniyedir.
- Döngü sayısı: Bu, işlemin tekrarlanma sayısını gösterir. Dayanıklılık testi için sonsuza kadar ayarlanmıştır.
- Planlayıcı: Bu testte zamanlayıcı işlevini kullanacağız. Zamanlayıcı konfigürasyonunu ihtiyaca göre belirlememiz gerekir.
Sonuç
Çoğu uygulama yanlış tasarlanmıştır ve kullanımdan sonra cihaz belleğini serbest bırakmaz. Bu yavaş yavaş hafıza kaybına yol açacaktır. Stabilite testi ile sorunun üstesinden gelebiliriz. Bu nedenle, Stabilite testi çok önemlidir. İşlevsel olmayan bir testtir. Yalnızca uygulamanın özelliği ile ilgilidir. Burada test, sistemin davranışı ile ilgili değildir.
Stabilite Testinin önemini ve ihtiyacını anladığınızı umuyoruz.
Önerilen Kaynaklar
- Yazılım Testi QA Yardımcısı İşi
- Yazılım Test Kursu: Hangi Yazılım Test Enstitüsüne katılmalıyım?
- Yazılım Testi Teknik İçerik Yazarı Serbest Çalışan İş
- Kariyeriniz olarak Yazılım Testini Seçme
- Acemi Test Kullanıcıları için Yazılım Testi Önerileri
- Yazılım Test Kursu Geri Bildirimleri ve İncelemeleri
- Yazılım Testçilerinde Motivasyon Nasıl Canlı Tutulur?
- Yazılım Testinde Maymun Testi Nedir?