सोफ्टवेयर टेस्टिंग क्या है | सॉफ्टवेयर टेस्टर क्या करता है | 10 महत्वपूण टेस्टिंग
सोफ्टवेयर टेस्टिंग क्या है ?
आज कल सोफ्टवेयर
ऐप्लिकेशन का यूज़ हर जगह होने लगा है यानी हॉस्पिटल्स में, शॉप्स में, ट्रैफिक में और बिज़नेस में भी। ऐसे में अगर सॉफ्टवेयर की टेस्टिंग का प्रोसेसर ना किया जाए तो ये बहुत ही डेंजरस साबित हो सकता है क्योंकि इससे सेक्युरिटी इश्यूस हो सकते हैं, मनी लॉस हो सकता है और हेल्थ सेक्टर में डेथ जैसे केसेस भी हो सकते हैं।यानी एक ऐप्लिकेशन को बिना टेस्ट किए लॉन्च या डिलिवर करने से यूजर्स को कई स्मॉल और बड़ी प्रॉब्लम फेस करनी पड़ सकती है। तो क्या इसका मतलब सॉफ्टवेयर टेस्टिंग एक इम्पोर्टेन्ट टास्क है?
सॉफ्टवेयर टेस्टिंग को इतनी इम्पोर्टेन्स दिए जाने का रीज़न है?
अगर
सॉफ्टवेयर
में
कोई एरर्स हो तो
जल्दी ही आइडेंटिफाइ किया जा सके और सॉफ्टवेयर प्रॉडक्ट की सॉल्व कर दिया जाए।क्योंकि प्रॉपर्ली टेस्टेड सॉफ्टवेयर प्रॉडक्ट रिलेटेड सिटी सेक्युरिटी और हाई परफॉर्मेंस को इन्शुर करते हैं और इसमें टाइम कम लगता है, कॉस्ट कम लगती है और कस्टमर सैटिस्फैक्शन काफी इन्क्रीज़ होता है। सॉफ्टवेयर टेस्टिंग ही चेक करने का मेथड है कि ऐक्चुअल सॉफ्टवेयर प्रॉडक्ट एक्सपेक्टेड रिक्वाइर्मन्ट से मैच कर रहा है या नहीं और सॉफ्टवेयर प्रॉडक्ट डिफेक्ट प्रिय है या नहीं।इसका बेसिक गोल होता है।
सॉफ्टवेयर
में
से
बक्श
को
एलिमिनेट
करना
और
उसकी
परफॉर्मेन्स
यूजर्स एक्सपिरियंस सेक्युरिटी जैसे ऐस्पेक्ट को एनहान्स करना। और इस तरह की गई सॉफ्टवेयर टेस्टिंग से सॉफ्टवेयर की ओवरऑल क्वॉलिटी को सुधारा जा सकता है, जिससे ग्रेट कस्टमर सैटिस्फैक्शन मिलता है।
सॉफ्टवेयर टेस्टर क्या करता है?
सॉफ्टवेयर
टेस्टर
रिक्वायरमेंट
डॉक्यूमेंट्स
को
समझता
है,
टेस्ट
केस
को
क्रिएट
करता
है,
उन्हें
एग्जिक्यूट
करता
है,
बक्स
की
रिपोर्टिंग
और
री
टेस्टिंग
करता
है,
रिव्यु
मीटिंग
अटेंड
करता
है
और
अदर
टीम
बिल्डिंग
ऐक्टिविटीज़
में
भी
पार्ट
लेता
है।
अगर
आपको
भी
सॉफ्टवेयर
टेस्टिंग
के
फील्ड
में
इंट्रेस्ट
है
तो
इस
सॉफ्टवेयर
टेस्टिंग
को
अच्छी
तरीके
से
समझ
लेना
फायदेमंद
रहेगा।इसलिए
इस लेख में इसके बारे में डिटेल में लिखा
गया है ।
सॉफ्टवेयर टेस्टिंग को दो स्टेप्स में डिवाइड किया जा सकता है ?
वेरिफिकेशन
और
वैलिडेशन
वेरिफिकेशन
उन
टास्क
के
सेट
को
रेफर
करता
है,
जो
यह
इन्शुर
करते
हैं
कि
सॉफ्टवेयर
एक
स्पेसिफिक
फंक्शन
को
सही
से
इम्प्लिमेंट
कर
रहा
है
और
वैलिडेशन
टास्क
के
ऐसे
डिफरेंट
सेट्स
को
रेफर
करता
है
जो
इन्शुर
करता
है
कि
जो
सॉफ्टवेयर
बनाया
गया
है
वो
कस्टमर
रिक्वायर के लिए ट्रेस करने लायक है।यानी अगर वेरिफिकेशन ये बताता है कि क्या हम प्रॉडक्ट को सही तरीके से बना रहे हैं, तो वैलिडेशन का मतलब होगा कि क्या हम सही प्रॉडक्ट बना रहे हैं।
सॉफ्टवेयर टेस्टिंग के टाइप्स को जिन्हें अक्सर दो तरीके से बांटा जाता है -
· 1. इसके दो टाइप्स मैनुअल और ऑटोमेशन टेस्टिंग माने जाते हैं
· 2. फंक्शनल नॉन फंक्शनल और मेन्टेन्स टेस्टिंग भी इसके दो टाइप्स माने जाते हैं।
मैन्युअल और ऑटोमेशन टेस्टिंग के टाइप्स क्या होते है ?
· 1.मैन्युअल टेस्टिंग में मैन्युअली सॉफ्टवेयर टेस्टिंग करना होता है यानी किसी ऑटोमैटेड फूल के बिना टेस्टिंग करना। इसकी कई स्टेजेस में यूनिट टेस्ट, इन्टेगरेशन टेस्टिंग, सिस्टम टेस्टिंग और यूजर्स रिसेप्टर्स टेस्टिंग शामिल होती है |
· 2. ऑटोमेशन टेस्टिंग जैसे टेस्ट ऑटोमेशन भी कहा जाता है। उसमें टेस्टर स्क्रिप्ट्स लिखता है और दूसरे सॉफ्टवेयर का प्रयोग करके प्रॉडक्ट को टेस्ट करता है |
फंक्शनल टेस्टिंग, नॉन फंक्शनल टेस्टिंग और मेन्टेन्स टेस्टिंग के टाइप -
· 1.फंक्शनल टेस्टिंग सॉफ्टवेयर ऐप्लिकेशन के फंक्शनल ऐस्पेक्ट की टेस्टिंग आती है। जब आप फंक्शनल टेस्ट कर रहे होंगे तो आपको हर फंक्शनैलिटी को टेस्ट करना होगा और यह देखना होगा कि आपको डिज़ाइरड रिज़ल्ट मिल रहे हैं या नहीं। फंक्शनल टेस्टिंग के कई सारे टाइप्स होते है,
· जैसे - यूनिट टेस्टिंग, इन्टेगरेशन टेस्टिंग, वैन टु इंट्रेस्टिंग, स्मोक टेस्टिंग, सैनिटरी टेस्ट इन रिग्रेशन टेस्टिंग , अक्सेप्टन्स टेस्टिंग, व्हाइट बॉक्स टेस्टिंग, ब्लैक बॉक्स, टेस्टिंग और इन्टरफेस टेस्टिंग ये फंक्शनल टेस्ट मैन्युअली और ऑटोमेशन टूल से किए जाते हैं।
ऐसे कुछ टूल्स जिनका यूज़ फंक्शनल टेस्टिंग में किया जा सकता है, वह है माइक्रो फोकस यूएफपी सेलेनियम जे यूनिट सोप यु वि।व्हाट इस योर एक्स्ट्रा
नॉन फंक्शनल टेस्टिंग की-
ये एक ऐप्लिकेशन के नॉन फंक्शनल ऐस्पेक्ट जैसे की परफॉर्मेन्स रिलायबिलिटी यूजीबिलीटी
सेक्युरिटी
की
टेस्टिंग
होती
है।
ये
टेस्ट
फंक्शनल
टेस्ट
के
बाद
परफॉर्म
किए
जाते
हैं।
इस
तरह
की
टेस्टिंग
के
जरिए
सॉफ्टवेयर
क्वालिटी
को
बहुत
ज्यादा
इम्प्रूव
किया
जा
सकता
है।
ये
टेस्ट
मैन्युअली
रन
नहीं
करते
हैं
बल्कि
टूल्स
के
जरिए
एग्जिक्यूट
होते
हैं।
नॉन
फंक्शनल
टेस्टिंग
के
भी
बहुत
सारे
टाइप्स
होते
है।
जैसे -
परफॉर्मेंस
टेस्टिंग
,सिक्योरिटी टेस्टिंग ,लोड टेस्टिंग ,फेल ओवर टेस्टिंग कम्पैटिबिलिटी टेस्टिंग,
यूजी बिलीटी टेस्टिंग इस कला बेटी टेस्टिंग वॉल्यूम टेस्टिंग, स्ट्रेस टेस्टिंग मेंटैलिटी टेस्टिंग कंप्लाइयेन्स टेस्टिंग ,एफिशिएंसी टेस्टिंग ,रिलायबिलिटी टेस्टिंग,
टेस्टिंग
डिजास्टर
,रिकवरी टेस्टिंगलोकलाइजेशन, टेस्टिंग और इन्टरनैशनल आइज़ एशन टेस्टिंग ,एट्सेटरा |
· मेन्टेन्स टेस्टिंग सॉफ्टवेयर की रिलीज से पहले तो उसकी टेस्टिंग होती ही है, लेकिन उसके रिलीज के बाद भी उसकी टेस्टिंग जरूरी होती है और सॉफ्टवेयर के रिलीज के बाद उसकी टेस्टिंग होना मेन्टेन्स टेस्टिंग कहलाता है।
इसके दो टाइप्स होते हैं।
· 1.कौन फॉर्मेशन टेस्टिंग - जिसमें मॉडिफाइड फंक्शनैलिटी की टेस्टिंग होती है और रिग्रेशन टेस्टिंग जिसमें एग्ज़िस्टिंग फंक्शनैलिटी की टेस्टिंग आती है।
10 महत्वपूण टेस्टिंग –
· 1.यूनिट टेस्टिंग - यह सॉफ्टवेयर टेस्टिंग प्रोसेस का वो लेवल है जिसमें सॉफ्टवेयर या सिस्टम की इनडिविजुअल यूनिट्स और कॉम्पोनेंट्स टेस्ट किए जाते हैं। इसका पर्पस ये कन्फर्म करना होता है कि सॉफ्टवेयर की हर यूनिट डिजाइन के अकॉर्डिंग पर फॉर्म कर रही है।
· 2. इन्टेगरेशन टेस्टिंग यह सॉफ्टवेयर टेस्टिंग प्रोसेसेस का वो लेवल है जिसमें इनडिविजुअल यूनिट्स कंबाइन हो जाती है और उन्हें एक ग्रुप की तरह टेस्ट किया जाता है। इसका पर्पस इंटिग्रेटेड यूनिट्स के इंटरैक्शन में फॉल्स को इक्स्पोज़ करना होता है।
· 3. सिस्टम टेस्टिंग सॉफ्टवेयर टेस्टिंग प्रोसेस के इस लेवल में एक कंप्लीट इन्टीग्रेटेड सिस्टम या सॉफ्टवेयर टेस्ट किया जाता है। इस टेस्ट का पर्पस स्पेसिफाइड रिक्वायरमेंट्स के साथ सिस्टम कंप्लाइयेन्स को इवैल्यूएट करना है।
· 4.एक्सेप्ट ऐनस टेस्टिंग ये सॉफ्टवेयर टेस्टिंग प्रोसेस का वो लेवल है जहाँ पर सिस्टम को एक्सेप्ट एबिलिटी के लिए टेस्ट किया जाता है। इसका पर्पस बिज़नेस रिक्वायरमेंट्स के साथ साथ सिस्टम कंप्लाइयेन्स को इवैल्यूएट करना है और यह अनुमान लगाना है कि क्या ये डिलिवरी के लिए एक्सेप्टेबल है या नहीं।
· 5.एन टू एन टेस्टिंग ये पूरे सॉफ्टवेयर सिस्टम की फंक्शनल टेस्टिंग होती है और जब आप कंप्लीट सॉफ्टवेयर सिस्टम को टेस्ट करते हैं तो ऐसी टेस्टिंग एन टू एन टेस्टिंग कहलाती है।
· 6. यूजर्स इन्टरफेस टेस्टिंग।इस टेस्टिंग में ऐप्लिकेशन के यूजर्स इंटरफेस की टेस्टिंग आती है और इसका पर्पस ये चेक करना होता है कि क्या यूजर्स इन्टरफेस रिक्वायरमेंट स्पेसिफिकेशन डॉक्यूमेंट के अकॉर्डिंग डेवलप हुए हैं या नहीं।
· 7.ऐल्फा टेस्टिंग ये टेस्टिंग पूरे सॉफ्टवेयर में एरर्स और इशूज़ का पता लगाती है। ये टेस्ट ऐप डेवलपमेंट की लास्ट पेज पर होता है और प्रॉडक्ट के लॉन्च से पहले या क्लाइंट को डिलिवरी देने से पहले किया जाता है ताकि ये इन्शुर किया जा सके कि यूजर्स या क्लाइंट को एरर फ्री सॉफ्टवेयर ऐप्लिकेशन मिले।
· 8.बीटा टेस्टिंग ऐल्फा टेस्टिंग के बाद बीटा टेस्टिंग की जाती है और ये भी प्रॉडक्ट लॉन्च से पहले ही होती है। इसे एक रियल यूजर्स एनवायरनमेंट में किया जाता है, जिसमें कुछ रियल कस्टमर्स यूजर्स होते हैं ताकि ये कन्फर्म हो सके कि सॉफ्टवेयर पूरे तरीके से एरर फ्री है और इस मोडली फंक्शन कर रहा है। यूजर्स के फीडबैक के बेस पर सॉफ्टवेयर में कुछ चेंजस करके उसे बेटर बनाया जाता है।
· 9.ब्लैक बॉक्स टेस्टिंग यह ऐसी टेस्टिस है जिसमें सिस्टम की इनटर्नल मेकनिजम को इग्नोर करके आउटपुट पर फोकस किया जाता है। इसमें टेस्ट और आउटपुट के वैलिडेशन से कॉन्सर्ट होता है ना कि इससे की आउटपुट कैसे प्रोड्यूस हुआ। इसके लिए टेस्टर के पास प्रोग्रामिंग या इंटरनल स्ट्रक्चर और वर्किंग की नॉलेज जरूरी नहीं होती है।ये मेनली हाइअर लेवल टेस्टिंग में ऐप्लिकेबल होता है।
· 10.व्हाइट बॉक्स टेस्टिंग इस तरह की टेस्टिंग के लिए ऐप्लिकेशन कोड की अच्छी समझ ज़रूरी होती है और ऐप्प के इंटरनल लॉजिक के भी इसमें सॉफ्टवेयर सिस्टम की इनर वर्किंगज़ को इन्स्पेक्टर और वेरिफाई करता है, जिनमें कोर्ट इन्फ्रास्ट्रक्चर और एक्सटर्नल सिस्टम्स के साथ इन्टेगरेशन शामिल हैं।
सॉफ्टवेयर टेस्टिंग प्रोसेस के कुछ स्टेप्स -
· 1.टेस्ट रिक्वायरमेंट केबरी
· 2.टेस्ट प्लैन एंड एनालिसिस
· 3.टेस्ट डिज़ाइन
· 4.टेस्ट इम्प्लिमेंटेशन इन एग्जिक्यूशन
· 5.डिफेक्ट रिपोर्ट इन ट्रैकिंग
· 6. टेस्ट क्लोज़र
तो
दोस्तों
आप ने इस लेख में सॉफ्टवेयर टेस्टिंग क्या होती है? ये इतनी इम्पोर्टेन्ट क्यों होती है? इससे क्या क्या बेनिफिटस मिलते हैं और इसके कितने टाइप्स होते हैं। हमें उम्मीद है कि आपको सॉफ्टवेयर टेस्टिंग के बारे में काफी कुछ समझ आ गया होगा जो आपके लिए काफी मददगार रहेगा। कमेन्ट बॉक्स में लिख कर के जरूर बताएं
|
धन्यवाद।