लेख

सफ्टवेयर परीक्षण भनेको के हो, सफ्टवेयर परीक्षण गर्नुको अर्थ के हो

सफ्टवेयर परीक्षण कम्प्युटरहरूको लागि लेखिएको सफ्टवेयरको पूर्णता र गुणस्तर जाँच गर्न, मूल्याङ्कन गर्न र सुनिश्चित गर्न प्रक्रियाहरूको एक सेट हो। नियामक, व्यापार, प्राविधिक, कार्यात्मक र प्रयोगकर्ता आवश्यकताहरूको सन्दर्भमा सफ्टवेयर उत्पादनको अनुपालन सुनिश्चित गर्दछ।

सफ्टवेयर परीक्षण, वा सफ्टवेयर परीक्षण, अनुप्रयोग परीक्षणको रूपमा पनि चिनिन्छ।

सफ्टवेयर परीक्षण मुख्यतया धेरै अन्तरसम्बन्धित प्रक्रियाहरू मिलेर बनेको ठूलो प्रक्रिया हो। सफ्टवेयर परीक्षणको मुख्य उद्देश्य यसको आधारभूत आवश्यकताहरूको सन्दर्भमा सफ्टवेयरको पूर्णतासँगै यसको पूर्णता मापन गर्नु हो। सफ्टवेयर परीक्षणले विभिन्न परीक्षण प्रक्रियाहरू मार्फत सफ्टवेयरको परीक्षण र परीक्षण समावेश गर्दछ। यी प्रक्रियाहरूको उद्देश्य समावेश हुन सक्छ:

कार्यात्मक/व्यापार आवश्यकताहरू विरुद्ध सफ्टवेयर पूर्णताको प्रमाणीकरण
बगहरू/प्राविधिक त्रुटिहरू पहिचान गर्दै र सफ्टवेयर त्रुटिरहित छ भनी सुनिश्चित गर्दै
उपयोगिता, प्रदर्शन, सुरक्षा, स्थानीयकरण, अनुकूलता र स्थापनाको मूल्याङ्कन
परीक्षण गरिएको सफ्टवेयर पूर्ण वा प्रयोगको लागि उपयुक्त हुन सबै परीक्षणहरू पास गर्नुपर्छ। केही विभिन्न प्रकारका सफ्टवेयर परीक्षण विधिहरूमा सेतो बक्स परीक्षण, कालो बक्स परीक्षण, र खैरो बक्स परीक्षण समावेश छ। यसबाहेक, सफ्टवेयरलाई समग्र रूपमा, कम्पोनेन्ट/इकाइहरूमा वा प्रत्यक्ष प्रणाली भित्र परीक्षण गर्न सकिन्छ।

ब्ल्याक बक्स परीक्षण

ब्ल्याक बक्स परीक्षण एक सफ्टवेयर परीक्षण प्रविधि हो जसले सफ्टवेयरको कार्यक्षमताको विश्लेषणमा केन्द्रित हुन्छ, प्रणालीको आन्तरिक कार्यहरूको सन्दर्भमा। ब्ल्याक बक्स परीक्षण ग्राहक आवश्यकताहरू, विशिष्टताहरू र उच्च-स्तर डिजाइन रणनीतिहरू विश्लेषण गर्न एक विधिको रूपमा विकसित गरिएको थियो।

ब्ल्याक बक्स परीक्षण परीक्षकले मान्य र अवैध कोड कार्यान्वयन र इनपुट सर्तहरूको सेट चयन गर्दछ र वैध आउटपुट प्रतिक्रियाहरूको लागि जाँच गर्दछ।

ब्ल्याक बक्स परीक्षणलाई कार्यात्मक परीक्षण वा बन्द बक्स परीक्षण पनि भनिन्छ।

खोज इन्जिन ब्ल्याक बक्स परीक्षण को लागी एक आवेदन विषय को एक सरल उदाहरण हो। खोज इन्जिन प्रयोगकर्ताले वेब ब्राउजरको खोज पट्टीमा पाठ प्रविष्ट गर्दछ। खोज इन्जिनले त्यसपछि प्रयोगकर्ता डेटा परिणामहरू (आउटपुट) पत्ता लगाउँदछ र पुन: प्राप्त गर्दछ।

ब्ल्याक बक्स परीक्षणका फाइदाहरू समावेश छन्:

  • सरलता: उच्च-स्तरीय परियोजनाहरू र जटिल अनुप्रयोगहरूको परीक्षणको सुविधा दिन्छ
  • स्रोतहरू संरक्षण गर्नुहोस्: परीक्षकहरूले सफ्टवेयरको कार्यक्षमतामा फोकस गर्छन्।
  • परीक्षण केसहरू: परीक्षण केसहरूको द्रुत विकासलाई सहज बनाउन सफ्टवेयर कार्यक्षमतामा फोकस गर्नुहोस्।
  • लचिलोपन प्रदान गर्दछ: कुनै विशेष प्रोग्रामिङ ज्ञान आवश्यक छैन।

ब्ल्याक बक्स परीक्षणका केही बेफाइदाहरू पनि छन्, निम्नानुसार:

  • परीक्षण केस/स्क्रिप्ट डिजाइन र मर्मतसम्भार चुनौतीपूर्ण हुन सक्छ किनभने ब्ल्याक बक्स परीक्षण उपकरणहरू ज्ञात इनपुटहरूमा निर्भर हुन्छन्।
  • ग्राफिकल प्रयोगकर्ता इन्टरफेस (GUI) सँग अन्तरक्रिया गर्दा परीक्षण लिपिहरू भ्रष्ट हुन सक्छ।
  • परीक्षणहरू मात्र अनुप्रयोगको कार्यहरू सरोकार छन्।

सेतो बक्स परीक्षण

सेतो-बक्स परीक्षणको क्रममा, पूर्व-चयनित आउटपुट मानहरू मान्य गर्न पूर्व-चयनित इनपुट मानहरूसँग कोड चलाइन्छ। सेतो-बक्स परीक्षणमा प्रायः स्टब कोड लेख्ने समावेश हुन्छ (कुनै विशेष सुविधालाई बदल्न प्रयोग गरिने कोडको टुक्रा। एक स्टबले अवस्थित कोडको व्यवहारलाई अनुकरण गर्न सक्छ, जस्तै रिमोट मेसिनमा प्रक्रिया।) र ड्राइभरहरू पनि।

सेतो-बक्स परीक्षणका फाइदाहरू समावेश छन्:

  • परीक्षण केसहरूको पुन: प्रयोग सक्षम गर्दछ र अधिक स्थिरता प्रदान गर्दछ
  • कोड अनुकूलन सुविधा
  • विकासको प्रारम्भिक चरणहरूमा लुकेका त्रुटिहरूको स्थानहरू फेला पार्न सुविधा दिन्छ
  • प्रभावकारी आवेदन परीक्षण सुविधा
  • कोडको अनावश्यक लाइनहरू हटाउनुहोस्


बेफाइदाहरू समावेश छन्:

  • आन्तरिक संरचनाको ज्ञान भएको अनुभवी परीक्षक चाहिन्छ
  • समय लाग्छ
  • उच्च लागत
  • बिट-को-कोड प्रमाणीकरण गाह्रो छ।
  • सेतो-बक्स परीक्षणमा एकाइ परीक्षण, एकीकरण परीक्षण, र रिग्रेसन परीक्षण समावेश छ।

एकाइ परीक्षण

एक एकाइ परीक्षण सफ्टवेयर विकास जीवन चक्र (SDLC) को एक घटक हो जसमा एक व्यापक परीक्षण प्रक्रिया व्यक्तिगत रूपमा इच्छित उपयुक्तता वा व्यवहारको लागि सफ्टवेयर प्रोग्रामको सबैभन्दा सानो भागहरूमा लागू गरिन्छ।


एक एकाइ परीक्षण धेरै उद्यम सफ्टवेयर विकास गतिविधिहरूमा लागू गुणस्तर मापन र मूल्याङ्कन प्रक्रिया हो। सामान्यतया, एक एकाइ परीक्षणले सफ्टवेयर कोडले सफ्टवेयर/एप्लिकेशन/कार्यक्रमको समग्र लक्ष्यसँग कत्ति राम्रोसँग मेल खान्छ र यसको उपयुक्तताले अन्य साना एकाइहरूलाई कसरी असर गर्छ भन्ने कुराको मूल्याङ्कन गर्छ। एकाइ परीक्षणहरू म्यानुअल रूपमा गर्न सकिन्छ - एक वा बढी विकासकर्ताहरूद्वारा - वा स्वचालित सफ्टवेयर समाधान मार्फत।

परीक्षणको क्रममा, प्रत्येक एकाइलाई मुख्य कार्यक्रम वा इन्टरफेसबाट अलग गरिएको छ। एकाइ परीक्षणहरू सामान्यतया विकास पछि र तैनाती अघि प्रदर्शन गरिन्छ, यसैले एकीकरण र प्रारम्भिक समस्या पत्ता लगाउन सुविधा दिन्छ। एकाइको साइज वा दायरा प्रोग्रामिङ भाषा, सफ्टवेयर अनुप्रयोग, र परीक्षण उद्देश्यहरूमा निर्भर गर्दछ।

कार्यात्मक परीक्षण

कार्यात्मक परीक्षण एक परीक्षण प्रक्रिया हो जुन सफ्टवेयर विकास भित्र प्रयोग गरिन्छ जहाँ सफ्टवेयरले सबै आवश्यकताहरू पूरा गर्दछ भनेर सुनिश्चित गर्न परीक्षण गरिन्छ। यो सफ्टवेयर जाँच गर्ने एक तरिका हो यो सुनिश्चित गर्न को लागी कि यसको कार्यात्मक आवश्यकताहरु मा निर्दिष्ट सबै आवश्यक कार्यक्षमता छ।


कार्यात्मक परीक्षण मुख्य रूपमा प्रयोग गरिन्छ कि सफ्टवेयरको टुक्राले अन्तिम प्रयोगकर्ता वा व्यवसायलाई आवश्यक पर्ने समान आउटपुट प्रदान गर्दछ। सामान्यतया, कार्यात्मक परीक्षणले व्यापार आवश्यकताहरू विरुद्ध प्रत्येक सफ्टवेयर प्रकार्यको मूल्याङ्कन र तुलना समावेश गर्दछ। सफ्टवेयरलाई केहि सम्बन्धित इनपुट दिएर परीक्षण गरिन्छ ताकि आउटपुट कसरी यसको आधारभूत आवश्यकताहरूसँग मिल्दोजुल्दो छ, सम्बन्धित छ वा फरक हुन्छ भनेर मूल्याङ्कन गर्न सकिन्छ। यसबाहेक, कार्यात्मक परीक्षणहरूले सफ्टवेयरको उपयोगिता पनि जाँच गर्दछ, उदाहरणका लागि नेभिगेसन प्रकार्यहरू आवश्यक रूपमा काम गर्दछ भनेर निश्चित गर्नुहोस्।

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

प्रतिगमन परीक्षण

Regression testing एक प्रकारको सफ्टवेयर परीक्षण हो कि नयाँ समस्याहरू सफ्टवेयर परिवर्तनहरूको परिणाम हो कि भनेर निर्धारण गर्न प्रयोग गरिन्छ।

परिवर्तन लागू गर्नु अघि, एउटा कार्यक्रम परीक्षण गरिन्छ। परिवर्तन लागू गरेपछि, परिवर्तनले नयाँ बगहरू वा समस्याहरू सिर्जना गरेको छ वा छैन वा वास्तविक परिवर्तनले आफ्नो इच्छित उद्देश्य पूरा गरेको छ कि छैन भनेर पत्ता लगाउन चयन गरिएका क्षेत्रहरूमा कार्यक्रम पुन: परीक्षण गरिन्छ।


रिग्रेसन परीक्षण ठूला सफ्टवेयर अनुप्रयोगहरूको लागि आवश्यक छ, किनकि समस्याको एउटा भाग परिवर्तन गर्दा अनुप्रयोगको फरक भागको लागि नयाँ समस्या सिर्जना भएको छ कि छैन भनेर जान्न गाह्रो हुन्छ। उदाहरणका लागि, बैंक आवेदन ऋण फारममा परिवर्तन गर्दा मासिक कारोबार रिपोर्ट असफल हुन सक्छ। धेरैजसो अवस्थामा, समस्याहरू असंबद्ध लाग्न सक्छ, तर तिनीहरू वास्तवमा अनुप्रयोग विकासकर्ताहरू बीच निराशाको कारण हुन सक्छन्।

रिग्रेसन परीक्षण आवश्यक पर्ने अन्य अवस्थाहरूमा निश्चित परिवर्तनहरूले निर्धारित लक्ष्य हासिल गर्न वा समस्याहरू बिनाको अवधि पछि पुन: उत्पन्न हुने समस्याहरूसँग सम्बन्धित नयाँ खतराहरूको लागि परीक्षण गर्ने समावेश गर्दछ।

आधुनिक रिग्रेसन परीक्षण मुख्य रूपमा विशेष व्यावसायिक परीक्षण उपकरणहरू मार्फत ह्यान्डल गरिन्छ जुन अवस्थित सफ्टवेयरको स्न्यापसटहरू लिन्छ जुन निश्चित परिवर्तन लागू गरेपछि तुलना गरिन्छ। स्वचालित सफ्टवेयर परीक्षकहरू जस्तै कुशलतापूर्वक समान कार्यहरू गर्न मानव परीक्षकहरूको लागि लगभग असम्भव छ। यो विशेष गरी ठूला र जटिल सफ्टवेयर अनुप्रयोगहरूमा ठूला आईटी वातावरणहरू जस्तै बैंकहरू, अस्पतालहरू, निर्माण कम्पनीहरू र ठूला खुद्रा विक्रेताहरूमा सत्य हो।

तनाव जाँच

तनाव परीक्षणले चरम र प्रतिकूल परिस्थितिहरूमा यसको प्रदर्शन सन्तोषजनक छ कि छैन भनेर निर्धारण गर्न परीक्षण सफ्टवेयर वा हार्डवेयरलाई बुझाउँछ, जुन भारी नेटवर्क ट्राफिक, प्रक्रिया लोडिङ, अन्डरक्लोकिंग, ओभरक्लिङ, र स्रोतहरूको उच्चतम उपयोग मागको परिणामको रूपमा हुन सक्छ।

धेरैजसो प्रणालीहरू सामान्य सञ्चालन अवस्थाहरू मानेर विकसित हुन्छन्। तसर्थ, यदि एक सीमा नाघ्यो भने, त्रुटिहरू नगण्य छन् यदि प्रणाली विकासको क्रममा तनाव परीक्षण गरिएको छ।


तनाव परीक्षण निम्न सन्दर्भहरूमा प्रयोग गरिन्छ:

  • सफ्टवेयर: तनाव परीक्षणले अपर्याप्त स्रोतहरूको कारण सफ्टवेयर क्र्यास नहुने सुनिश्चित गर्न अत्यधिक भारी भार अन्तर्गत उपलब्धता र त्रुटि ह्यान्डलिङलाई जोड दिन्छ। सफ्टवेयर तनाव परीक्षण लेनदेनहरू रद्द गर्न पहिचान गरिएका लेनदेनहरूमा फोकस गर्दछ, जुन डाटाबेस लोड नभएको बेला पनि परीक्षणको क्रममा धेरै तनावपूर्ण हुन्छ। तनाव परीक्षण प्रक्रियाले प्रणालीमा सबैभन्दा कमजोर लिङ्क फेला पार्नको लागि सामान्य प्रणाली स्तरहरू बाहिर समवर्ती प्रयोगकर्ताहरूलाई लोड गर्दछ।
  • हार्डवेयर: तनाव परीक्षणहरूले सामान्य कम्प्युटिङ वातावरणमा स्थिरता सुनिश्चित गर्दछ।
  • वेबसाइटहरू: तनाव परीक्षणहरूले कुनै पनि साइट कार्यक्षमताको सीमा निर्धारण गर्दछ।
  • CPU: ओभरभोल्टिङ, अन्डरभोल्टिङ, अन्डरलकिङ, र ओभरलकिङ जस्ता परिवर्तनहरू प्रणाली क्र्यास वा फ्रिजहरूको लागि परीक्षण गर्न CPU-गहन कार्यक्रम चलाएर भारी भारहरू ह्यान्डल गर्न सक्छन् कि भनेर जाँच गरिन्छ। CPU तनाव परीक्षणलाई यातना परीक्षण पनि भनिन्छ।

स्वचालित परीक्षणहरू

स्वचालित परीक्षण (सफ्टवेयर परीक्षण स्वचालन) कोड परीक्षणको लागि एक दृष्टिकोण हो जसले विशेष सफ्टवेयर उपकरणहरूको प्रयोग गर्दछ जसले स्वचालित रूपमा परीक्षणहरू चलाउँछ र त्यसपछि अपेक्षित परिणामहरूसँग वास्तविक परीक्षण परिणामहरू तुलना गर्दछ।

स्वचालित परीक्षणले निरन्तर डेलिभरी (CD), निरन्तर एकीकरण (CI), DevOps, र DevSecOps मा महत्त्वपूर्ण भूमिका खेल्छ। स्वचालित परीक्षणको मुख्य फाइदाहरू समावेश छन्:

  • स्वचालित परीक्षणले परीक्षण प्रक्रियालाई थप प्रभावकारी बनाएर विकासकर्ताहरूको समय र पैसा बचत गर्छ।
  • स्वचालित परीक्षणहरूले म्यानुअल परीक्षणहरू भन्दा बढी कुशलतापूर्वक त्रुटिहरू पहिचान गर्दछ।
  • जब परीक्षणहरू स्वचालित हुन्छन्, बहु परीक्षण उपकरणहरू समानान्तर रूपमा लागू गर्न सकिन्छ।


सफ्टवेयर विकासमा, यो विशेष गरी निर्माण प्रक्रियाको क्रममा स्वचालित परीक्षणहरू गर्न उपयोगी छ कि एप्लिकेसन निर्माण त्रुटिहरूबाट मुक्त छ र यसको उद्देश्य कार्य प्रदर्शन गर्दछ।

सफ्टवेयर परीक्षणलाई स्वचालित गर्नको लागि समय लिनुले अन्ततः कोड परिवर्तनले अवस्थित कार्यक्षमता तोड्ने जोखिमलाई कम गरेर विकासकर्ताहरूको समय बचत गर्नेछ।


परीक्षण विकास प्रक्रियामा एक धेरै महत्त्वपूर्ण चरण हो। सुनिश्चित गर्दछ कि सबै बगहरू फिक्स गरिएको छ र उत्पादन, सफ्टवेयर वा हार्डवेयरले उद्देश्य वा सम्भव भएसम्म यसको लक्ष्य प्रदर्शनको नजिक प्रदर्शन गर्दछ। स्वचालित परीक्षण, म्यानुअल परीक्षणको सट्टा, लागत-प्रभावी सफ्टवेयरलाई निरन्तर रूपमा डेलिभर गर्न आवश्यक छ जसले प्रयोगकर्ताको आवश्यकतालाई न्यूनतम त्रुटिहरू सहित समयमै पूरा गर्दछ।

सफ्टवेयर विकासमा प्रयोग हुने स्वचालित परीक्षणका प्रकारहरू
  • एकाइ परीक्षण: अन्य एकाइहरूसँग यसको एकीकरण प्रमाणित गर्नु अघि पृथक वातावरणमा एकल निम्न-स्तरको कार्यक्रम परीक्षण गर्नुहोस्।
  • एकीकरण परीक्षण: एकाइ परीक्षण र अन्य अनुप्रयोग घटकहरू संयुक्त इकाईको रूपमा परीक्षण गरिन्छ।
  • कार्यात्मक परीक्षणहरू: जाँच गर्नुहोस् कि यदि सफ्टवेयर प्रणालीले व्यवहार गर्छ भने।
  • प्रदर्शन परीक्षण: उच्च-अपेक्षित भार अन्तर्गत एप्लिकेसनको बलियोपनको मूल्याङ्कन गर्नुहोस्। प्रदर्शन परीक्षणहरूले अक्सर बाधाहरू प्रकट गर्दछ।
  • धुवाँ परीक्षण: थप परीक्षणको साथ अगाडि बढ्नको लागि निर्माण पर्याप्त स्थिर छ कि छैन भनेर निर्धारण गर्दछ।
  • ब्राउजर परीक्षण: सफ्टवेयर कम्पोनेन्टहरू विभिन्न ब्राउजरहरूसँग उपयुक्त छन् भनी प्रमाणित गर्नुहोस्।

म्यानुअल परीक्षण अझै पनि विकासको क्रममा विभिन्न समयमा गरिन्छ, तर यो प्रायः विकासकर्ताहरू वा हार्डवेयर इन्जिनियरहरू आफैले चाँडै हेर्नको लागि गरिन्छ कि उनीहरूले गरेका परिवर्तनहरूले इच्छित प्रभाव पारेको छ कि छैन।

Ercole Palmeri

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

भर्खरका लेखहरू

प्रकाशकहरू र ओपनएआईले आर्टिफिसियल इन्टेलिजेन्सद्वारा प्रशोधित सूचनाको प्रवाहलाई विनियमित गर्न सम्झौतामा हस्ताक्षर गर्छन्

गत सोमबार, फाइनान्सियल टाइम्सले OpenAI सँग सम्झौताको घोषणा गर्‍यो। FT ले आफ्नो विश्व स्तरीय पत्रकारिता लाई लाइसेन्स...

30 अप्रिल 2024

अनलाइन भुक्तानीहरू: यहाँ कसरी स्ट्रिमिङ सेवाहरूले तपाईंलाई सधैंभरि भुक्तान गर्छ

लाखौं मानिसहरूले स्ट्रिमिङ सेवाहरूको लागि भुक्तानी गर्छन्, मासिक सदस्यता शुल्क तिर्छन्। यो आम धारणा छ कि तपाईं…

29 अप्रिल 2024

Veeam ले ransomware को लागि सुरक्षा देखि प्रतिक्रिया र रिकभरी को लागी सबै भन्दा व्यापक समर्थन को सुविधा दिन्छ

Veeam द्वारा Coveware ले साइबर जबरजस्ती घटना प्रतिक्रिया सेवाहरू प्रदान गर्न जारी राख्नेछ। Coveware ले फोरेन्सिक र उपचार क्षमताहरू प्रदान गर्दछ ...

23 अप्रिल 2024

हरियो र डिजिटल क्रान्ति: कसरी पूर्वानुमानात्मक रखरखावले तेल र ग्यास उद्योगलाई रूपान्तरण गर्दैछ

अनुमानित मर्मतसम्भारले तेल र ग्यास क्षेत्रमा क्रान्तिकारी परिवर्तन गर्दैछ, बिरुवा व्यवस्थापनको लागि एक नवीन र सक्रिय दृष्टिकोणको साथ।…

22 अप्रिल 2024

आफ्नो भाषामा नवीनता पढ्नुहोस्

नवाचार न्यूजलेटर
नवीनता मा सबैभन्दा महत्त्वपूर्ण समाचार नछुटाउनुहोस्। तिनीहरूलाई ईमेल द्वारा प्राप्त गर्न साइन अप गर्नुहोस्।

हामीलाई पछ्याउनुहोस्