2011-07-28 13 views
5

में परीक्षण अंत स्थिति निर्दिष्ट करें मैं विजुअल स्टूडियो लोड टेस्ट का उपयोग कर एक बड़ी बिज़टॉक प्रणाली का परीक्षण कर रहा हूं। एमक्यू में संदेशों को धक्का देने के लिए लोड टेस्ट, इन्हें बिज़टॉक द्वारा उठाया जाता है और फिर संसाधित किया जाता है।विजुअल स्टूडियो लोड टेस्ट

जैसे ही विजुअल स्टूडियो ने एमक्यू को संदेश इंजेक्शन समाप्त कर दिया है, परीक्षण परीक्षण (और सभी प्रदर्शन काउंटर समाप्त होने) के बजाय, मैं चाहता हूं कि परीक्षण समाप्त हो जाए और केवल तभी कुछ स्थिति पूरी हो (मेरे मामले में if (SELECT COUNT(*) FROM BizTalkMsgBoxDb.dbo.Spool) == 4)।

परीक्षण पूरा होने के बाद सामान चलाने के तरीकों का एक समूह देख सकता है, लेकिन परीक्षण का विस्तार करने और निगरानी जारी रखने के लिए कोई स्पष्ट तरीका नहीं है जब तक कि कुछ उपयोगकर्ता परिभाषित निकास की स्थिति पूरी नहीं हो जाती।

क्या यह संभव है, या यदि नहीं, तो क्या किसी को यह हासिल करने के लिए एक अच्छा काम-आसपास/हैक का विचार है?

उत्तर

0

लेखन के समय कस्टम लोड टेस्ट प्लगइन का उपयोग करके परीक्षण की अवधि बढ़ाने के लिए (अभी भी) कोई तरीका नहीं है, न ही वर्चुअल उपयोगकर्ता प्रकार जो बाहर निकलने से इनकार कर दिया है, न ही क्लोज-डाउन अवधि को लॉक करके परीक्षण और इसे इस तरह से बाहर निकलने से रोकें।

एकमात्र तरीका हम इस तरह कुछ करने में कामयाब रहे थे, सीधे लोडटेस्ट डेटाबेस में हेरफेर करना और लॉग फाइलों से बाद में प्रदर्शन काउंटर डेटा इंजेक्ट करना था, लेकिन यह न तो स्मार्ट और न ही अनुशंसित है।

ओह अच्छा ..

2

आप कस्टम लोड टेस्ट प्लगइन लिखना चाहेंगे। विवरण इस यूआरएल से शुरू होते हैं: http://msdn.microsoft.com/en-us/library/ms243153.aspx

प्लगइन परिदृश्य में हेरफेर कर सकता है, जब तक आपकी हालत पूरी नहीं हो जाती है।

1

मैं कल्पना आप क्रम में अनुरोधों का एक गुच्छा अप कतार जबकि अनुरोध संसाधित कर रहे हैं प्रदर्शन पर नज़र रखने के लिए जारी रखने के बाद लोड परीक्षण चल रहा रखना चाहते हैं। हालांकि हम लोड परीक्षण अवधि को नियंत्रित नहीं कर सकते हैं, इसे हासिल करने का एक तरीका है।

  1. परीक्षण अवधि को सीमित न करें: सेट लोड परीक्षण अवधि (या पुनरावृत्तियों की संख्या) एक बहुत बड़े मूल्य के लिए - वास्तविक से अधिक आप की आशा (या जानते हैं) यह करने के लिए अंत हालत के लिए ले जाएगा संतुष्ट रहो।
  2. उन परिदृश्यों को सीमित करें जो अनुरोधों को कतारबद्ध करते हैं: लोड टेस्ट परिदृश्य गुणों में, विकल्प अनुभाग में, अधिकतम टेस्ट इटरेशन सेट करें ताकि उपयोगकर्ता लोड वांछित संख्या भेजने के बाद शून्य पर गिर जाए। यदि किसी कारण से पुनरावृत्ति सीमा निर्धारित करना संभव नहीं है, तो आप एक लोड टेस्ट प्लगइन लिख सकते हैं जो किसी निश्चित परिदृश्य में शून्य लोड करने के बाद उपयोगकर्ता लोड को शून्य पर सेट करता है।
  3. अंतिम स्थिति की जांच करें: एक वेब टेस्ट प्लगइन लिखें जो आपकी अंतिम स्थिति के लिए डेटाबेस की जांच करता है। इस प्लगइन को एक नए परिदृश्य में एक नए वेबटेस्ट में संलग्न करें और परिदृश्य पर टेस्ट इटरेशंस के बीच थिंक टाइम सेट करें ताकि परीक्षण केवल आवश्यकतानुसार चल सके (60 सेकंड?)। जब स्थिति तक पहुंच जाती है, तो प्लगइन को उपयोगकर्ता संदर्भ में पूर्व निर्धारित मान लिखना चाहिए (उपयोगकर्ता संदर्भ वेब टेस्ट संदर्भ में $LoadTestUserContext के रूप में पहुंच योग्य है, और केवल एक लोड टेस्ट में उपलब्ध है, न कि वेबटेस्ट स्टैंडअलोन चलाते समय)।
  4. परीक्षण को रोकें: एक लोड टेस्ट प्लगइन लिखें जो TestFinished ईवेंट में उपयोगकर्ता संदर्भ में ध्वज मान को देखता है। जब मान पाता है, प्लगइन LoadTest.Abort() पर कॉल करता है।

इस विधि के लिए एक मामूली नुकसान है: परीक्षण स्थिति को परिणाम डेटाबेस में Aborted के रूप में चिह्नित किया गया है।

संबंधित मुद्दे