Software Testing क्या है और इसकी आवश्यकता क्यों पड़ती है ?

1868
15 Sep 2022
8 min read

Post Highlight

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

Podcast

Continue Reading..

जब भी किसी चीज को बनाया जाता है तो सबसे पहले उसका टेस्ट जरूर किया जाता है। क्योंकि नयी चीज को विकसित करने में कहीं कोई कमी तो नहीं रह गयी है इसके लिए उसकी टेस्टिंग करना बहुत ज़रुरी होता है। यह इसलिए भी जरुरी होता है कि बाद में उसको यूज करने पर कोई परेशानी या किसी भी प्रकार का कोई नुकसान ना हो। ठीक ऐसे ही जब सॉफ्टवेयर बनाया जाता है तो ये देखने के लिए कि उसमें कहीं कोई एरर तो नहीं है उसके लिए Software Testing की जाती है। क्योंकि यदि सॉफ्टवेयर में थोड़ा सा भी एरर Error आ जाता है या कोई भी खराबी होती है तो इससे बहुत बड़ा नुकसान हो सकता है। इसलिए सॉफ्टवेयर को एरर फ्री बनाने के लिए सॉफ्टवेयर टेस्टर कार्य करता है और देखता है कि इसमें कहाँ Error आ रहा है। तो चलिए आज इस लेख के द्वारा जानते हैं कि Software testing क्या है और इसकी आवश्यकता क्यों पड़ती है ?

Software testing क्या है What is software testing?

किसी भी कंप्यूटर पर कार्य करने के लिए आपको एक software की जरूरत पड़ती है। Software testing एक ऐसा तरीका है, जिसकी मदद से किसी सॉफ्टवेयर में खराबियों को खोजा जाता है और सही तरीके से होने पर यह सॉफ्टवेयर में मौजूद सभी तरह के bugs को हटा देता है। यानि जब कोई software तैयार किया जाता है तो तब उसकी गुणवत्ता जांचने के लिए software testing की जाती है। सॉफ्टवेयर में किये जाने वाले सभी तरह के tests को पहले से ही plan कर लिया जाता है। इसके द्वारा यह देखा जाता है कि सॉफ्टवेयर customer की सभी जरूरतों को सही से पूरा करे। कंपनी द्वारा तैयार सॉफ्टवेयर को ग्राहक की जरूरतों के अनुसार विकसित किया जाता है और ग्राहक जिन परिस्थितियों में तैयार सॉफ्टवेयर का उपयोग करेगा, उस तरह की परिस्थितियों को लैब में तैयार कर सॉफ्टवेयर को परखा जाता है। Software testing का अर्थ किसी software को error free करने से है। जिससे इसका इस्तेमाल सुचारू रूप से किया जा सके। किसी सॉफ्टवेयर को बनाने के लिए डेवलपमेंट टीम द्वारा कार्य किया जाता है और Software testing का कार्य किसी भी कंपनी में मुख्य रूप से software tester के द्वारा किया जाता है। टेस्टिंग का यह फायदा होता है कि जब भी कोई उपयोगकर्ता उस software का प्रयोग करे तो उसमें कोई भी technical टेक्निकल कमी न आने पाये। क्योंकि यदि software में थोड़ा सा भी error हो तो आपको काफी नुकसान हो सकता है। तो कुल मिलाकर software testing किसी भी software की गुणवत्ता, शुद्धता, प्रमाणिकता और तकनीकी क्षमता की जांच करने की एक प्रक्रिया है।

Software testing की आवश्यकता क्यों है Why is software testing needed?

मुख्य तौर पर किसी भी software को जांचने के लिए software testing करना जरुरी होता है। जिससे यह स्पष्ट हो जाता है, कि उपरोक्त software bug और error free है। ये तो हम जान गए हैं कि Software Testing के बाद ही कोई सॉफ्टवेयर यूजर की आवश्यकताओं पर खरा उतरता है। सॉफ्टवेयर टेस्टिंग यह सुनिश्चित करता है कि सिस्टम किसी भी बग से मुक्त है जो किसी भी प्रकार की विफलता का कारण बन सकता है। सॉफ्टवेयर की विश्वसनीयता की जांच के लिए सॉफ्टवेयर टेस्टिंग आवश्यक है। साथ ही software testing के माध्यम से यह सुनिश्चित हो जाता है कि यह software उपयोगकर्ता के लिए सही है। दरअसल एक बार software testing से यह मालूम पड़ जाता है कि इसमें क्या कमी है जिससे उन कमियों को दूर किया जा सकता है और फिर उसमें सुधार किया जाता है। जिससे सॉफ्टवेयर बिना किसी परेशानी के कार्य कर सके। सॉफ्टवेयर टेस्टिंग एक सिस्‍टम में दोष खोजने के लिए एक ऑर्गनाइज तरीके से किया जाता है। हम सब ये बात अच्छी तरह से जानते हैं कि टेक्नोलॉजी technology आगे बढ़ रही है जिसकी वजह से सब कुछ डिजिटल हो रहा है। आप आजकल कोई भी काम घर बैठे ही आसानी से कर लेते हैं फिर चाहे ऑनलाइन कोई भी सामान मंगवाना हो या फिर अपने बैंक से संबंधित कोई भी काम करना हो। लेकिन थोड़ी देर के लिए सोचिये अगर ये सिस्टम ख़राब हो जाए तो क्या होगा। सिस्टम में एक छोटी सी कमी आपका नुकसान करा सकती है और आपको परेशानी में डाल सकती है। यही वजह है कि सॉफ्टवेयर टेस्टिंग आज आईटी में एक बहुत बड़े स्तर पर उभर कर आ रहा है। सॉफ्टवेयर टेस्टिंग अब सॉफ्टवेयर डेवलपमेंट software development का एक बहुत महत्वपूर्ण हिस्सा है इसलिए Software testing की आवश्यकता सिस्टम के मूल्यांकन के लिए आवश्यक है। 

Also Read : डार्क वेब Dark Web क्या है और यह कैसे काम करता है?

Software testing के प्रकार Types of Software Testing

Software testing के कई types हैं। इनमें से मुख्य निम्न हैं -

  • Unit Testing यूनिट टेस्टिंग

Unit testing एक प्रकार की functional testing है जिसमें प्रत्येक units या components को test किया जाता है। इस टेस्टिंग को software के coding phase में पूरा किया जाता है। यानि इसके अंतर्गत software की testing को coding या programmer के द्वारा किया जाता है। इसे component testing भी कहते हैं। 

  • Integration testing इंटीग्रेशन टेस्टिंग

इसमें सभी units और components को एक समूह में या एकजुट करके उनका परीक्षण किया जाता है। इस टेस्टिंग के द्वारा यह देखा जाता है कि ये units आपस में एक साथ कार्य कैसे करते हैं। यह टेस्टिंग 4 टाइप की होती हैं:- top down, bottom up, sandwich और big-bang बिग बैंग।

  • Alpha Testing अल्फा टेस्टिंग

Alpha Testing सबसे अधिक प्रयोग की जाने वाली testing है। इस टेस्टिंग के द्वारा किसी software को release से पहले उसमें आने वाले परेशानियों और errors को देखा जाता है।

  • Beta testing बीटा टेस्टिंग

इस टेस्टिंग को कस्टमर के द्वारा पूरा किया जाता है और इसके लिए software के एक version को उपयोगकर्तों के लिए release किया जाता है और यह कुछ ही users के लिए ही होता है। इसके बाद उपयोगकर्ता के feedback के आधार पर software में आने वाले bugs या error का पता चलता है। यानि इसमें users feedback देते हैं। जब customer इस सॉफ्टवेयर से satisfy होते हैं तब जाकर बीटा टेस्टिंग सफल होती है। 

  • Stress Testing स्ट्रेस टेस्टिंग

इस टेस्टिंग के द्वारा किसी भी software की reliability विश्वसनीयता और स्थिरता stability को मापा जाता है। इसके अलावा software की capacity क्षमता का पता लगाया जाता है कि यह कितना load ले सकता है। यानि यह कितना data स्टोर कर सकता है और कितने प्रोग्राम को एक साथ खोल सकता है आदि कई चीज़ों का पता लगाया जाता है। 

  • Recovery Testing रिकवरी टेस्टिंग

 Recovery Testing यह निर्धारित करती है कि एक software के crash हो जाने के बाद वह वापस फिर से कार्य कर सकता है या नहीं। यानि जब कोई software crash हो जाता है तो उसे recover कैसे किया जा सकता है इस Testing द्वारा देखा जाता है। 

  • Security Testing सिक्यूरिटी टेस्टिंग

Security Testing के द्वारा यह यह देखा जाता है कि यह सॉफ्टवेयर data को सुरक्षित रख सकता है या नहीं। मतलब इसमें यह जांच की जाती है कि क्या software error free रह सकता है और यदि इसमें किसी hacker ने अटैक कर दिया तो इसके क्या परिणाम होंगे और कैसे डाटा को सुरक्षित रखा जा सकता है। 

  • Smoke testing स्मोक टेस्टिंग 

Software testing team द्वारा यह सुनिश्चित किया जाता है कि software में किसी प्रकार का कोई bug या issues तो नही है। इस टेस्टिंग को build verification testing भी कहते हैं। 

  • Regression testing रिग्रेशन टेस्टिंग

 इसके द्वारा यह पता लगाया जाता है कि यदि software में कुछ changes करें तो सॉफ्टवेयर में कोई बुरा प्रभाव पड़ रहा है या नहीं। यानि सॉफ्टवेयर की working में कोई समस्या पैदा हो रही है या नहीं। 

  • System testing सिस्टम टेस्टिंग

System testing के द्वारा यह पता लगाया जाता है कि software का operating system कैसे कार्य कर रहा है। मतलब वह अलग-अलग operating system में अच्छी तरह कार्य करता है या नहीं। 

  • Performance Testing परफॉरमेंस टेस्टिंग

इस टेस्टिंग के द्वारा सॉफ्टवेयर की स्पीड speed और प्रभावशीलता को टेस्ट किया जाता है और यह देखा जाता है कि speed कैसी है। इसमें कई प्रकार के performance और load tools का प्रयोग किया जाता है। 

सॉफ्टवेयर टेस्टिंग टूल्स Software Testing Tools

सॉफ्टवेयर टेस्टिंग के लिए जिन Tools का इस्तेमाल किया जाता है वो निम्न हैं -

Silktest सिल्कटेस्ट

Winrunner विनरनर

Selenium

Loadrunner लोडरनर

HP Quicktest Professional

Testcomplete

WATIR

Robotium रोबोटियम

IBM Rational Functional Tester

Testing Anywhere

सॉफ्टवेयर टेस्टिंग में करियर Career in software testing

आज के समय में Technology के सेक्टर में काफी अच्छी संभावनाएं हैं। यदि आप सॉफ्टवेयर टेस्टिंग कोर्स करते हैं तो आपको एक अच्छी जॉब मिल सकती है। आप इसके बाद एक अच्छी आईटी सॉफ्टवेयर कंपनी IT Software Company में जॉब कर सकते हैं। क्योंकि बहुत सी सॉफ्टवेयर कंपनियां सॉफ्टवेयर टेस्टर को रखती हैं। आप इस सेक्टर में जाने के लिए 12वीं के बाद बीसीए, एमसीए, बीटेक या बीई आदि स्नातक कोर्स कर सकते हैं। आप अन्य कोर्स जैसे diploma in computer Science, diploma in IT, diploma in software testing आदि भी कर सकते हैं। आप इसके बाद test manager और software tester की जॉब भी कर सकते हैं। 

TWN In-Focus