2015-01-07 37 views
6

Yineleme ve ek çalışmalardan kaçınmak için, VS Load Test için mevcut Specflow senaryolarını (Şu anda kabul ve otomatik test için kullanıyor) yeniden kullanmayı planlıyorum. Bir zamanlar bunları çalışır beri ama Yük testinde bağlamında her Specflow senaryoyu birden çok kez yürütür ve konular ve hataları ile çalışıyorsa paralel ve kullanıcıya daha yüksek bir sayı ile dahaVisual Studio 2013 Yükleme Testi ile Specflow senaryosunu kullanabilir

Bu hataları aldığında Specflow bu test için çalışıyor Örneğin, 20 kullanıcı yük testi ile test senaryosu olarak bir Specflow senaryosunun kullanılması ve 2 dakikalık zaman periyodunun, aşağıdakine benzer 50 hataya neden olabilmesi gibi, yanlış test sonucu yaratan bazı testlerde başarısız olabilir. Bu nedenle test sonucu, belirli bir senaryoyu 150 kez ve 200 başarısız test ve başarısızlık Specflow hatalarının neden olduğu 200 kez yürütülür. Yük testi bağlamında, testin kendisinde sorunlar olduğu için bu sonuç tamamen yanlış ve yanlıştır.

Hata mesajı:

ScenarioTearDown threw exception. System.NullReferenceException: System.NullReferenceException: Object reference not set to an instance of an object. 
TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.HandleBlockSwitch(ScenarioBlock block) 
TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.ExecuteStep(StepInstance stepInstance) TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.Step(StepDefinitionKeyword stepDefinitionKeyword, String keyword, String text, String multilineTextArg, Table tableArg) 
TechTalk.SpecFlow.TestRunner.Then(String text, String multilineTextArg, Table tableArg, String keyword) 

o Specflow oluşturmak ve bu çatışmayı neden ve bazı testi başarısız ama ben de bu konuda bazı şüphe ve orada olup olmadığını görmek isteyen aynı senaryo paralel olamaz görünüyor Bazı araştırmaların ardından Bu konuyla ilgili herhangi bir geçici çözüm ya da bir şey eksik ve Specflow senaryoları Load Test için kullanılabilir olup olmadığını merak ediyorsam?

+2

Sorunun başlığı çok anlamlı değil. "Sınıfsız mı?" Ile ne demek istiyorsun? Ayrıca, hata iletisini ve tam yığın izlemeyi de gönderebilir misiniz? SpecFlow testlerinizin nasıl çalıştığını daha iyi anlatabilir misiniz? –

+0

@GregBurghardt, karışıklık için özür dilerim. Meseleyi daraltmaya çalıştım. Ayrıca hata ve yığın ile ilgili tüm bilgileri koydum. maalesef bana daha fazla bilgi vermiyor. alkış – arfo

+0

Başlığın düzeltildiğini görüyorum. Sanırım şimdi ne sorduğunu anlıyorum. Teşekkürler. –

cevap

4

Testlerinizde yük testi için tekrar kullanmak istediğinizi anlıyorum (Kendinizi Tekrar Etmeyin), ancak bir yük testi kabul testlerinden çok farklı bir amaca sahiptir. Yük testleri, her gün kullanım senaryolarını gerçekçi bir şekilde almalı ve bunlara artan sayıda kullanıcı atmalıdır. Bu nedenle, yük testlerinizi kabul ve otomatik testlerinizden ayrı tutmanızı tavsiye ederim. Gerçekten farklı şeyler deniyorlar.

Yük testleri, uygulamanın performansını her gün için yüksek kullanım altında test etmelidir ve kabul ve otomatik testler, uygulamanın özelliklerine göre çalıştığından emin olun.

yükleme testi bir sistem veya cihaz ile ilgili bir talep koyarak ve tepki ölçme işlemidir. Bir sistemin davranışını hem normal hem de beklenen pik yük koşulları altında belirlemek için yükleme testi yapılır. Herhangi bir darboğazın yanı sıra, bir uygulamanın maksimum çalışma kapasitesinin belirlenmesine ve hangi elemanın bozulmaya neden olduğunu belirlemeye yardımcı olur.

Kaynak: Wikipedia: Load testing

bir kabul testi genel bir örnek ya da bir kullanım senaryosu olarak ifade edilen bir yazılım ürününün, davranış resmi bir açıklamasıdır. ... Birçok Çevik ekipler için kabul testleri, fonksiyonel şartnamenin ana şeklidir; Bazen iş gereksinimlerinin tek resmi ifadesidir. Diğer durumlarda, yalnızca kullanım durumları veya daha anlatısal belgeler gibi daha az spesifik bir Agile tekniğinden ya da biçimciliğinden kaynaklanan bir şartname belgesini tamamlarlar.

Kaynak: Agile Aliance: Acceptance Testing

Bunlar farklı şeylerdir, bu yüzden testler ve test çerçeveler yanı farklı olmalıdır. Yük testleri için ayrı bir paket tutarak gerçekten "kendinizi tekrar etmiyorsunuz".

Teknik nedenlerden dolayı bunun nedeni nedir?SpecFlow, normal Visual Studio test koşucusu kullanılarak çalıştırıldığında, paralel olarak testleri çalıştırmak için oluşturulmamıştır. Paralel test koşucuları mevcuttur, ancak çoğu ücretli yazılımdır.

+0

Sanırım bunu soruyor çünkü bir VS yük testi, temelde bir HTTP istek akışı (SOAPUI'ya çok benzer) olan bir işlevsel/kabul testi olarak kullanılabilen ve daha sonra yük testleri oluşturmak için kullanılan .webtest türlerinden oluşuyor. doğrudan fonksiyonel süitlerden. – DawnFreeze