what is software quality assurance
सॉफ्टवेयर गुणवत्ता आश्वासन क्या है?
सॉफ्टवेयर गुणवत्ता आश्वासन (SQA) एक प्रक्रिया है जो यह आश्वासन देती है कि सभी सॉफ्टवेयर इंजीनियरिंग प्रक्रियाएं, विधियां, गतिविधियां और कार्य आइटम की निगरानी की जाती है और परिभाषित मानकों का पालन करती है। ये परिभाषित मानक ISO 9000, CMMI मॉडल, ISO15504, आदि जैसे किसी एक या एक संयोजन हो सकते हैं।
SQA रिलीज़ होने तक आवश्यकताओं को परिभाषित करने से लेकर कोडिंग तक सभी सॉफ़्टवेयर डेवलपमेंट प्रक्रियाओं को शामिल करता है। इसका मुख्य लक्ष्य गुणवत्ता सुनिश्चित करना है।
आप क्या सीखेंगे:
- सॉफ्टवेयर गुणवत्ता आश्वासन योजना
- SQA क्रियाएँ
- सॉफ्टवेयर गुणवत्ता आश्वासन मानक
- सॉफ्टवेयर गुणवत्ता आश्वासन के तत्व
- SQA तकनीक
- निष्कर्ष
- अनुशंसित पाठ
सॉफ्टवेयर गुणवत्ता आश्वासन योजना
SQAP के रूप में संक्षिप्त, सॉफ्टवेयर गुणवत्ता आश्वासन योजना में प्रक्रियाएं, तकनीक और उपकरण शामिल हैं जो यह सुनिश्चित करने के लिए नियोजित हैं कि कोई उत्पाद या सेवा SRS (सॉफ़्टवेयर आवश्यकता विनिर्देशन) में परिभाषित आवश्यकताओं के साथ संरेखित होती है।
योजना एक टीम की SQA जिम्मेदारियों की पहचान करती है, उन क्षेत्रों को सूचीबद्ध करती है जिनकी समीक्षा और ऑडिट करने की आवश्यकता होती है। यह SQA कार्य उत्पादों की पहचान भी करता है।
SQA योजना दस्तावेज में निम्न खंड हैं:
- प्रयोजन खंड
- संदर्भ अनुभाग
- सॉफ्टवेयर कॉन्फ़िगरेशन प्रबंधन अनुभाग
- समस्या रिपोर्टिंग और सुधारात्मक कार्रवाई अनुभाग
- उपकरण, प्रौद्योगिकी और कार्यप्रणाली अनुभाग
- कोड नियंत्रण अनुभाग
- रिकॉर्ड्स: संग्रह, रखरखाव और अवधारण अनुभाग
- परीक्षण पद्धति
SQA क्रियाएँ
नीचे SQA गतिविधियों की सूची दी गई है:
(1) SQA प्रबंधन योजना बनाना:
सबसे महत्वपूर्ण गतिविधि में यह शामिल करना शामिल है कि आपकी परियोजना में SQA को किस तरह से किया जाएगा।
SQA के दृष्टिकोण के साथ-साथ आप किन इंजीनियरिंग गतिविधियों को अंजाम देंगे, और यह सुनिश्चित करना भी शामिल है कि आपकी टीम में एक सही प्रतिभा का मिश्रण हो।
# 2) चौकी की स्थापना:
SQA टीम विभिन्न चौकियों की स्थापना करती है, जिसके अनुसार यह प्रत्येक चेकपॉइंट / प्रोजेक्ट स्टेज पर प्रोजेक्ट गतिविधियों की गुणवत्ता का मूल्यांकन करती है। यह नियमित गुणवत्ता निरीक्षण और कार्यक्रम के अनुसार काम करना सुनिश्चित करता है।
# 3) सॉफ्टवेयर इंजीनियरिंग तकनीक लागू करें:
कुछ सॉफ्टवेयर इंजीनियरिंग तकनीकों को लागू करने से उच्च गुणवत्ता वाले विनिर्देश प्राप्त करने में एक सॉफ्टवेयर डिजाइनर सहायता करता है। जानकारी जुटाने के लिए, एक डिजाइनर साक्षात्कार और फास्ट (कार्यात्मक विश्लेषण प्रणाली तकनीक) जैसी तकनीकों का उपयोग कर सकता है।
बाद में, एकत्रित जानकारी के आधार पर, सॉफ्टवेयर डिज़ाइनर WBS (वर्क ब्रेकडाउन स्ट्रक्चर), SLOC (कोड्स का सोर्स लाइन), और FP (फ़ंक्शनल पॉइंट) आकलन जैसी तकनीकों का उपयोग करके प्रोजेक्ट अनुमान तैयार कर सकता है।
# 4) औपचारिक तकनीकी समीक्षा निष्पादित करना:
प्रोटोटाइप की गुणवत्ता और डिजाइन का मूल्यांकन करने के लिए एक एफटीआर किया जाता है।
इस प्रक्रिया में, सॉफ़्टवेयर की वास्तविक गुणवत्ता आवश्यकताओं और प्रोटोटाइप की डिज़ाइन गुणवत्ता के बारे में चर्चा करने के लिए तकनीकी कर्मचारियों के साथ एक बैठक आयोजित की जाती है। यह गतिविधि एसडीएलसी के शुरुआती चरण में त्रुटियों का पता लगाने में मदद करती है और बाद के चरणों में पुन: प्रयास को कम करती है।
# 5) बहु-परीक्षण रणनीति रखना:
बहु-परीक्षण रणनीति द्वारा, हमारा मतलब है कि किसी को किसी एकल परीक्षण दृष्टिकोण पर भरोसा नहीं करना चाहिए, इसके बजाय, कई प्रकार के परीक्षण किए जाने चाहिए ताकि सॉफ्टवेयर उत्पाद को बेहतर गुणवत्ता सुनिश्चित करने के लिए सभी कोणों से अच्छी तरह से परीक्षण किया जा सके।
# 6) प्रक्रिया प्रक्रिया का पालन:
यह गतिविधि सॉफ्टवेयर विकास प्रक्रिया के दौरान प्रक्रिया के पालन की आवश्यकता पर जोर देती है। विकास प्रक्रिया को परिभाषित प्रक्रियाओं से भी चिपके रहना चाहिए।
यह गतिविधि दो उप-गतिविधियों का मिश्रण है जिन्हें नीचे विस्तार से बताया गया है:
(i) उत्पाद मूल्यांकन:
यह गतिविधि इस बात की पुष्टि करती है कि सॉफ्टवेयर उत्पाद परियोजना प्रबंधन योजना में खोजी गई आवश्यकताओं को पूरा कर रहा है। यह सुनिश्चित करता है कि परियोजना के लिए निर्धारित मानकों का सही ढंग से पालन किया जाता है।
कैसे जावा में कार्य करने के लिए सरणी पास करने के लिए
(ii) प्रक्रिया निगरानी:
यह गतिविधि सत्यापित करती है कि सॉफ्टवेयर विकास के दौरान सही कदम उठाए गए थे या नहीं। यह डॉक्यूमेंटेड स्टेप्स के खिलाफ वास्तव में उठाए गए कदमों का मिलान करके किया जाता है।
# 7) परिवर्तन पर नियंत्रण:
इस गतिविधि में, हम मैन्युअल प्रक्रियाओं और स्वचालित उपकरणों के मिश्रण का उपयोग करते हैं, जिसमें परिवर्तन नियंत्रण के लिए एक तंत्र है।
परिवर्तन अनुरोधों को मान्य करके, परिवर्तन की प्रकृति का मूल्यांकन करने और परिवर्तन प्रभाव को नियंत्रित करने के लिए, यह सुनिश्चित किया जाता है कि विकास और रखरखाव चरणों के दौरान सॉफ्टवेयर की गुणवत्ता बनाए रखी जाती है।
# 8) उपाय बदलें प्रभाव:
यदि कोई कमी QA टीम द्वारा बताई गई है, तो संबंधित टीम दोष को ठीक करती है।
इसके बाद, क्यूए टीम को उस परिवर्तन के प्रभाव को निर्धारित करना चाहिए जो इस दोष को ठीक करता है। उन्हें न केवल परीक्षण करने की आवश्यकता है यदि परिवर्तन ने दोष को ठीक किया है, बल्कि यह भी कि यदि परिवर्तन पूरी परियोजना के अनुकूल है।
इस उद्देश्य के लिए, हम सॉफ्टवेयर गुणवत्ता मैट्रिक्स का उपयोग करते हैं जो प्रबंधकों और डेवलपर्स को गतिविधियों का निरीक्षण करने और एसडीएलसी के अंत तक शुरू से प्रस्तावित बदलावों की अनुमति देता है और जहां भी आवश्यक हो सुधारात्मक कार्रवाई शुरू करता है।
# 9) SQA ऑडिट करना:
SQA लेखा परीक्षा पूरी वास्तविक SDLC प्रक्रिया का निरीक्षण करती है, उसके बाद स्थापित प्रक्रिया के खिलाफ तुलना करके।
यह इस बात की भी जाँच करता है कि स्थिति रिपोर्ट में टीम द्वारा जो कुछ भी रिपोर्ट किया गया था वह वास्तव में किया गया था या नहीं। यह गतिविधि किसी भी गैर-अनुपालन मुद्दों को भी उजागर करती है।
# 10) रिकॉर्ड और रिपोर्ट बनाए रखना:
SQA से संबंधित आवश्यक दस्तावेज रखना और हितधारकों के साथ आवश्यक SQA जानकारी साझा करना महत्वपूर्ण है। परीक्षा परिणाम, लेखा परीक्षा परिणाम, समीक्षा रिपोर्ट, परिवर्तन अनुरोध प्रलेखन, आदि को भविष्य के संदर्भ के लिए रखा जाना चाहिए।
# 11) अच्छे संबंधों को प्रबंधित करें:
वास्तव में, क्यूए और विकास टीम के बीच सामंजस्य बनाए रखना बहुत महत्वपूर्ण है।
हम अक्सर सुनते हैं कि परीक्षक और डेवलपर अक्सर एक-दूसरे से बेहतर महसूस करते हैं। इससे बचा जाना चाहिए क्योंकि यह समग्र परियोजना गुणवत्ता को प्रभावित कर सकता है।
सॉफ्टवेयर गुणवत्ता आश्वासन मानक
सामान्य तौर पर, SQA एक या अधिक मानकों के अनुरूप होने की मांग कर सकता है।
सबसे लोकप्रिय मानकों में से कुछ नीचे चर्चा कर रहे हैं:
आईएसओ 9000: यह मानक सात गुणवत्ता प्रबंधन सिद्धांतों पर आधारित है जो संगठनों को यह सुनिश्चित करने में मदद करते हैं कि उनके उत्पादों या सेवाओं को ग्राहकों की जरूरतों के साथ गठबंधन किया जाए ’।
आईएसओ 9000 के 7 सिद्धांतों को नीचे की छवि में दर्शाया गया है:
CMMI स्तर: सीएमएमआई खड़ा है क्षमता परिपक्वता मॉडल एकीकरण । इस मॉडल की उत्पत्ति सॉफ्टवेयर इंजीनियरिंग में हुई थी। यह एक परियोजना, विभाग या एक पूरे संगठन में प्रक्रिया सुधार के लिए नियोजित किया जा सकता है।
5 CMMI स्तर और उनकी विशेषताएं नीचे दी गई छवि में वर्णित हैं:
एक संगठन को मूल्यांकन किया जाता है और मूल्यांकन के प्रकार के आधार पर परिपक्वता स्तर की रेटिंग (1-5) से सम्मानित किया जाता है।
परीक्षण परिपक्वता मॉडल एकीकरण (TMMi): सीएमएमआई के आधार पर, यह मॉडल सॉफ्टवेयर गुणवत्ता प्रबंधन और परीक्षण में परिपक्वता स्तर पर केंद्रित है।
नीचे दी गई छवि में 5 TMMi स्तरों को दर्शाया गया है:
जैसा कि एक संगठन उच्च परिपक्वता स्तर पर आगे बढ़ता है, यह कम दोष वाले उच्च गुणवत्ता वाले उत्पादों के उत्पादन के लिए एक उच्च क्षमता प्राप्त करता है और व्यावसायिक आवश्यकताओं को बारीकी से पूरा करता है।
सॉफ्टवेयर गुणवत्ता आश्वासन के तत्व
SQA के 10 आवश्यक तत्व हैं जो आपके संदर्भ के लिए नीचे सूचीबद्ध हैं:
- सॉफ्टवेयर इंजीनियरिंग मानक
- तकनीकी समीक्षा और ऑडिट
- गुणवत्ता नियंत्रण के लिए सॉफ्टवेयर परीक्षण
- त्रुटि संग्रह और विश्लेषण
- परिवर्तन प्रबंधन
- शिक्षण कार्यक्रम
- विक्रेता प्रबंधन
- सुरक्षा प्रबंधन
- सुरक्षा
- जोखिम प्रबंधन
SQA तकनीक
SQA के लिए कई तकनीकें हैं। ऑडिटिंग मुख्य तकनीक है जिसे व्यापक रूप से अपनाया जाता है। हालाँकि, हमारे पास कुछ अन्य महत्वपूर्ण तकनीकें भी हैं।
विभिन्न SQA तकनीकों में शामिल हैं:
- लेखा परीक्षा: ऑडिटिंग में कार्य उत्पादों का निरीक्षण और इसकी संबंधित जानकारी निर्धारित करने के लिए है कि मानक प्रक्रियाओं के सेट का पालन किया गया था या नहीं।
- की समीक्षा : एक बैठक जिसमें सॉफ्टवेयर उत्पाद की आंतरिक और बाहरी दोनों हितधारकों द्वारा उनकी टिप्पणियों और अनुमोदन की जांच की जाती है।
- कोड निरीक्षण: यह सबसे औपचारिक प्रकार की समीक्षा है जो बग को खोजने और बाद के चरणों में दोष के विकास से बचने के लिए स्थैतिक परीक्षण करता है। यह एक प्रशिक्षित मध्यस्थ / सहकर्मी द्वारा किया जाता है और यह नियमों, चेकलिस्ट, प्रवेश और निकास मानदंडों पर आधारित है। समीक्षक को कोड का लेखक नहीं होना चाहिए।
- डिजाइन निरीक्षण: डिजाइन निरीक्षण एक चेकलिस्ट का उपयोग करके किया जाता है जो सॉफ्टवेयर डिजाइन के नीचे के क्षेत्रों का निरीक्षण करता है:
- सामान्य आवश्यकताओं और डिजाइन
- कार्यात्मक और इंटरफ़ेस विनिर्देशों
- कन्वेंशनों
- आवश्यकता ट्रेसबिलिटी
- संरचनाएं और इंटरफेस
- तर्क
- प्रदर्शन
- हैंडलिंग और पुनर्प्राप्ति में त्रुटि
- टेस्टिबिलिटी, एक्स्टेंसिबिलिटी
- युग्मन और सामंजस्य
- सिमुलेशन: सिमुलेशन एक उपकरण है जो अध्ययन के तहत प्रणाली के व्यवहार की वस्तुतः जांच करने के लिए वास्तविक जीवन की स्थिति को मॉडल करता है।
- क्रियात्मक परीक्षण: यह एक क्यूए तकनीक है जो यह सत्यापित करती है कि सिस्टम यह कैसे करता है, इस पर विचार किए बिना। इस प्रकार के ब्लैक बॉक्स परीक्षण मुख्य रूप से सिस्टम विनिर्देशों या सुविधाओं के परीक्षण पर केंद्रित है।
- मानकीकरण: मानकीकरण गुणवत्ता आश्वासन में एक महत्वपूर्ण भूमिका निभाता है। यह अस्पष्टता और अनुमान को कम करता है, इस प्रकार गुणवत्ता सुनिश्चित करता है।
- स्थैतिक विश्लेषण: यह एक सॉफ्टवेयर विश्लेषण है जो वास्तव में कार्यक्रम को निष्पादित किए बिना एक स्वचालित उपकरण द्वारा किया जाता है। यह तकनीक चिकित्सा, परमाणु और विमानन सॉफ्टवेयर में गुणवत्ता आश्वासन के लिए अत्यधिक उपयोग की जाती है। सॉफ्टवेयर मैट्रिक्स और रिवर्स इंजीनियरिंग स्थैतिक विश्लेषण के कुछ लोकप्रिय रूप हैं।
- वॉकथ्रू: सॉफ्टवेयर वॉकथ्रू या कोड वॉकथ्रू एक तरह की सहकर्मी समीक्षा है जहां डेवलपर विकास टीम के सदस्यों को उत्पाद के माध्यम से जाने और सवाल उठाने, वैकल्पिक सुझाव देने, संभावित त्रुटियों, मानक उल्लंघन या किसी अन्य मुद्दों के बारे में टिप्पणी करने के लिए मार्गदर्शन करता है।
- पथ परीक्षण: यह है एक सफेद बॉक्स परीक्षण तकनीक जहां कम से कम एक बार प्रत्येक स्वतंत्र पथ को निष्पादित करके पूरी शाखा कवरेज सुनिश्चित की जाती है।
- तनाव परीक्षण: इस प्रकार का परीक्षण यह जांचने के लिए किया जाता है कि किसी सिस्टम को भारी लोड के तहत परीक्षण करके कितना मजबूत किया जाता है यानी सामान्य परिस्थितियों से परे।
- सिक्स सिग्मा: सिक्स सिग्मा एक गुणवत्ता आश्वासन दृष्टिकोण है जिसका उद्देश्य लगभग संपूर्ण उत्पादों या सेवाओं पर आधारित है। यह सॉफ्टवेयर सहित कई क्षेत्रों में व्यापक रूप से लागू है। छह सिग्मा का मुख्य उद्देश्य प्रक्रिया में सुधार है ताकि उत्पादित सॉफ्टवेयर 99.76% दोष मुक्त हो।
निष्कर्ष
SQA एक छाता गतिविधि है जो पूरे सॉफ्टवेयर जीवनचक्र में कार्यरत है।
सॉफ़्टवेयर गुणवत्ता आश्वासन आपके सॉफ़्टवेयर उत्पाद या सेवा के लिए बाज़ार में सफल होने और ग्राहक की अपेक्षाओं पर खरा उतरने के लिए बहुत महत्वपूर्ण है।
विभिन्न गतिविधियाँ, मानक, और तकनीकें हैं जिन्हें आपको यह आश्वस्त करने के लिए पालन करने की आवश्यकता है कि वितरण योग्य सॉफ़्टवेयर उच्च गुणवत्ता का है और व्यावसायिक आवश्यकताओं के साथ निकटता से संरेखित है।
आशा है आपको इस जानकारीपूर्ण लेख के माध्यम से सॉफ्टवेयर गुणवत्ता आश्वासन की अवधारणा पर स्पष्ट विचार आया होगा !!
अनुशंसित पाठ
- सॉफ्टवेयर परीक्षण और गुणवत्ता आश्वासन प्रमाणपत्र - भाग 2
- गुणवत्ता गुण क्या हैं?
- गुणवत्ता बनाम भगवान के सच्चे भगवान - सॉफ्टवेयर की गुणवत्ता के लिए जिम्मेदार कौन है?
- गुणवत्ता आश्वासन और गुणवत्ता नियंत्रण (क्यूए बनाम क्यूसी) के बीच अंतर
- सही सॉफ्टवेयर परीक्षण फिर से शुरू गाइड (सॉफ्टवेयर परीक्षक पुनरारंभ नमूना के साथ)
- सॉफ्टवेयर की गुणवत्ता में सुधार करने के लिए पोका-योक (गलती का सबूत) का उपयोग कैसे करें
- परीक्षण में पारस्परिक समझ: एक गुणवत्ता सॉफ्टवेयर देने के लिए एक कुंजी
- सॉफ्टवेयर परीक्षण क्यूए सहायक नौकरी