Software testing....
आजकाल सॉफ्टवेअर अप्लिकेशन्स काय यूज हर जगह होने लगा है.. यांनी हॉस्पिटल मे , शॉप्स मे , ट्राफिक मे और बिजनेस मे भी... ऐसे मे अगर सॉफ्टवेअर के टेस्टिंग का प्रोसेस ना किया जाये तो ये बहुत ही डेंजरस साबित हो सकता है.. क्युकी इसे सेक्युरिटी हो सकते है.. मनी लॉस हो सकता है. और हेल्थ सेक्टर मे डेथ जैसे प्रोसेस भी हो सकते है. यांनी एक एप्लीकेशन को बिना टेस्ट किये डिलिव्हरी या लॉन्च करणे से युजर्स को कई स्मॉल और बडी प्रॉब्लेम्स फेस करणे पड सकती है.. तो क्या इसका मतलब सॉफ्टवेअर टेस्टिंग एक इम्पॉर्टंट टास्क हे... जी हा बिलकुल.....
सॉफ्टवेअर टेस्टिंग को इतनी इम्पॉर्टन्स दे जाने का रिजन ये है की अगर सॉफ्टवेअर मे कोई बग्ज या एरर हो तो उन्हे जल्दी ही आयडेंटिफाय किया जा सके. और सॉफ्टवेअर प्रोडक्ट की डिलिव्हरी के पहिले उसे सोल्व कर दिया जाये. क्यूकी प्रॉपर्ली टेस्टेड सॉफ्टवेअर प्रॉडक्ट रिलायबिलिटी सेक्युरिटी और हाय परफॉर्मन्स को insure करते है और इसमे टाईम कम लगता है कॉस्ट कम लगती है और कस्टमर सॅटिस्फॅक्शन काफी इंक्रीस होता है. सॉफ्टवेअर टेस्टिंग ए चेक करने का मेथड है कि ॲक्च्युअल सॉफ्टवेअर प्रोडक्ट रिक्वायरमेंट से मॅच कर रहा है या नही.. और सॉफ्टवेअर प्रोडक्ट इफेक्ट फ्री हे या नही... इसका बेसिक गोल होता है सॉफ्टवेअर प्रोडक्ट्स मे से बग को इलिमिनेट करना.. और इसकी परफॉर्मन्स यूजर एक्सपिरीयन्स सिक्युरिटी जैसे अस्पेक्ट्स को enhance करना. और ऐसी की गई सॉफ्टवेअर टेस्टिंग से सॉफ्टवेअर प्रॉडक्ट की ओव्हर ऑल कॉलिटी को सुधारा जा सकता है. जिससे ग्रेट कस्टमर सॅटिस्फॅक्शन मिल सकता है .. वैसे क्या आपको पता है कि एक सॉफ्टवेअर टेस्टर क्या करता है....? सॉफ्टवेअर टेस्टर रिक्वायरमेंट डॉक्युमेंट्स को समजता है.... टेस्ट केसेस को क्रियेट करता हैं..... उन्हे एक्झिक्युट करता है. Bugs की रिपोर्टिंग और टेस्टिंग करता है. रिव्ह्यू मीटिंग अटेंड करता है. अदर टीम बिल्डिंग ऍक्टिव्हिटीज मे भी पार्ट लेता है.. अब अगर आपको भी सॉफ्टवेअर टेस्टिंग के टूल्स मे इंटरेस्ट है तो इस सॉफ्टवेअर टेस्टिंग को अच्छे से समज लेना फायदेमंद रहेगा. इसलिये आगे देखते है इसके बारे मे और बाते......
सॉफ्टवेअर टेस्टिंग को दो स्टेप्स मे डिव्हाईड किया जाता है.
1. व्हरिफिकेशन
2. व्हॅलिडेशन
व्हेरिफिकेशन उन टास्क को रेफर करता हे जो ये शुआर करते है की सॉफ्टवेअर एक स्पेसिफिक फंक्शन को सही तरीके से इम्प्लिमेंट कर रहा है.
और व्हॅलिडेशन टास्क के ऐसे डिफरंट स्टेट्स रेफर करता है जो insure करता है की जो सॉफ्टवेअर बनाया गया है वो कस्टमर रिक्वायरमेंट के लिये ट्रेस करने लायक हे. यांनी अगर व्हेरिफिकेशन ये बताता है की क्या हम प्रॉडक्ट को सही तरीके से बना रहे है. तो व्हॅलिडेशन का मतलब होगा क्या हम सही प्रॉडक्ट बना रहे है. आय होप की आप इस डिफरन्स को समझ गये होंगे.
अब बात करते है सॉफ्टवेअर टेस्टिंग के टाइप के जिने अक्सर दो तरीके से बाटा जाता है.
1. Mannual ओर ऑटोमेशन testing.
2. functional , non functional and
maintenance testing....
ये उसके दो टाईप्स माने जाते है... उनके बारेमे जानते है..
पहले mannual ओर ऑटोमेशन टेस्टिं type के बारे मे जाणते है.mannual टेस्टिंग मे mannually सोफ्टवेअर टेस्टिंग करना होता हैं.. यानी किसी automated tool के बिना टेस्टिंग करना.. इसकी कई स्टेज मे युनिट टेस्टिंग, integrated टेस्टिंग , सिस्टम टेस्टिंग ओर यूजर exeptance टेस्टिंग शामिल होती है और ऑटोमेशन टेस्टिंग जैसे टेस्ट को automated भी कहा जाता है.. उसमे टेस्टर स्क्रिप्ट लिखता है.दुसरे सोफ्टवेअर का यूज करके प्रॉडक्ट को टेस्ट करता है.. ओर अब बात करते है functional testing and non functional testing and maintenance testing के types की .....
सबसे पहले functional testing की बात करे तो उस मे सॉफ्टवेअर ॲप्लिकेशन के functional aspects की बात आती है..जब आप functinal टेस्ट कर रहे होंगे तो आपको हर functionality को टेस्ट करना होगा....ओर ये देखना होगा की क्या आपको decided networks मिल रहे है या नहीं... functional testing के कई सारे types होते है जैसे की
1.युनिट टेस्टिंग
2. इंटेग्रेशन टेस्टिंग
3.एंड टू एंड टेस्टिंग
4. स्मोक टेस्टिंग
5. सनिटी टेस्टिंग
6. रेग्रेशन टेस्टिंग
7. ॲक्सेप्तन्स टेस्टिंग
8. व्हाइट बॉक्स टेस्टिंग
9. ब्लॅक बॉक्स टेस्टिंग
10. इन्टरफेस टेस्टिंग
ये functional test mannually और automation tools के जरिये कीये जाते है. ऐसे टूल्स जिंका फंक्शन टेस्टिंग मे यूज किया जाता है .वो है micro focus UFT , selenium , Junit , sopui , watir....etc....
अब बात करते है नॉन functional testing की ..... एक application के नॉन functional अस्पेक्टस ..... जैसे की परफॉर्मन्स , रेलाईबिलिटी , युसबिलिटी , सिक्युरिटी etc की टेस्टिंग होती है. यह टेस्ट functional test के बाद परफॉर्म लिये जाते है. इस तरह के सॉफ्टवेअर टेस्टिंग से ॲप्लिकेशन को बहुत जादा improve किया जा सकता है..यह टेस्ट mannually रन नहीं करते है...बल्की टूल्स के जरिये execute होते है...
नॉन फंक्शनल टेस्टिंग के भी बहोत सारे types होते है.. जैसे की....
1. परफॉर्मन्स टेस्टिंग
2. सिक्युरिटी टेस्टिंग
3. लोड टेस्टिंग
4. फैलओव्हर टेस्टिंग
5. कम्पॅटीबिलिटी टेस्टिंग
6.usability टेस्टिंग
7. स्कालाबिलाटी टेस्टिंग
8.volume टेस्टिंग
9. स्ट्रेस testing
10.maintainability टेस्टिंग
11. compliance टेस्टिंग
12. efficiency टेस्टिंग
13. reliability टेस्टिंग
14.endurance टेस्टिंग
15.disaster रेकवरी टेस्टिंग
16. localisation टेस्टिंग
17. internationalization टेस्टिंग.....etc
ओर अब third टाईप है ..... Maintainace टेस्टिंग software के रिलिज से पहले तो उसकी टेस्टिंग होती ही है. लेकीन उसके रिलिज के बाद भी उसकी टेस्टिंग जरूरी होती है. ओर सॉफ्टवेअर के रिलिज होने के बाद उसकी टेस्टिंग होना maintainance testing केहलाता है. उसके दो types होते है....
1. conformational testing
जिस मे modified functionality की टेस्टिंग होती है.
2. regression testing
जिस मे existing functionality की टेस्टिंग आती है.
अब इन types के बाद आपको बता देते है की सोफ्टवेअर टेस्टिंग यु तो बहुत तरह की होती है. यानी 100 से भी जादा तरह की टेस्टिंग हुवा करती है .जिन्हे explain करना तो possible नहीं है . इतनी जाणकारी से आप को बहोत kuch सिखणे को मिला होंगा....
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें