/ / कार्यक्रम परीक्षण - एक सॉफ्टवेयर उत्पाद में त्रुटियों का पता लगाने की प्रक्रिया

सॉफ्टवेयर परीक्षण एक सॉफ्टवेयर उत्पाद में त्रुटियों का पता लगाने की प्रक्रिया है

सॉफ्टवेयर विकसित करते समयनिर्माण प्रक्रिया का एक महत्वपूर्ण हिस्सा सॉफ्टवेयर परीक्षण पर निर्भर करता है। यह क्या है और इस तरह की गतिविधि कैसे की जाती है, इस लेख में चर्चा की जाएगी।

परीक्षण किसे कहते हैं?

परीक्षण कार्यक्रम

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

प्रभावशीलता

कितनी अच्छी और जल्दी गलतियाँ पाई जाती हैंआवश्यक गुणवत्ता के सॉफ्टवेयर विकास की लागत और अवधि को महत्वपूर्ण रूप से प्रभावित करता है। इसलिए, इस तथ्य के बावजूद कि परीक्षकों को प्रोग्रामर से कई गुना कम वेतन मिलता है, उनकी सेवाओं की लागत आमतौर पर पूरे प्रोजेक्ट की लागत का 30 - 40% तक पहुंचती है। यह कर्मियों के आकार के कारण है, क्योंकि यह गलती खोजने के लिए एक असामान्य और बल्कि कठिन प्रक्रिया है। लेकिन भले ही सॉफ़्टवेयर ने परीक्षणों की एक ठोस संख्या पार कर ली हो, कोई 100% गारंटी नहीं है कि कोई त्रुटि नहीं होगी। यह केवल ज्ञात नहीं है कि वे कब दिखाई देंगे। परीक्षकों को उन प्रकार के परीक्षणों को चुनने के लिए प्रोत्साहित करने के लिए जो गलती खोजने की अधिक संभावना रखते हैं, विभिन्न प्रोत्साहन का उपयोग किया जाता है, नैतिक और सामग्री दोनों।

काम करने के लिए दृष्टिकोण

कंप्यूटर परीक्षण

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

टेस्ट क्या है?

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

कीड़े खोजने की कला

द्वारा परीक्षण

कार्यक्रम अक्सर एक विशाल के साथ काम करने के उद्देश्य से होते हैंडेटा सरणी। क्या इसे पूरी तरह से बनाने के लिए वास्तव में आवश्यक है? नहीं। कार्यक्रम का "लघुकरण" का अभ्यास व्यापक हो गया है। इस मामले में, डेटा का उपयोग करने की तुलना में उचित मात्रा में कमी है। आइए इस उदाहरण को देखें: एक प्रोग्राम है जो 50x50 मैट्रिक्स बनाता है। दूसरे शब्दों में, आपको मैन्युअल रूप से 2500 हजार मान दर्ज करने की आवश्यकता है। यह, ज़ाहिर है, संभव है, लेकिन इसमें बहुत लंबा समय लगेगा। लेकिन संचालन क्षमता की जांच करने के लिए, सॉफ़्टवेयर उत्पाद को एक मैट्रिक्स प्राप्त होता है, जिसका आयाम 5x5 है। ऐसा करने के लिए, आपको पहले से ही 25 मान दर्ज करने होंगे। यदि इस मामले में सामान्य, त्रुटि रहित ऑपरेशन मनाया जाता है, तो इसका मतलब है कि सब कुछ क्रम में है। हालांकि यहां भी नुकसान होते हैं, जो इस तथ्य में शामिल हैं कि लघुकरण के दौरान एक स्थिति होती है, जिसके परिणामस्वरूप परिवर्तन निहित हो जाते हैं और अस्थायी रूप से गायब हो जाते हैं। यह बहुत दुर्लभ भी है, लेकिन यह अभी भी होता है कि नई त्रुटियां दिखाई देती हैं।

उद्देश्य पीछा किया

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

विभिन्न स्थितियों में जाँच

सॉफ्टवेयर

एक नियम के रूप में, कार्यक्रमों का परीक्षण किया जाता हैसीमित सीमा के भीतर कार्यक्षमता के न्यूनतम सत्यापन के लिए आवश्यक वॉल्यूम। गतिविधियों को मापदंडों में बदलाव के साथ-साथ उनके काम की शर्तों के साथ किया जाता है। परीक्षण प्रक्रिया को तीन चरणों में विभाजित किया जा सकता है:

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

सॉफ्टवेयर परीक्षण: प्रकार

अनुप्रयोग त्रुटि

त्रुटियों के बिना सॉफ़्टवेयर बनाएँबहुत कठिन। इसमें महत्वपूर्ण समय लगता है। एक अच्छा उत्पाद प्राप्त करने के लिए, दो प्रकार के परीक्षण अक्सर उपयोग किए जाते हैं: "अल्फा" और "बीटा"। वे क्या हैं? जब वे अल्फा परीक्षण के बारे में बात करते हैं, तो उनका मतलब है कि एक परीक्षण जो विकास कर्मचारियों द्वारा खुद को "प्रयोगशाला" वातावरण में किया जाता है। अंतिम उपयोगकर्ताओं के लिए कार्यक्रम जारी होने से पहले सत्यापन का यह अंतिम चरण है। इसलिए, डेवलपर्स अधिकतम परिनियोजित करने का प्रयास कर रहे हैं। उपयोग में आसानी के लिए, समस्याओं और सुधारों का इतिहास बनाने के लिए डेटा को लॉग इन किया जा सकता है। बीटा टेस्टिंग को सीमित संख्या में उपयोगकर्ताओं को सॉफ़्टवेयर की डिलीवरी के रूप में समझा जाता है ताकि वे प्रोग्राम का उपयोग कर सकें और मिस्ड बग की पहचान कर सकें। इस मामले में ख़ासियत यह है कि सॉफ़्टवेयर का उपयोग अक्सर इसके इच्छित उद्देश्य के लिए नहीं किया जाता है। इसके लिए धन्यवाद, खराबी का पता लगाया जाएगा जहां पहले कुछ भी नहीं देखा गया था। यह काफी सामान्य है और इसके बारे में चिंता करने की कोई जरूरत नहीं है।

परीक्षण पूरा करना

यदि पिछले चरण सफलतापूर्वक पूर्ण हो चुके हैं, तोयह स्वीकृति परीक्षण करने के लिए बना हुआ है। इस मामले में, यह एक साधारण औपचारिकता बन जाती है। यह जांच इस बात की पुष्टि करती है कि कोई अतिरिक्त समस्या नहीं पाई गई और सॉफ्टवेयर को बाजार में जारी किया जा सकता है। अंतिम परिणाम जितना महत्वपूर्ण है, उतनी ही सावधानी से जांच को पूरा करना चाहिए। यह सुनिश्चित करना आवश्यक है कि सभी चरण सफलतापूर्वक पूरे हो जाएं। यह सामान्य रूप से परीक्षण प्रक्रिया जैसा दिखता है। अब चलो तकनीकी विवरण में गोता लगाएँ और परीक्षण कार्यक्रमों जैसे उपयोगी उपकरणों के बारे में बात करें। वे क्या हैं और उनका उपयोग कब किया जाता है?

स्वचालित परीक्षण

विकसित कार्यक्रम का परीक्षण

पहले यह माना जाता था कि गतिशील विश्लेषणविकसित सॉफ्टवेयर बहुत भारी दृष्टिकोण है जो दोषों का पता लगाने के लिए उपयोग करने के लिए अप्रभावी है। लेकिन कार्यक्रमों की बढ़ती जटिलता और मात्रा के साथ, विपरीत दृश्य सामने आया है। स्वचालित परीक्षण का उपयोग किया जाता है जहां स्वास्थ्य और सुरक्षा सर्वोच्च प्राथमिकता है। और वे किसी भी इनपुट के लिए होना चाहिए। उन कार्यक्रमों के उदाहरण जिनके लिए इस तरह के परीक्षण उपयुक्त हैं, निम्नलिखित हैं: नेटवर्क प्रोटोकॉल, वेब सर्वर, सैंडबॉक्सिंग। हम अगले कुछ नमूनों को देखेंगे जो इस तरह की गतिविधि के लिए उपयोग किए जा सकते हैं। यदि आप नि: शुल्क परीक्षण कार्यक्रमों में रुचि रखते हैं, तो उनमें से गुणवत्ता वाले लोगों को ढूंढना काफी मुश्किल है। लेकिन अच्छी तरह से सिद्ध परियोजनाओं के "समुद्री डाकू" संस्करण हैक किए गए हैं, इसलिए आप उनकी सेवाओं की ओर मुड़ सकते हैं।

हिमस्खलन

यह उपकरण दोषों का पता लगाने में मदद करता है,गतिशील विश्लेषण मोड में कार्यक्रमों का परीक्षण करते समय। यह डेटा एकत्र करता है और विकसित वस्तु के निष्पादन ट्रेस का विश्लेषण करता है। परीक्षक को इनपुट के एक सेट के साथ प्रस्तुत किया जाता है जो त्रुटि का कारण बनता है या मौजूदा प्रतिबंधों का एक सेट बायपास करता है। एक अच्छा सत्यापन एल्गोरिथ्म के साथ, बड़ी संख्या में संभावित परिस्थितियों का विकास होता है। कार्यक्रम में इनपुट डेटा के विभिन्न सेट प्राप्त होते हैं जो आपको एक महत्वपूर्ण संख्या में स्थितियों का अनुकरण करने और ऐसी स्थिति पैदा करने की अनुमति देते हैं जब विफलता की संभावना सबसे अधिक होती है। कार्यक्रम का एक महत्वपूर्ण लाभ हेयुरिस्टिक मेट्रिक्स का उपयोग है। यदि कोई समस्या है, तो अनुप्रयोग त्रुटि की उच्च संभावना है। लेकिन इस कार्यक्रम की सीमाएँ हैं जैसे केवल एक झंडे वाले इनपुट सॉकेट या फ़ाइल की जाँच करना। परीक्षण कार्यक्रमों जैसे ऑपरेशन करते समय, पुस्तकालयों के उपयोग के कारण अशक्त बिंदुओं, अनंत छोरों, गलत पते या खराबी के साथ समस्याओं की उपस्थिति के बारे में विस्तृत जानकारी होगी। बेशक, यह पता चला त्रुटियों की पूरी सूची नहीं है, लेकिन केवल सामान्य उदाहरण हैं। दुर्भाग्य से, डेवलपर्स को कमियों को ठीक करना होगा - स्वचालित उपकरण इन उद्देश्यों के लिए उपयुक्त नहीं हैं।

क्ली

परीक्षण कार्यक्रम

स्मृति परीक्षण के लिए यह एक अच्छा कार्यक्रम है।यह लगभग 50 सिस्टम कॉल और बड़ी संख्या में आभासी प्रक्रियाओं को बाधित कर सकता है, इस प्रकार समानांतर और अलग से निष्पादित होता है। लेकिन सामान्य तौर पर, कार्यक्रम व्यक्तिगत संदिग्ध स्थानों की तलाश नहीं करता है, लेकिन कोड की अधिकतम संभव मात्रा को संसाधित करता है और उपयोग किए गए डेटा ट्रांसमिशन पथ का विश्लेषण करता है। इस वजह से, कार्यक्रम का परीक्षण समय ऑब्जेक्ट के आकार पर निर्भर करता है। सत्यापन के दौरान, सांकेतिक प्रक्रियाओं पर हिस्सेदारी बनाई गई थी। वे जाँच किए जा रहे कार्यक्रम में कार्य करने के संभावित तरीकों में से एक हैं। समानांतर काम के कारण, अध्ययन के तहत आवेदन के संचालन के बड़ी संख्या में विश्लेषण करना संभव है। प्रत्येक पथ के लिए, इसके परीक्षण के अंत के बाद, इनपुट डेटा सेट होता है जिसमें से सत्यापन शुरू हुआ। यह ध्यान दिया जाना चाहिए कि KLEE के साथ परीक्षण कार्यक्रम बड़ी संख्या में विचलन की पहचान करने में मदद करता है जो कि नहीं होना चाहिए। वह उन अनुप्रयोगों में भी समस्याएं पा सकता है जो दशकों से विकास में हैं।

इसे पसंद किया:
0
लोकप्रिय पोस्ट
आध्यात्मिक विकास
भोजन
y