why does software have bugs
सभी सॉफ्टवेयर परीक्षक के मन में एक प्रश्न है 'क्यों सॉफ्टवेयर कीड़े है?' और 'ये कीड़े कैसे होंगे?'। इस प्रश्न का उत्तर इस लेख में दिया गया है।
इस लेख में, हम शीर्ष 20 कारणों को जानेंगे कि क्यों सॉफ़्टवेयर में बग होते हैं।
आप क्या सीखेंगे:
- एक सॉफ्टवेयर बग क्या है?
- क्यों सॉफ्टवेयर कीड़े है?
- सॉफ्टवेयर कीड़े के लिए शीर्ष 20 कारण
- निष्कर्ष
- अनुशंसित पाठ
एक सॉफ्टवेयर बग क्या है?
एक सॉफ्टवेयर बग एक प्रोग्राम में एक विफलता या दोष है जो अवांछित या गलत परिणाम उत्पन्न करता है। यह एक त्रुटि है जो एप्लिकेशन को कार्य करने से रोकता है जैसा कि उसे करना चाहिए
क्यों सॉफ्टवेयर कीड़े है?
सॉफ्टवेयर कीड़े के कई कारण हैं। सॉफ्टवेयर डिजाइन और कोडिंग में सबसे आम कारण मानवीय गलतियां हैं।
एक बार जब आप सॉफ़्टवेयर दोष के कारणों को जान लेते हैं, तो इन दोषों को कम करने के लिए सुधारात्मक कार्रवाई करना आपके लिए आसान होगा।
सॉफ्टवेयर कीड़े के लिए शीर्ष 20 कारण
# 1) संचार या कोई संचार नहीं
किसी भी सॉफ्टवेयर एप्लिकेशन की सफलता हितधारकों, विकास और परीक्षण टीमों के बीच संचार पर निर्भर करती है। अस्पष्ट आवश्यकताएं और आवश्यकताओं की गलत व्याख्या सॉफ्टवेयर में दोष पैदा करने वाले दो प्रमुख कारक हैं।
इसके अलावा, विकास की अवस्था में दोषों को पेश किया जाता है, यदि विकास की टीमों के लिए सही आवश्यकताओं का संचार ठीक से नहीं किया जाता है।
# 2) सॉफ्टवेयर जटिलता
वर्तमान सॉफ़्टवेयर अनुप्रयोगों की जटिलता आधुनिक-दिन के सॉफ़्टवेयर विकास में अनुभव के बिना किसी के लिए भी मुश्किल हो सकती है।
विंडोज-प्रकार इंटरफेस, क्लाइंट-सर्वर, और वितरित अनुप्रयोग , डेटा कम्युनिकेशंस, विशाल रिलेशनल डेटाबेस, और अनुप्रयोगों के विशाल आकार सभी ने सॉफ्टवेयर / सिस्टम जटिलता में घातीय वृद्धि में योगदान दिया है।
ऑब्जेक्ट-ओरिएंटेड तकनीकों का उपयोग किसी प्रोजेक्ट को सरल बनाने के बजाय जटिल कर सकता है जब तक कि यह अच्छी तरह से इंजीनियर न हो।
# 3) प्रोग्रामिंग त्रुटियाँ
प्रोग्रामर, किसी और की तरह, बना सकते हैं प्रोग्रामिंग की गलतियाँ । सभी डेवलपर डोमेन विशेषज्ञ नहीं हैं। अनुभवहीन प्रोग्रामर या उचित डोमेन ज्ञान के बिना प्रोग्रामर कोडिंग करते समय सरल गलतियों को प्रस्तुत कर सकते हैं।
सरल कोडिंग प्रथाओं की कमी, यूनिट परीक्षण, डिबगिंग कुछ सामान्य कारण हैं जो इन मुद्दों को विकास के स्तर पर पेश किए जाते हैं।
# 4) आवश्यकताएँ बदलना
ग्राहक परिवर्तनों के प्रभावों को नहीं समझ सकता है या उन्हें वैसे भी समझ सकता है और उनसे अनुरोध कर सकता है - रीडिज़ाइन, इंजीनियरों का पुनर्निर्धारण, अन्य परियोजनाओं पर प्रभाव, पहले से ही पूरा हो चुका काम जिसे फिर से करना या बाहर फेंकना पड़ सकता है, हार्डवेयर आवश्यकताएं जो प्रभावित हो सकती हैं, आदि।
यदि परियोजना के कुछ हिस्सों में कई छोटे-मोटे बदलाव या कोई बड़ा बदलाव, ज्ञात और अज्ञात निर्भरताएँ हैं, तो आपस में बातचीत करने और समस्याएँ पैदा होने की संभावना है, और परिवर्तनों पर नज़र रखने की जटिलता का परिणाम हो सकता है। इंजीनियरिंग कर्मचारियों का उत्साह प्रभावित हो सकता है।
कुछ तेजी से बदलते कारोबारी माहौल में, लगातार संशोधित आवश्यकताएं जीवन का एक तथ्य हो सकती हैं।
इस मामले में, प्रबंधन को परिणामी जोखिमों को समझना चाहिए, और क्यूए और परीक्षण इंजीनियरों को अपरिहार्य बग को नियंत्रण से बाहर रखने के लिए निरंतर व्यापक परीक्षण के लिए अनुकूल और योजना बनाना चाहिए।
# 5) समय दबाव
सॉफ़्टवेयर परियोजनाओं का निर्धारण करना मुश्किल है, अक्सर अनुमान लगाने की बहुत आवश्यकता होती है। जब डेडलाइन लूम और क्रंच आएगी तो गलतियां की जाएंगी।
अवास्तविक कार्यक्रम हालांकि आम नहीं हैं, लेकिन लघु-स्तरीय परियोजनाओं / कंपनियों में प्रमुख चिंता का परिणाम सॉफ्टवेयर बग में है। अगर नहीं है काफी समय उचित डिजाइन, कोडिंग और परीक्षण के लिए, यह काफी स्पष्ट है कि दोषों को पेश किया जाएगा।
# 6) अहंकारी या अति आत्मविश्वास वाले लोग
लोग जैसे कहना पसंद करते हैं:
- 'कोई बात न'
- 'तुच्छ बात'
- ‘मैं कुछ घंटों में इसे मिटा सकता हूं '
- Old उस पुराने कोड को अपडेट करना आसान होना चाहिए '
के बजाय:
- ‘जिसमें बहुत सारी जटिलताएँ शामिल हैं और हम बहुत सारी गलतियाँ कर सकते हैं '
- ‘अगर हम ऐसा कर सकते हैं तो हमें कोई पता नहीं है; हम इसे पंख देंगे '
- ‘मैं यह अनुमान नहीं लगा सकता कि जब तक मैं इस पर कड़ी नज़र नहीं रखता, तब तक इसमें कितना समय लगेगा? '
- Sp हम यह पता नहीं लगा सकते कि पुराने स्पेगेटी कोड ने पहले स्थान पर क्या किया था ’
- यदि बहुत अधिक अवास्तविक un कोई समस्या नहीं है, तो परिणाम सॉफ्टवेयर बग है।
# 7) खराब दस्तावेज कोड
उस कोड को बनाए रखना और संशोधित करना कठिन है जो बुरी तरह से लिखा गया है या खराब दस्तावेज है; परिणाम है सॉफ्टवेयर कीड़े । कई संगठनों में, प्रबंधन प्रोग्रामर को उनके कोड का दस्तावेजीकरण करने या स्पष्ट, समझने योग्य कोड लिखने के लिए कोई प्रोत्साहन नहीं देता है।
वास्तव में, यह आमतौर पर विपरीत होता है: उन्हें ज्यादातर कोड जल्दी से बदलने के लिए अंक मिलते हैं, और वहां नौकरी की सुरक्षा अगर कोई और नहीं समझ सकता है (write अगर यह लिखना मुश्किल था, तो इसे पढ़ना मुश्किल होना चाहिए ’)।
इस कोड पर काम करना शुरू करने वाला कोई भी नया प्रोग्रामर प्रोजेक्ट की जटिलता और खराब दस्तावेज कोड के कारण भ्रमित हो सकता है। कई बार खराब डॉक्यूमेंटेड कोड में छोटे बदलाव करने में अधिक समय लगता है क्योंकि किसी भी कोड में बदलाव करने से पहले बहुत बड़ी सीख होती है।
# 8) सॉफ्टवेयर डेवलपमेंट टूल
दृश्य उपकरण, क्लास लाइब्रेरी, कंपाइलर, स्क्रिप्टिंग टूल, आदि अक्सर अपने स्वयं के बग का परिचय देते हैं या खराब दस्तावेज होते हैं, जिसके परिणामस्वरूप अतिरिक्त बग होते हैं।
सॉफ़्टवेयर प्रोग्रामर द्वारा उपयोग किए जाने वाले सॉफ़्टवेयर टूल को लगातार बदलते रहना। विभिन्न संस्करणों के साथ तालमेल बनाए रखना और उनकी अनुकूलता एक प्रमुख समस्या है।
=> आगे पढ़ें सॉफ्टवेयर विकास उपकरण ।
# 9) अप्रत्यक्ष स्वचालन लिपियों
स्वचालन स्क्रिप्ट लिखने में विशेष रूप से जटिल परिदृश्यों के लिए बहुत समय लगता है। यदि ऑटोमेशन टीमें किसी भी टेस्ट स्क्रिप्ट को रिकॉर्ड / लिखती हैं, लेकिन समय के साथ इसे अपडेट करना भूल जाती हैं तो टेस्ट अप्रचलित हो सकता है।
यदि स्वचालन परीक्षण परिणामों को ठीक से सत्यापित नहीं कर रहा है, तो यह दोषों को पकड़ने में सक्षम नहीं होगा।
# 10) कुशल परीक्षकों की कमी
होने कुशल परीक्षक साथ से डोमेन की जानकारी किसी भी परियोजना की सफलता के लिए अत्यंत महत्वपूर्ण है। लेकिन सभी अनुभवी परीक्षकों की नियुक्ति सभी कंपनियों के लिए संभव नहीं है।
डोमेन ज्ञान और परीक्षक की दोष खोजने की क्षमता उच्च गुणवत्ता वाले सॉफ़्टवेयर का उत्पादन कर सकती है। इनमें से किसी पर भी समझौता करने से बगिया सॉफ्टवेयर तैयार हो सकता है।
सॉफ्टवेयर कीड़े के कुछ और कारण यहां दिए गए हैं। ये कारण ज्यादातर के लिए लागू होते हैं सॉफ्टवेयर परीक्षण जीवन चक्र :
#ग्यारह) सभी आवश्यकताओं के परीक्षण के लिए उचित परीक्षण सेटअप (परीक्षण वातावरण) नहीं होना।
# 12) आवश्यकताओं को स्पष्ट रूप से समझने के बिना कोड या परीक्षण मामलों को लिखना शुरू करना।
# 13) गलत डिजाइन जो सॉफ्टवेयर डेवलपमेंट साइकिल के सभी चरणों में किए जा रहे मुद्दों की ओर ले जाता है।
# 14) सॉफ़्टवेयर परीक्षण जीवन चक्र को पूरा किए बिना सॉफ़्टवेयर पैच को बार-बार जारी करना।
# पंद्रह) एप्लिकेशन को ठीक से विकसित या परीक्षण करने के लिए आवश्यक कौशल के लिए संसाधनों को प्रशिक्षण प्रदान नहीं करना।
# 16) प्रतिगमन परीक्षण के लिए बहुत कम या बिना समय दिए।
अल्फा और बीटा परीक्षण क्या है
# 17) नहीं स्वचालित दोहराव परीक्षण मामले और हर बार मैनुअल सत्यापन के लिए परीक्षकों पर निर्भर करता है।
# 18) परीक्षण निष्पादन को प्राथमिकता नहीं देना।
# 19) लगातार विकास और परीक्षण निष्पादन प्रगति पर नज़र नहीं रखना। अंतिम-मिनट के परिवर्तनों में त्रुटियों का परिचय होने की संभावना है।
# अतिरिक्त) कोडिंग और परीक्षण चरणों के दौरान की गई गलत धारणा।
निष्कर्ष
सॉफ्टवेर बग्स क्यों होते हैं इसके कई कारण हैं और प्रत्येक कारण की स्पष्ट व्याख्या के साथ इस लेख में शीर्ष 20 की सूची का उल्लेख किया गया है।
कृपया नीचे टिप्पणी अनुभाग में अपने विचार साझा करने के लिए स्वतंत्र महसूस करें।
अनुशंसित पाठ
- सॉफ्टवेयर परीक्षण क्यूए सहायक नौकरी
- सॉफ्टवेयर टेस्टिंग टेक्निकल कंटेंट राइटर फ्रीलांसर जॉब
- सर्वश्रेष्ठ सॉफ्टवेयर परीक्षण उपकरण 2021 [क्यूए टेस्ट स्वचालन उपकरण]
- सॉफ्टवेयर टेस्टिंग में आपका जॉब प्रोफाइल क्या है? [पोल]
- सॉफ्टवेयर टेस्टिंग जॉब जल्दी कैसे प्राप्त करें
- 10 कारण क्यों आप सॉफ्टवेयर परीक्षण में नौकरी नहीं कर रहे हैं
- सॉफ्टवेयर टेस्टिंग कोर्स: मुझे किस सॉफ्टवेयर टेस्टिंग इंस्टीट्यूट में शामिल होना चाहिए?
- क्या सॉफ्टवेयर टेस्टर की नौकरी वास्तव में एक लो-प्रोफाइल जॉब है?