state transition testing technique
जानें कि राज्य संक्रमण परीक्षण क्या है और राज्य संक्रमण आरेख का उपयोग कैसे करें:
हमारे पिछले लेख में, हमने we देखा कारण और प्रभाव ग्राफ परीक्षण परीक्षण केस लेखन तकनीक आज अगली डायनामिक टेस्ट केस राइटिंग मेथड में कदम रखें - स्टेट ट्रांजिशन तकनीक।
यह दस्तावेज़ इस परीक्षण अवधारणा को बड़े अनुप्रयोगों तक विस्तारित करता है, जो कि एफएसएम के रूप में समग्र रूप से नहीं हैं, लेकिन उनके कुछ घटक हैं, इसलिए ful स्टेटफुल ’होने और संक्रमण नियमों की अपनी अनूठी विशेषता को अपनाने के लिए, जिसके परिणामस्वरूप कई फायदे हैं।
राज्य संक्रमण परीक्षण
राज्य संक्रमण परीक्षण ए है ब्लैक-बॉक्स परीक्षण तकनीक , जिसे can Finite State Machines ’के परीक्षण के लिए लागू किया जा सकता है।
A Finite State Machine (FSM) 'एक ऐसी प्रणाली है जो इनपुट या उत्तेजनाओं के आधार पर विभिन्न असतत अवस्थाओं में होगी (जैसे 'तैयार', 'तैयार नहीं', 'खुली', 'बंद', ...)।
असतत कहता है कि सिस्टम समाप्त हो जाता है, सिस्टम के संक्रमण के नियमों पर निर्भर करता है। यही है, अगर कोई सिस्टम एक ही इनपुट के लिए एक अलग आउटपुट देता है, जो उसके पहले की स्थिति पर निर्भर करता है, तो यह एक परिमित राज्य प्रणाली है।
इसके अलावा, यदि सिस्टम में प्रत्येक लेनदेन का परीक्षण किया जाता है, तो इसे '0-स्विच' कवरेज कहा जाता है। यदि परीक्षण में वैध लेनदेन के 2 जोड़े शामिल हैं, तो यह '1-स्विच' कवरेज है, और इसी तरह।
आप क्या सीखेंगे:
राज्य संक्रमण परीक्षण तकनीक क्या है?
राज्य संक्रमण तकनीक एक गतिशील परीक्षण तकनीक है, जिसका उपयोग तब किया जाता है जब प्रणाली को राज्यों की एक सीमित संख्या के संदर्भ में परिभाषित किया जाता है और राज्यों के बीच संक्रमण प्रणाली के नियमों द्वारा नियंत्रित होते हैं।
या दूसरे शब्दों में, इस तकनीक का उपयोग तब किया जाता है जब सिस्टम की विशेषताओं को उन राज्यों के रूप में दर्शाया जाता है जो एक दूसरे में बदल जाते हैं। परिवर्तन सॉफ्टवेयर के नियमों द्वारा निर्धारित किए जाते हैं। सचित्र प्रतिनिधित्व को निम्न के रूप में दिखाया जा सकता है:
इसलिए यहां हम देखते हैं कि एक इकाई बदलाव कुछ की वजह से राज्य 1 से 2 राज्य इनपुट हालत, जो एक की ओर जाता है प्रतिस्पर्धा और में परिणाम कार्य और अंत में देता है उत्पादन ।
इसे एक उदाहरण से समझाने के लिए:
आप ATM पर जाते हैं और $ 1000 निकालते हैं। आप अपनी नकदी प्राप्त करें। अब आप शेष राशि से बाहर भागते हैं और $ 1000 वापस लेने का वही अनुरोध करते हैं। इस बार अपर्याप्त शेष राशि के कारण एटीएम आपको पैसे देने से मना कर देता है। तो, यहाँ TRANSITION , जिसके कारण हुआ राज्य में परिवर्तन पहले वापसी है
राज्य संक्रमण परीक्षण परिभाषा;
स्टेट ट्रांज़िशन क्या है, यह समझने के बाद, हम अब स्टेट ट्रांज़िशन टेस्टिंग के लिए और अधिक सार्थक परिभाषा पर पहुँच सकते हैं। तो, यह एक प्रकार का ब्लैक-बॉक्स परीक्षण है जिसमें परीक्षक को एक अनुक्रम में दिए गए विभिन्न इनपुट शर्तों के खिलाफ AUT (एप्लिकेशन अंडर टेस्ट) के व्यवहार की जांच करनी होती है।
सिस्टम का व्यवहार सकारात्मक और नकारात्मक दोनों परीक्षण मूल्यों के लिए दर्ज किया गया है।
राज्य संक्रमण परीक्षण का उपयोग कब करें?
राज्य संक्रमण परीक्षण निम्नलिखित स्थितियों में नियोजित किया जा सकता है:
उपयोगकर्ता स्वीकृति परीक्षण साइन ऑफ टेम्पलेट
- जब परीक्षण के तहत आवेदन विभिन्न राज्यों और संक्रमणों के साथ एक वास्तविक समय प्रणाली है।
- जब आवेदन अतीत की घटना / मूल्यों / शर्तों पर निर्भर है।
- जब घटनाओं के अनुक्रम का परीक्षण करना होगा।
- जब एप्लिकेशन को इनपुट मानों के एक सीमित सेट के खिलाफ परीक्षण करने की आवश्यकता होती है।
जब राज्य संक्रमण परीक्षण का उपयोग नहीं करना है?
आपको निम्नलिखित स्थितियों में राज्य संक्रमण परीक्षण पर भरोसा नहीं करना चाहिए:
- जब अनुक्रमिक इनपुट संयोजनों के लिए परीक्षण की आवश्यकता नहीं होती है।
- जब आवेदन की विभिन्न कार्यशीलता का परीक्षण किया जाना आवश्यक है (जैसे अन्वेषणात्मक परीक्षण)।
सॉफ्टवेयर परीक्षण में राज्य संक्रमण परीक्षण उदाहरण
व्यावहारिक परिदृश्य में, परीक्षकों को आम तौर पर राज्य संक्रमण चित्र दिए जाते हैं और हमें इसकी व्याख्या करने की आवश्यकता होती है।
ये आरेख या तो व्यापार विश्लेषकों या एक हितधारक द्वारा दिए गए हैं और हम अपने परीक्षण मामलों को निर्धारित करने के लिए इन आरेखों का उपयोग करते हैं।
नीचे की स्थिति पर विचार करें:
सॉफ्टवेयर का नाम - Manage_display_changes
विशेष विवरण - सॉफ़्टवेयर एक समय डिस्प्ले डिवाइस के लिए डिस्प्ले मोड बदलने के लिए इनपुट अनुरोधों का जवाब देता है।
प्रदर्शन मोड को चार मानों में से एक में सेट किया जा सकता है:
- दो समय या तिथि प्रदर्शित करने के लिए इसी।
- अन्य दो जब समय या तारीख में फेरबदल करते हैं।
विभिन्न राज्य इस प्रकार हैं:
- बदलें मोड (मुख्यमंत्री): इसका सक्रियण प्रदर्शन मोड को 'प्रदर्शन समय (T)' और 'प्रदर्शन दिनांक (D)' के बीच ले जाने का कारण होगा।
- रीसेट (आर): यदि प्रदर्शन मोड टी या डी पर सेट है, तो 'रीसेट' प्रदर्शन मोड को 'समय (एटी)' या 'परिवर्तन तिथि (एडी)' मोड में सेट करने का कारण होगा।
- समय सेट (टीएस): इसके सक्रियण के कारण डिस्प्ले मोड एटी से टी पर वापस आ जाएगा।
- दिनांक सेट (DS): इसके सक्रियण के कारण प्रदर्शन मोड AD से D पर वापस आ जाएगा।
राज्य संक्रमण आरेख
अब, इसे व्याख्या करने के लिए चलते हैं:
यहाँ:
# 1) विभिन्न राज्य हैं:
- प्रदर्शन समय (S1),
- समय बदलें (S3),
- प्रदर्शन तिथि (S2), और
- परिवर्तन तिथि (S4)।
# 2) विभिन्न इनपुट हैं:
- बदलें मोड (मुख्यमंत्री),
- रीसेट (R),
- समय सेट (टीएस),
- दिनांक सेट (DS)
# 3) विभिन्न आउटपुट हैं:
- ऑल्टर टाइम (एटी),
- प्रदर्शन समय (T),
- प्रदर्शन दिनांक (D),
- अल्टर डेट (AD)।
# 4) परिवर्तित राज्य हैं:
- प्रदर्शन समय (S1),
- समय बदलें (S3),
- प्रदर्शन तिथि (S2) और
- परिवर्तन तिथि (S4)।
चरण 1: सभी आरंभ राज्यों को लिखें। इसके लिए, एक समय में एक राज्य लें और देखें कि इसमें से कितने तीर निकल रहे हैं।
- स्टेट एस 1 के लिए, इसमें से दो तीर निकलते हैं। एक तीर S3 के राज्य में जा रहा है और दूसरा तीर S2 पर जा रहा है।
- स्टेट एस 2 के लिए - 2 तीर हैं। एक स्टेट S1 में जा रहा है और दूसरा S4 में जा रहा है
- राज्य S3 के लिए - इसमें से केवल 1 तीर निकल रहा है, जो S1 पर जा रहा है
- राज्य S4 के लिए - इसमें से केवल 1 तीर निकल रहा है, जो S2 पर जा रहा है
इसे हमारी मेज पर रखें:
चूंकि राज्य S1 और S2 के लिए, दो तीर निकल रहे हैं, हमने इसे दो बार लिखा है।
चरण 2: प्रत्येक राज्य के लिए, उनके अंतिम परिवर्तित राज्यों को लिखें।
- राज्य S1 के लिए - अंतिम राज्य S2 और S3 हैं
- राज्य S2 के लिए - अंतिम राज्य S1 और S4 हैं
- राज्य S3 के लिए - अंतिम स्थिति S1 है
- राज्य S4 के लिए - अंतिम राज्य S2 है
इसे आउटपुट / परिणामी स्थिति के रूप में टेबल पर रखें।
चरण 3: प्रत्येक प्रारंभ स्थिति और उसके अनुरूप स्थिति के लिए, इनपुट और आउटपुट स्थितियों को लिखें
- राज्य S1 के लिए राज्य S2 में जाने के लिए, इनपुट चेंज मोड (CM) है और आउटपुट नीचे प्रदर्शित तिथि (D) है:
इसी तरह, सभी राज्यों के लिए इनपुट शर्तों और उसके आउटपुट को निम्नानुसार लिखें:
चरण 4:
अब नीचे दिखाए गए प्रत्येक टेस्ट के लिए टेस्ट केस आईडी जोड़ें:
अब इसे औपचारिक परीक्षण मामलों में परिवर्तित करते हैं:
इस तरह, सभी शेष परीक्षण मामलों को व्युत्पन्न किया जा सकता है। मैं दूसरे को मान लेता हूं परीक्षण मामलों की विशेषताएँ जैसे पूर्व शर्त, गंभीरता, प्राथमिकता, पर्यावरण, निर्माण इत्यादि भी परीक्षण के मामले में शामिल हैं।
एक बार फिर चरणों का सारांश:
- प्रारंभिक अवस्था से निकलने वाली रेखाओं / तीरों के आधार पर प्रारंभिक अवस्थाओं और उनके अंतिम अवस्था की पहचान करें।
- प्रत्येक प्रारंभिक स्थिति के लिए, इनपुट स्थिति और आउटपुट परिणाम का पता लगाएं
- प्रत्येक सेट को एक अलग टेस्ट केस के रूप में चिह्नित करें।
राज्य संक्रमण तकनीक के अधिक उदाहरण
यहां बड़े सॉफ्टवेयर अनुप्रयोगों में राज्य संक्रमण परीक्षण तकनीक का एक और उदाहरण है।
विवरण:
' स्टेटफुल फंक्शनल टेस्टिंग ' दृष्टिकोण का उपयोग विशिष्ट भागों या अनुप्रयोग के घटकों का परीक्षण करने के लिए किया जा सकता है, जो कि Finite State Machine (FSM) की विशेषता है।
कार्यान्वयन में कदम:
# 1) Ful स्टेटफुल फंक्शनल टेस्टिंग ’को लागू करने का पहला कदम, एफएसपी के रूप में वर्गीकृत किए जाने वाले आवेदन के विभिन्न घटकों / भागों की पहचान करना है। इन FSM में से प्रत्येक के लिए इनपुट, स्टेट्स और आउटपुट को सावधानीपूर्वक ट्रैक किया जाता है।
#दो) अगला कदम संक्रमण नियमों, इनपुट्स, आउटपुट और संक्रमण राज्यों के आधार पर इन एफएसएम के लिए परीक्षण मामलों को विकसित करना होगा।
# 3) तीसरा कदम यह होगा कि इन घटकों के परीक्षण को अन्य इंटरफेसिंग घटकों के साथ एकीकृत किया जाए ताकि एप्लिकेशन एंड टू एंड को सत्यापित किया जा सके।
इसे 'हाउस प्रोजेक्ट' नाम के एक एप्लिकेशन के उदाहरण से समझाया जा सकता है, जो घर के निर्माण को ट्रैक करता है, जिसमें विभिन्न एप्लिकेशन घटकों जैसे घर की वास्तुकला की स्वीकृति, प्लॉट और घर का पंजीकरण, भवन ठेकेदार का चयन शामिल है। , हाउसिंग लोन की मंजूरी आदि।
उदाहरण के लिए,
हम 'हाउस प्रोजेक्ट' एप्लिकेशन के एक एफएसएम घटक के परीक्षण पर विचार करेंगे: आवास ऋण की स्वीकृति।
आवास ऋण स्वीकृति आवेदन (HLA)
एचएलए आवेदन एक स्वतंत्र ऋण प्रसंस्करण उपयोगकर्ता द्वारा चलाया जाएगा, जो ऋण आवेदन की प्रक्रिया करता है। आवेदन के प्रसंस्करण में विभिन्न चरण नीचे दिए गए हैं:
1.1.1 चरण 1: दस्तावेजों का संग्रह
पहला चरण ऋण के लिए आवेदन करने के लिए प्रासंगिक दस्तावेजों का संग्रह है जैसा कि नीचे दी गई तालिका में बताया गया है। वे एक सफल आवेदन के लिए 'शर्तें' हैं। आवेदक आवश्यक दस्तावेज एकत्र करता है और उन्हें होम लोन पर लागू करता है।
ऋण प्रसंस्करण उपयोगकर्ता दस्तावेजों और प्राप्तियों को स्वीकार करता है ऋण आवेदन की स्थिति (जो HLA अनुप्रयोग घटक की स्थिति है) 'लागू' राज्य के लिए।
तालिका 1: दस्तावेजों की सूची
1.1.2 चरण 2: ऋण मूल्यांकन
इस स्तर पर, ऋणदाता ऋण आवेदन का मूल्यांकन यह निर्धारित करने के लिए करता है कि यह उसकी क्रेडिट आवश्यकताओं को पूरा करता है या नहीं। इस समय सहायक दस्तावेज सत्यापित हैं।
तालिका 2: दस्तावेजों की आलोचना
मूल्यांकन के लिए आवश्यक दस्तावेज, यह 'शर्तें' हैं जिन्हें इस स्तर पर सत्यापित करने की आवश्यकता है, मान्य हैं। प्रत्येक स्थिति में इसके साथ एक महत्वपूर्णता जुड़ी होती है (ऊपर तालिका में in Y ’के रूप में उल्लिखित)। एक बार जब सभी आवश्यक महत्वपूर्ण शर्तें पूरी हो जाती हैं, तो एप्लिकेशन राज्य में 'पुष्टि' कर देता है - वह है एचएलए एप्लीकेशन घटक 'कन्फर्म' स्थिति में।
ध्यान दें:
जावा सोर्स कोड में सबसे छोटा पथ एल्गोरिथम
# 1) यह सिद्धांत परीक्षण की स्थिति और सिस्टम की 'राज्य' परिभाषाओं में एक संरचना और निष्पक्षता लाता है ।
इसके अलावा, सिस्टम को मान्य करने के लिए सभी 'शर्तें' इस 'पुष्टि' स्थिति तक पहुंचने के लिए महत्वपूर्ण नहीं हैं। ऊपर दी गई तालिका में, 'पुष्टि' स्थिति तक पहुँचने के लिए आवेदन के लिए 4 शर्तों को 'क्रिटिकल नहीं' के रूप में चिह्नित किया गया है।
#दो) प्रत्येक राज्य के लिए आवश्यक नियमों के जोखिम या आलोचनात्मकता के आधार पर मान्यताओं की संख्या को कम किया जा सकता है। यह परीक्षण निष्पादन के लिए आवश्यक समय को काफी कम कर देगा, और साथ ही परीक्षण की गुणवत्ता पर समझौता नहीं करेगा।
# 3) यह न केवल व्यक्तिगत घटकों के परीक्षण के लिए उपयोगी है, बल्कि सिस्टम एंड टू एंड परीक्षण के लिए भी उपयोगी है।
# 4) साथ ही, रिग्रेशन टेस्ट सूट बनाते समय बहुत उपयोगी है।
तो, इस स्तर पर, यह 0-स्विच प्रकार का परीक्षण है। लेकिन बाद में अनुमोदन के चरण 1-स्विच या 2-स्विच प्रकार के सत्यापन के लिए हो सकते हैं।
उदाहरण के लिए, 'विवाह प्रमाणपत्र' इस स्तर पर बहुत प्रासंगिक नहीं हो सकता है, लेकिन अनुमोदन के बाद के चरणों में जब आवेदक को ईएमआई का भुगतान करने के जोखिम पर विचार किया जा रहा है, विवाह प्रमाणपत्र प्रासंगिक हो सकता है - अर्थात, यदि पति या पत्नी नियोजित हैं , यह जोखिम को कम करता है, और यदि नियोजित नहीं है, तो यह जोखिम को बढ़ाता है।
# 5) उपरोक्त सिद्धांत का उपयोग उस स्तर पर घटक की आवश्यकता के आधार पर परीक्षण स्थितियों के विस्तार के लिए किया जा सकता है।
१.१.३ चरण ३: सशर्त स्वीकृति
आवेदन की वर्तमान स्थिति 'पुष्टि' है। ऋणदाता आगे बढ़ने के लिए ऋण प्रक्रिया के लिए 'सशर्त अनुमोदन' देगा। एचएलए के आवेदन को 'स्वीकृत' राज्य में स्थानांतरित करने के लिए और सत्यापन की आवश्यकता है।
१.१.४ चरण ४: स्वीकृति
इस स्तर पर महत्वपूर्ण सत्यापन किए जाते हैं:
- ऋणदाता बंधक बीमा (LMI) द्वारा मूल्यांकन: इसमें संपत्ति की वास्तविकता के लिए 2-स्विच या अधिक सत्यापन शामिल होंगे।
- ऋणदाता सूचना की मांग कर सकता है जो 'पुष्टि' चरण के दौरान नहीं दी गई थी।
एक बार जब उपरोक्त शर्तें पूरी हो जाती हैं, तो एप्लिकेशन 'स्वीकृत' स्थिति में चला जाता है। अनुमोदन प्रक्रिया का अंतिम अधिकार अधिक विवरण के लिए पूछकर ऋण आवेदक की विश्वसनीयता को पार कर सकता है या यह नहीं पूछ सकता है कि आवेदक के अन्य दस्तावेज निर्णायक हैं या नहीं। यही है, वैधता साबित करने के लिए मुख्य एप्लिकेशन के विभिन्न घटकों से अधिक इनपुट की आवश्यकता होगी ।
# 6) दूसरे शब्दों में, आवेदन के अन्य घटकों से घटक को इनपुट शर्तों के आधार पर एक अलग राज्य में संक्रमण के लिए अधिक सत्यापन की आवश्यकता (या कम) हो सकती है।
नीचे दिए गए आरेख में अनुमोदन प्रक्रिया को दर्शाया गया है।
चित्र 1: ऋण स्वीकृति प्रक्रिया
जोखिम और चुनौतियां
- बड़े अनुप्रयोगों के लिए, एफएसएम और नियमित घटकों के रूप में वर्गीकरण को सक्षम करने के लिए आवेदन को अलग-अलग तार्किक घटकों में तोड़ने के लिए गहन आवेदन ज्ञान आवश्यक है। इसके लिए एसएमई से महंगा समय लेना पड़ सकता है।
- सभी अनुप्रयोगों में इस तरह के FSM वर्गीकरण की व्यवहार्यता नहीं होगी।
- चूंकि एफएसएम घटक आवेदन में नियमित घटकों के साथ बातचीत करते हैं, इसलिए विभिन्न घटकों के एफएसएम से इनपुट के लिए सावधानीपूर्वक योजना और निष्पादन की आवश्यकता होती है।
राज्य संक्रमण परीक्षण के लाभ
- इस तकनीक के तहत, सिस्टम व्यवहार के एक सचित्र या सारणीबद्ध प्रतिनिधित्व का उपयोग करके, परीक्षक आवेदन डिजाइन से परिचित हो जाता है और प्रभावी ढंग से और कुशलता से परीक्षणों को कवर और डिजाइन करना आसान महसूस करता है।
- सिस्टम के अनियोजित या अमान्य राज्य भी इस तकनीक का उपयोग करके कवर हो जाते हैं।
- राज्य संक्रमण आरेख का उपयोग करना, यह सत्यापित करना आसान है कि सभी शर्तें कवर की गई हैं या नहीं।
राज्य संक्रमण परीक्षण के नुकसान
- इस तकनीक का उपयोग गैर-राज्य प्रणालियों के लिए नहीं किया जा सकता है।
- बड़े और जटिल सिस्टम के लिए सभी संभावित राज्यों को परिभाषित करना एक काफी बोझिल काम है।
निष्कर्ष
स्टेट ट्रांज़िशन परीक्षण एक सहायक दृष्टिकोण है जब परिमित-राज्य प्रणालियों के लिए विभिन्न सिस्टम संक्रमणों का परीक्षण किया जाना आवश्यक है।
'स्टेटफुल फंक्शनल टेस्टिंग' की अवधारणा के साथ एक अनुप्रयोग का परीक्षण करना, परीक्षण संगठनों को जटिल अनुप्रयोगों के परीक्षण के लिए एक अद्वितीय परीक्षण दृष्टिकोण दे सकता है, जो परीक्षण कवरेज पर समझौता किए बिना परीक्षण निष्पादन उत्पादकता को बढ़ाएगा।
राज्य संक्रमण परीक्षण जटिल अनुप्रयोगों के परीक्षण के लिए एक अनूठा परीक्षण दृष्टिकोण है, जो परीक्षण कवरेज पर समझौता किए बिना परीक्षण निष्पादन उत्पादकता को बढ़ाएगा।
इस तकनीक की सीमा यह है कि इसका उपयोग तब तक नहीं किया जा सकता है जब तक कि परीक्षण के तहत प्रणाली केवल परिमित अवस्था में न हो।
अनुशंसित पाठ
- दोष आधारित परीक्षण तकनीक क्या है?
- ऑर्थोगोनल एरे टेस्टिंग टेक्नीक (OATS) क्या है?
- कार्यात्मक परीक्षण बनाम गैर-कार्यात्मक परीक्षण
- तुलना परीक्षण क्या है (उदाहरण के साथ जानें)
- क्या है म्यूटेशन टेस्टिंग: ट्यूटोरियल विद एग्जाम्पल्स
- सॉफ्टवेयर टेस्टिंग में एंड्योरेंस टेस्टिंग (उदाहरण)
- परीक्षण से अंत क्या है: उदाहरण के साथ E2E परीक्षण ढांचा
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 (क्यूए टेस्ट स्वचालन उपकरण)