लेख

सॉफ्टवेअर चाचणी म्हणजे काय, सॉफ्टवेअर चाचणी करणे म्हणजे काय

सॉफ्टवेअर चाचणी ही संगणकांसाठी लिहिलेल्या सॉफ्टवेअरची पूर्णता आणि गुणवत्ता तपासण्यासाठी, मूल्यांकन करण्यासाठी आणि तपासण्यासाठी प्रक्रियांचा एक संच आहे. नियामक, व्यवसाय, तांत्रिक, कार्यात्मक आणि वापरकर्ता आवश्यकतांच्या संदर्भात सॉफ्टवेअर उत्पादनाचे अनुपालन सुनिश्चित करते.

सॉफ्टवेअर चाचणी, किंवा सॉफ्टवेअर चाचणी, अनुप्रयोग चाचणी म्हणून देखील ओळखले जाते.

सॉफ्टवेअर चाचणी ही प्रामुख्याने अनेक परस्परसंबंधित प्रक्रियांनी बनलेली एक मोठी प्रक्रिया आहे. सॉफ्टवेअर चाचणीचे मुख्य उद्दिष्ट हे सॉफ्टवेअरची अखंडता आणि त्याच्या मूलभूत आवश्यकतांनुसार त्याच्या पूर्णतेचे मोजमाप करणे आहे. सॉफ्टवेअर चाचणीमध्ये वेगवेगळ्या चाचणी प्रक्रियेद्वारे सॉफ्टवेअरचे परीक्षण आणि चाचणी समाविष्ट असते. या प्रक्रियेच्या उद्दिष्टांमध्ये हे समाविष्ट असू शकते:

कार्यात्मक/व्यवसाय आवश्यकतांच्या विरूद्ध सॉफ्टवेअर पूर्णतेची पडताळणी
दोष/तांत्रिक त्रुटी ओळखणे आणि सॉफ्टवेअर त्रुटी-मुक्त असल्याची खात्री करणे
उपयोगिता, कार्यप्रदर्शन, सुरक्षा, स्थानिकीकरण, सुसंगतता आणि स्थापना यांचे मूल्यांकन
चाचणी केलेल्या सॉफ्टवेअरने पूर्ण किंवा वापरासाठी योग्य असण्यासाठी सर्व चाचण्या उत्तीर्ण केल्या पाहिजेत. विविध प्रकारच्या सॉफ्टवेअर चाचणी पद्धतींमध्ये व्हाईट बॉक्स टेस्टिंग, ब्लॅक बॉक्स टेस्टिंग आणि ग्रे बॉक्स टेस्टिंग यांचा समावेश होतो. शिवाय, सॉफ्टवेअरची संपूर्णपणे, घटक/युनिट्समध्ये किंवा थेट प्रणालीमध्ये चाचणी केली जाऊ शकते.

ब्लॅक बॉक्स चाचणी

ब्लॅक बॉक्स टेस्टिंग हे सॉफ्टवेअर चाचणी तंत्र आहे जे सिस्टमच्या अंतर्गत कामकाजाच्या संदर्भात सॉफ्टवेअरच्या कार्यक्षमतेचे विश्लेषण करण्यावर लक्ष केंद्रित करते. ब्लॅक बॉक्स चाचणी ही ग्राहकांच्या गरजा, वैशिष्ट्ये आणि उच्च-स्तरीय डिझाइन धोरणांचे विश्लेषण करण्यासाठी एक पद्धत म्हणून विकसित केली गेली.

ब्लॅक बॉक्स टेस्टिंग टेस्टर वैध आणि अवैध कोड एक्झिक्यूशन आणि इनपुट अटींचा संच निवडतो आणि वैध आउटपुट प्रतिसाद तपासतो.

ब्लॅक बॉक्स टेस्टिंगला फंक्शनल टेस्टिंग किंवा क्लोज बॉक्स टेस्टिंग असेही म्हणतात.

शोध इंजिन हे ब्लॅक बॉक्स चाचणीच्या अधीन असलेल्या अनुप्रयोगाचे एक साधे उदाहरण आहे. शोध इंजिन वापरकर्ता वेब ब्राउझरच्या शोध बारमध्ये मजकूर प्रविष्ट करतो. शोध इंजिन नंतर वापरकर्ता डेटा परिणाम (आउटपुट) शोधते आणि पुनर्प्राप्त करते.

ब्लॅक बॉक्स चाचणीच्या फायद्यांमध्ये हे समाविष्ट आहे:

  • साधेपणा: उच्च-स्तरीय प्रकल्प आणि जटिल अनुप्रयोगांची चाचणी सुलभ करते
  • संसाधने जतन करा: परीक्षक सॉफ्टवेअरच्या कार्यक्षमतेवर लक्ष केंद्रित करतात.
  • चाचणी प्रकरणे: चाचणी प्रकरणांचा जलद विकास सुलभ करण्यासाठी सॉफ्टवेअर कार्यक्षमतेवर लक्ष केंद्रित करा.
  • लवचिकता प्रदान करते: विशिष्ट प्रोग्रामिंग ज्ञान आवश्यक नाही.

ब्लॅक बॉक्स टेस्टिंगचे काही तोटे देखील आहेत, जसे की:

  • चाचणी केस/स्क्रिप्ट डिझाइन आणि देखभाल करणे आव्हानात्मक असू शकते कारण ब्लॅक बॉक्स चाचणी साधने ज्ञात इनपुटवर अवलंबून असतात.
  • ग्राफिकल यूजर इंटरफेस (GUI) सह परस्परसंवाद केल्याने चाचणी स्क्रिप्ट खराब होऊ शकतात.
  • चाचण्या केवळ अनुप्रयोगाच्या कार्यांशी संबंधित आहेत.

व्हाईट बॉक्स चाचणी

व्हाईट-बॉक्स चाचणी दरम्यान, पूर्व-निवडलेल्या आउटपुट मूल्यांचे प्रमाणीकरण करण्यासाठी कोड पूर्व-निवडलेल्या इनपुट मूल्यांसह चालविला जातो. व्हाईट-बॉक्स चाचणीमध्ये सहसा स्टब कोड लिहिणे समाविष्ट असते (विशिष्ट वैशिष्ट्य पुनर्स्थित करण्यासाठी वापरल्या जाणार्‍या कोडचा तुकडा. स्टब विद्यमान कोडचे वर्तन अनुकरण करू शकतो, जसे की रिमोट मशीनवरील प्रक्रिया.) आणि ड्रायव्हर्स देखील.

व्हाईट-बॉक्स चाचणीच्या फायद्यांमध्ये हे समाविष्ट आहे:

  • चाचणी प्रकरणांचा पुनर्वापर सक्षम करते आणि अधिक स्थिरता प्रदान करते
  • कोड ऑप्टिमायझेशन सुलभ करते
  • विकासाच्या सुरुवातीच्या टप्प्यात लपलेल्या त्रुटींची ठिकाणे शोधणे सुलभ करते
  • प्रभावी अनुप्रयोग चाचणी सुलभ करते
  • कोडच्या अनावश्यक ओळी काढा


तोटे समाविष्ट आहेत:

  • अंतर्गत संरचनेचे ज्ञान असलेल्या अनुभवी परीक्षकाची आवश्यकता आहे
  • वेळ लागतो
  • उच्च खर्च
  • बिट-ऑफ-कोड प्रमाणीकरण कठीण आहे.
  • व्हाईट-बॉक्स टेस्टिंगमध्ये युनिट टेस्टिंग, इंटिग्रेशन टेस्टिंग आणि रिग्रेशन टेस्टिंगचा समावेश होतो.

युनिट चाचणी

युनिट चाचणी हा सॉफ्टवेअर डेव्हलपमेंट लाइफ सायकल (SDLC) चा एक घटक आहे ज्यामध्ये इच्छित उपयुक्तता किंवा वर्तनासाठी सॉफ्टवेअर प्रोग्रामच्या सर्वात लहान भागांवर एक व्यापक चाचणी प्रक्रिया वैयक्तिकरित्या लागू केली जाते.


युनिट चाचणी ही बहुतेक एंटरप्राइझ सॉफ्टवेअर डेव्हलपमेंट क्रियाकलापांमध्ये लागू केलेली गुणवत्ता मोजमाप आणि मूल्यमापन प्रक्रिया आहे. सर्वसाधारणपणे, युनिट चाचणी सॉफ्टवेअर/अनुप्रयोग/प्रोग्रामच्या एकूण उद्दिष्टाशी सॉफ्टवेअर कोड कितपत अनुरूप आहे आणि त्याची उपयुक्तता इतर लहान युनिट्सवर कसा परिणाम करते याचे मूल्यांकन करते. युनिट चाचण्या मॅन्युअली – एक किंवा अधिक डेव्हलपरद्वारे – किंवा स्वयंचलित सॉफ्टवेअर सोल्यूशनद्वारे केल्या जाऊ शकतात.

चाचणी दरम्यान, प्रत्येक युनिट मुख्य प्रोग्राम किंवा इंटरफेसपासून वेगळे केले जाते. युनिट चाचण्या सामान्यत: विकासानंतर आणि तैनातीपूर्वी केल्या जातात, त्यामुळे एकीकरण आणि लवकर समस्या शोधणे सुलभ होते. प्रोग्रामिंग भाषा, सॉफ्टवेअर ऍप्लिकेशन आणि चाचणी उद्दिष्टांवर अवलंबून युनिटचा आकार किंवा व्याप्ती बदलते.

कार्यात्मक चाचणी

कार्यात्मक चाचणी ही सॉफ्टवेअर डेव्हलपमेंटमध्ये वापरली जाणारी चाचणी प्रक्रिया आहे जिथे सॉफ्टवेअर सर्व आवश्यकतांचे पालन करते याची खात्री करण्यासाठी चाचणी केली जाते. सॉफ्टवेअरमध्ये त्याच्या कार्यात्मक आवश्यकतांमध्ये निर्दिष्ट केलेली सर्व आवश्यक कार्यक्षमता आहे याची खात्री करण्यासाठी हा तपासण्याचा एक मार्ग आहे.


फंक्शनल टेस्टिंगचा वापर मुख्यतः सॉफ्टवेअरचा एक भाग अंतिम वापरकर्ता किंवा व्यवसायासाठी आवश्यक असलेले समान आउटपुट प्रदान करतो हे सत्यापित करण्यासाठी केला जातो. सामान्यतः, फंक्शनल टेस्टिंगमध्ये प्रत्येक सॉफ्टवेअर फंक्शनचे व्यावसायिक आवश्यकतांनुसार मूल्यांकन आणि तुलना करणे समाविष्ट असते. सॉफ्टवेअरला काही संबंधित इनपुट देऊन चाचणी केली जाते जेणेकरून आउटपुट त्याच्या मूलभूत आवश्यकतांशी कसे जुळते, संबंधित किंवा बदलते हे पाहण्यासाठी त्याचे मूल्यमापन केले जाऊ शकते. शिवाय, कार्यात्मक चाचण्या सॉफ्टवेअरची उपयोगिता देखील तपासतात, उदाहरणार्थ नेव्हिगेशन कार्ये आवश्यकतेनुसार कार्य करतात याची खात्री करणे.

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

प्रतिगमन चाचणी

नवीन समस्या सॉफ्टवेअर बदलांचे परिणाम आहेत की नाही हे निर्धारित करण्यासाठी रीग्रेशन चाचणी हा एक प्रकारचा सॉफ्टवेअर चाचणी आहे.

बदल लागू करण्यापूर्वी, प्रोग्रामची चाचणी केली जाते. बदल लागू केल्यानंतर, बदलामुळे नवीन बग किंवा समस्या निर्माण झाल्या आहेत की नाही किंवा वास्तविक बदलाने त्याचा हेतू पूर्ण केला आहे का हे शोधण्यासाठी निवडलेल्या भागात प्रोग्रामची पुन्हा चाचणी केली जाते.


मोठ्या सॉफ्टवेअर ऍप्लिकेशन्ससाठी रिग्रेशन टेस्टिंग आवश्यक आहे, कारण एखाद्या समस्येचा एक भाग बदलल्याने ऍप्लिकेशनच्या वेगळ्या भागासाठी नवीन समस्या निर्माण झाली आहे की नाही हे जाणून घेणे अनेकदा कठीण असते. उदाहरणार्थ, बँक अर्ज कर्ज फॉर्ममध्ये बदल केल्यास मासिक व्यवहार अहवाल अयशस्वी होऊ शकतो. बहुतेक प्रकरणांमध्ये, समस्या असंबंधित वाटू शकतात, परंतु ते अनुप्रयोग विकसकांमध्ये निराशाचे कारण असू शकतात.

रीग्रेशन चाचणी आवश्यक असलेल्या इतर परिस्थितींमध्ये काही बदल निश्चित उद्दिष्ट साध्य करतात की नाही हे शोधणे किंवा समस्यांशिवाय कालावधीनंतर पुन्हा उद्भवणाऱ्या समस्यांशी संबंधित नवीन धोक्यांची चाचणी समाविष्ट करते.

आधुनिक प्रतिगमन चाचणी प्रामुख्याने विशिष्ट व्यावसायिक चाचणी साधनांद्वारे हाताळली जाते जी विद्यमान सॉफ्टवेअरचे स्नॅपशॉट घेतात ज्याची विशिष्ट बदल लागू केल्यानंतर तुलना केली जाते. मानवी परीक्षकांसाठी स्वयंचलित सॉफ्टवेअर परीक्षकांप्रमाणे कार्यक्षमतेने कार्य करणे जवळजवळ अशक्य आहे. हे विशेषतः बँका, रुग्णालये, उत्पादन कंपन्या आणि मोठ्या किरकोळ विक्रेते यांसारख्या मोठ्या आयटी वातावरणातील मोठ्या आणि जटिल सॉफ्टवेअर अनुप्रयोगांसह सत्य आहे.

ताण चाचणी

तणाव चाचणी म्हणजे सॉफ्टवेअर किंवा हार्डवेअरची कार्यक्षमता अत्यंत आणि प्रतिकूल परिस्थितीत समाधानकारक आहे की नाही हे निर्धारित करण्यासाठी चाचणी करणे, जे हेवी नेटवर्क ट्रॅफिक, प्रक्रिया लोडिंग, अंडरक्लॉकिंग, ओव्हरक्लॉकिंग आणि संसाधनांच्या कमाल वापराच्या मागणीच्या परिणामी उद्भवू शकते.

बहुतेक प्रणाली सामान्य ऑपरेटिंग परिस्थिती गृहीत धरून विकसित केल्या जातात. त्यामुळे, जरी मर्यादा ओलांडली गेली असली तरी, विकासादरम्यान प्रणालीची तणावाची चाचणी घेतल्यास त्रुटी नगण्य आहेत.


तणाव चाचणी खालील संदर्भांमध्ये वापरली जाते:

  • सॉफ्टवेअर: अपुर्‍या संसाधनांमुळे सॉफ्टवेअर क्रॅश होणार नाही याची खात्री करण्यासाठी तणाव चाचणी अत्यंत जड भाराखाली उपलब्धता आणि त्रुटी हाताळण्यावर जोर देते. सॉफ्टवेअर स्ट्रेस टेस्टिंग व्यवहार रद्द करण्यासाठी ओळखल्या जाणार्‍या व्यवहारांवर लक्ष केंद्रित करते, जे डेटाबेस लोड केलेले नसतानाही चाचणी दरम्यान खूप तणावग्रस्त असतात. सिस्टममधील सर्वात कमकुवत दुवा शोधण्यासाठी तणाव चाचणी प्रक्रिया सामान्य सिस्टम पातळीच्या पलीकडे समवर्ती वापरकर्त्यांना लोड करते.
  • हार्डवेअर: ताण चाचण्या सामान्य संगणकीय वातावरणात स्थिरता सुनिश्चित करतात.
  • वेबसाइट्स: तणाव चाचण्या कोणत्याही साइट कार्यक्षमतेची मर्यादा निर्धारित करतात.
  • CPU: ओव्हरव्होल्टिंग, अंडरवॉल्टिंग, अंडरलॉकिंग आणि ओव्हरलॉकिंग यांसारखे बदल सिस्टीम क्रॅश किंवा फ्रीझसाठी तपासण्यासाठी CPU-केंद्रित प्रोग्राम चालवून ते जड भार हाताळू शकतात की नाही हे तपासले जातात. CPU स्ट्रेस टेस्टला टॉर्चर टेस्ट असेही म्हणतात.

स्वयंचलित चाचण्या

स्वयंचलित चाचणी (सॉफ्टवेअर चाचणी ऑटोमेशन) हा कोड चाचणीचा एक दृष्टीकोन आहे जो विशेष सॉफ्टवेअर साधनांचा वापर करतो जे आपोआप चाचण्या चालवतात आणि नंतर अपेक्षित परिणामांसह वास्तविक चाचणी परिणामांची तुलना करतात.

सतत वितरण (CD), सतत एकात्मता (CI), DevOps आणि DevSecOps मध्ये स्वयंचलित चाचणी महत्त्वाची भूमिका बजावते. स्वयंचलित चाचणीच्या मुख्य फायद्यांमध्ये हे समाविष्ट आहे:

  • स्वयंचलित चाचणी चाचणी प्रक्रिया अधिक कार्यक्षम बनवून विकसकांचा वेळ आणि पैसा वाचवते.
  • मॅन्युअल चाचण्यांपेक्षा स्वयंचलित चाचण्या अधिक कार्यक्षमतेने त्रुटी ओळखतात.
  • जेव्हा चाचण्या स्वयंचलित असतात, तेव्हा एकाधिक चाचणी साधने समांतरपणे लागू केली जाऊ शकतात.


सॉफ्टवेअर डेव्हलपमेंटमध्ये, बिल्ड प्रक्रियेदरम्यान अॅप्लिकेशन बिल्ड त्रुटींपासून मुक्त आहे आणि त्याचे इच्छित कार्य करते याची खात्री करण्यासाठी स्वयंचलित चाचण्या करणे विशेषतः उपयुक्त आहे.

सॉफ्टवेअर चाचणी स्वयंचलित करण्यासाठी वेळ काढल्याने कोड बदलामुळे विद्यमान कार्यक्षमता खंडित होण्याचा धोका कमी करून शेवटी विकासकांचा वेळ वाचेल.


विकास प्रक्रियेतील चाचणी हा अत्यंत महत्त्वाचा टप्पा आहे. सर्व बग्स निश्चित केले आहेत आणि उत्पादन, सॉफ्टवेअर किंवा हार्डवेअर, हेतूनुसार किंवा त्याच्या लक्ष्य कामगिरीच्या शक्य तितक्या जवळ कार्य करते याची खात्री करते. मॅन्युअल चाचणीऐवजी स्वयंचलित चाचणी, कमीत कमी दोषांसह वेळेवर वापरकर्त्याच्या गरजा पूर्ण करणारे स्वस्त-प्रभावी सॉफ्टवेअर सातत्याने वितरित करण्यासाठी आवश्यक आहे.

सॉफ्टवेअर डेव्हलपमेंटमध्ये वापरल्या जाणार्‍या स्वयंचलित चाचण्यांचे प्रकार
  • युनिट चाचणी: एकल निम्न-स्तरीय प्रोग्रामचे इतर युनिट्ससह एकत्रीकरण सत्यापित करण्यापूर्वी वेगळ्या वातावरणात चाचणी करा.
  • एकात्मता चाचणी: युनिट चाचण्या आणि इतर अनुप्रयोग घटकांची एकत्रित अस्तित्व म्हणून चाचणी केली जाते.
  • कार्यात्मक चाचण्या: सॉफ्टवेअर प्रणाली जसे वागते तसे वागते का ते तपासा.
  • कार्यप्रदर्शन चाचणी: अपेक्षेपेक्षा जास्त लोड अंतर्गत अनुप्रयोगाच्या मजबूततेचे मूल्यांकन करा. कामगिरी चाचण्या अनेकदा अडथळे प्रकट करतात.
  • स्मोक टेस्ट: पुढील चाचणीसाठी पुढे जाण्यासाठी बिल्ड पुरेसे स्थिर आहे की नाही हे निर्धारित करते.
  • ब्राउझर चाचणी: सॉफ्टवेअर घटक विविध ब्राउझरशी सुसंगत असल्याचे सत्यापित करा.

मॅन्युअल चाचणी अजूनही विकासादरम्यान वेगवेगळ्या वेळी केली जाते, परंतु हे मुख्यतः डेव्हलपर किंवा हार्डवेअर अभियंत्यांनी स्वतः केले आहे की त्यांनी केलेल्या बदलांचा इच्छित परिणाम झाला आहे की नाही हे त्वरीत पाहण्यासाठी.

Ercole Palmeri

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

अलीकडील लेख

आर्टिफिशियल इंटेलिजन्सद्वारे प्रक्रिया केलेल्या माहितीच्या प्रवाहाचे नियमन करण्यासाठी प्रकाशक आणि OpenAI करारांवर स्वाक्षरी करतात

गेल्या सोमवारी, फायनान्शिअल टाईम्सने OpenAI सह करार जाहीर केला. FT ने त्याच्या जागतिक दर्जाच्या पत्रकारितेचा परवाना…

30 एप्रिल 2024

ऑनलाइन पेमेंट: स्ट्रीमिंग सेवा तुम्हाला कायमचे पैसे कसे देतात ते येथे आहे

लाखो लोक स्ट्रीमिंग सेवांसाठी पैसे देतात, मासिक सदस्यता शुल्क भरतात. असे सामान्य मत आहे की आपण…

29 एप्रिल 2024

Veeam मध्ये रॅन्समवेअरसाठी सर्वात व्यापक समर्थन, संरक्षणापासून प्रतिसाद आणि पुनर्प्राप्तीपर्यंत वैशिष्ट्ये आहेत

Veeam द्वारे Coveware सायबर खंडणी घटना प्रतिसाद सेवा प्रदान करणे सुरू ठेवेल. Coveware फॉरेन्सिक आणि उपाय क्षमता प्रदान करेल…

23 एप्रिल 2024

हरित आणि डिजिटल क्रांती: भविष्यसूचक देखभाल तेल आणि वायू उद्योगात कशी बदल घडवत आहे

वनस्पती व्यवस्थापनासाठी नाविन्यपूर्ण आणि सक्रिय दृष्टीकोनसह, भविष्यसूचक देखभाल तेल आणि वायू क्षेत्रात क्रांती घडवत आहे.…

22 एप्रिल 2024

तुमच्या भाषेत इनोव्हेशन वाचा

इनोव्हेशन वृत्तपत्र
नवोपक्रमावरील सर्वात महत्त्वाच्या बातम्या चुकवू नका. त्यांना ईमेलद्वारे प्राप्त करण्यासाठी साइन अप करा.

आमचे अनुसरण करा