सफ्टवेयर परीक्षण, वा सफ्टवेयर परीक्षण, अनुप्रयोग परीक्षणको रूपमा पनि चिनिन्छ।
सफ्टवेयर परीक्षण मुख्यतया धेरै अन्तरसम्बन्धित प्रक्रियाहरू मिलेर बनेको ठूलो प्रक्रिया हो। सफ्टवेयर परीक्षणको मुख्य उद्देश्य यसको आधारभूत आवश्यकताहरूको सन्दर्भमा सफ्टवेयरको पूर्णतासँगै यसको पूर्णता मापन गर्नु हो। सफ्टवेयर परीक्षणले विभिन्न परीक्षण प्रक्रियाहरू मार्फत सफ्टवेयरको परीक्षण र परीक्षण समावेश गर्दछ। यी प्रक्रियाहरूको उद्देश्य समावेश हुन सक्छ:
कार्यात्मक/व्यापार आवश्यकताहरू विरुद्ध सफ्टवेयर पूर्णताको प्रमाणीकरण
बगहरू/प्राविधिक त्रुटिहरू पहिचान गर्दै र सफ्टवेयर त्रुटिरहित छ भनी सुनिश्चित गर्दै
उपयोगिता, प्रदर्शन, सुरक्षा, स्थानीयकरण, अनुकूलता र स्थापनाको मूल्याङ्कन
परीक्षण गरिएको सफ्टवेयर पूर्ण वा प्रयोगको लागि उपयुक्त हुन सबै परीक्षणहरू पास गर्नुपर्छ। केही विभिन्न प्रकारका सफ्टवेयर परीक्षण विधिहरूमा सेतो बक्स परीक्षण, कालो बक्स परीक्षण, र खैरो बक्स परीक्षण समावेश छ। यसबाहेक, सफ्टवेयरलाई समग्र रूपमा, कम्पोनेन्ट/इकाइहरूमा वा प्रत्यक्ष प्रणाली भित्र परीक्षण गर्न सकिन्छ।
ब्ल्याक बक्स परीक्षण एक सफ्टवेयर परीक्षण प्रविधि हो जसले सफ्टवेयरको कार्यक्षमताको विश्लेषणमा केन्द्रित हुन्छ, प्रणालीको आन्तरिक कार्यहरूको सन्दर्भमा। ब्ल्याक बक्स परीक्षण ग्राहक आवश्यकताहरू, विशिष्टताहरू र उच्च-स्तर डिजाइन रणनीतिहरू विश्लेषण गर्न एक विधिको रूपमा विकसित गरिएको थियो।
ब्ल्याक बक्स परीक्षण परीक्षकले मान्य र अवैध कोड कार्यान्वयन र इनपुट सर्तहरूको सेट चयन गर्दछ र वैध आउटपुट प्रतिक्रियाहरूको लागि जाँच गर्दछ।
ब्ल्याक बक्स परीक्षणलाई कार्यात्मक परीक्षण वा बन्द बक्स परीक्षण पनि भनिन्छ।
खोज इन्जिन ब्ल्याक बक्स परीक्षण को लागी एक आवेदन विषय को एक सरल उदाहरण हो। खोज इन्जिन प्रयोगकर्ताले वेब ब्राउजरको खोज पट्टीमा पाठ प्रविष्ट गर्दछ। खोज इन्जिनले त्यसपछि प्रयोगकर्ता डेटा परिणामहरू (आउटपुट) पत्ता लगाउँदछ र पुन: प्राप्त गर्दछ।
ब्ल्याक बक्स परीक्षणका फाइदाहरू समावेश छन्:
ब्ल्याक बक्स परीक्षणका केही बेफाइदाहरू पनि छन्, निम्नानुसार:
सेतो-बक्स परीक्षणको क्रममा, पूर्व-चयनित आउटपुट मानहरू मान्य गर्न पूर्व-चयनित इनपुट मानहरूसँग कोड चलाइन्छ। सेतो-बक्स परीक्षणमा प्रायः स्टब कोड लेख्ने समावेश हुन्छ (कुनै विशेष सुविधालाई बदल्न प्रयोग गरिने कोडको टुक्रा। एक स्टबले अवस्थित कोडको व्यवहारलाई अनुकरण गर्न सक्छ, जस्तै रिमोट मेसिनमा प्रक्रिया।) र ड्राइभरहरू पनि।
सेतो-बक्स परीक्षणका फाइदाहरू समावेश छन्:
बेफाइदाहरू समावेश छन्:
एक एकाइ परीक्षण सफ्टवेयर विकास जीवन चक्र (SDLC) को एक घटक हो जसमा एक व्यापक परीक्षण प्रक्रिया व्यक्तिगत रूपमा इच्छित उपयुक्तता वा व्यवहारको लागि सफ्टवेयर प्रोग्रामको सबैभन्दा सानो भागहरूमा लागू गरिन्छ।
एक एकाइ परीक्षण धेरै उद्यम सफ्टवेयर विकास गतिविधिहरूमा लागू गुणस्तर मापन र मूल्याङ्कन प्रक्रिया हो। सामान्यतया, एक एकाइ परीक्षणले सफ्टवेयर कोडले सफ्टवेयर/एप्लिकेशन/कार्यक्रमको समग्र लक्ष्यसँग कत्ति राम्रोसँग मेल खान्छ र यसको उपयुक्तताले अन्य साना एकाइहरूलाई कसरी असर गर्छ भन्ने कुराको मूल्याङ्कन गर्छ। एकाइ परीक्षणहरू म्यानुअल रूपमा गर्न सकिन्छ - एक वा बढी विकासकर्ताहरूद्वारा - वा स्वचालित सफ्टवेयर समाधान मार्फत।
परीक्षणको क्रममा, प्रत्येक एकाइलाई मुख्य कार्यक्रम वा इन्टरफेसबाट अलग गरिएको छ। एकाइ परीक्षणहरू सामान्यतया विकास पछि र तैनाती अघि प्रदर्शन गरिन्छ, यसैले एकीकरण र प्रारम्भिक समस्या पत्ता लगाउन सुविधा दिन्छ। एकाइको साइज वा दायरा प्रोग्रामिङ भाषा, सफ्टवेयर अनुप्रयोग, र परीक्षण उद्देश्यहरूमा निर्भर गर्दछ।
कार्यात्मक परीक्षण एक परीक्षण प्रक्रिया हो जुन सफ्टवेयर विकास भित्र प्रयोग गरिन्छ जहाँ सफ्टवेयरले सबै आवश्यकताहरू पूरा गर्दछ भनेर सुनिश्चित गर्न परीक्षण गरिन्छ। यो सफ्टवेयर जाँच गर्ने एक तरिका हो यो सुनिश्चित गर्न को लागी कि यसको कार्यात्मक आवश्यकताहरु मा निर्दिष्ट सबै आवश्यक कार्यक्षमता छ।
कार्यात्मक परीक्षण मुख्य रूपमा प्रयोग गरिन्छ कि सफ्टवेयरको टुक्राले अन्तिम प्रयोगकर्ता वा व्यवसायलाई आवश्यक पर्ने समान आउटपुट प्रदान गर्दछ। सामान्यतया, कार्यात्मक परीक्षणले व्यापार आवश्यकताहरू विरुद्ध प्रत्येक सफ्टवेयर प्रकार्यको मूल्याङ्कन र तुलना समावेश गर्दछ। सफ्टवेयरलाई केहि सम्बन्धित इनपुट दिएर परीक्षण गरिन्छ ताकि आउटपुट कसरी यसको आधारभूत आवश्यकताहरूसँग मिल्दोजुल्दो छ, सम्बन्धित छ वा फरक हुन्छ भनेर मूल्याङ्कन गर्न सकिन्छ। यसबाहेक, कार्यात्मक परीक्षणहरूले सफ्टवेयरको उपयोगिता पनि जाँच गर्दछ, उदाहरणका लागि नेभिगेसन प्रकार्यहरू आवश्यक रूपमा काम गर्दछ भनेर निश्चित गर्नुहोस्।
Regression testing एक प्रकारको सफ्टवेयर परीक्षण हो कि नयाँ समस्याहरू सफ्टवेयर परिवर्तनहरूको परिणाम हो कि भनेर निर्धारण गर्न प्रयोग गरिन्छ।
परिवर्तन लागू गर्नु अघि, एउटा कार्यक्रम परीक्षण गरिन्छ। परिवर्तन लागू गरेपछि, परिवर्तनले नयाँ बगहरू वा समस्याहरू सिर्जना गरेको छ वा छैन वा वास्तविक परिवर्तनले आफ्नो इच्छित उद्देश्य पूरा गरेको छ कि छैन भनेर पत्ता लगाउन चयन गरिएका क्षेत्रहरूमा कार्यक्रम पुन: परीक्षण गरिन्छ।
रिग्रेसन परीक्षण ठूला सफ्टवेयर अनुप्रयोगहरूको लागि आवश्यक छ, किनकि समस्याको एउटा भाग परिवर्तन गर्दा अनुप्रयोगको फरक भागको लागि नयाँ समस्या सिर्जना भएको छ कि छैन भनेर जान्न गाह्रो हुन्छ। उदाहरणका लागि, बैंक आवेदन ऋण फारममा परिवर्तन गर्दा मासिक कारोबार रिपोर्ट असफल हुन सक्छ। धेरैजसो अवस्थामा, समस्याहरू असंबद्ध लाग्न सक्छ, तर तिनीहरू वास्तवमा अनुप्रयोग विकासकर्ताहरू बीच निराशाको कारण हुन सक्छन्।
रिग्रेसन परीक्षण आवश्यक पर्ने अन्य अवस्थाहरूमा निश्चित परिवर्तनहरूले निर्धारित लक्ष्य हासिल गर्न वा समस्याहरू बिनाको अवधि पछि पुन: उत्पन्न हुने समस्याहरूसँग सम्बन्धित नयाँ खतराहरूको लागि परीक्षण गर्ने समावेश गर्दछ।
आधुनिक रिग्रेसन परीक्षण मुख्य रूपमा विशेष व्यावसायिक परीक्षण उपकरणहरू मार्फत ह्यान्डल गरिन्छ जुन अवस्थित सफ्टवेयरको स्न्यापसटहरू लिन्छ जुन निश्चित परिवर्तन लागू गरेपछि तुलना गरिन्छ। स्वचालित सफ्टवेयर परीक्षकहरू जस्तै कुशलतापूर्वक समान कार्यहरू गर्न मानव परीक्षकहरूको लागि लगभग असम्भव छ। यो विशेष गरी ठूला र जटिल सफ्टवेयर अनुप्रयोगहरूमा ठूला आईटी वातावरणहरू जस्तै बैंकहरू, अस्पतालहरू, निर्माण कम्पनीहरू र ठूला खुद्रा विक्रेताहरूमा सत्य हो।
तनाव परीक्षणले चरम र प्रतिकूल परिस्थितिहरूमा यसको प्रदर्शन सन्तोषजनक छ कि छैन भनेर निर्धारण गर्न परीक्षण सफ्टवेयर वा हार्डवेयरलाई बुझाउँछ, जुन भारी नेटवर्क ट्राफिक, प्रक्रिया लोडिङ, अन्डरक्लोकिंग, ओभरक्लिङ, र स्रोतहरूको उच्चतम उपयोग मागको परिणामको रूपमा हुन सक्छ।
धेरैजसो प्रणालीहरू सामान्य सञ्चालन अवस्थाहरू मानेर विकसित हुन्छन्। तसर्थ, यदि एक सीमा नाघ्यो भने, त्रुटिहरू नगण्य छन् यदि प्रणाली विकासको क्रममा तनाव परीक्षण गरिएको छ।
तनाव परीक्षण निम्न सन्दर्भहरूमा प्रयोग गरिन्छ:
स्वचालित परीक्षण (सफ्टवेयर परीक्षण स्वचालन) कोड परीक्षणको लागि एक दृष्टिकोण हो जसले विशेष सफ्टवेयर उपकरणहरूको प्रयोग गर्दछ जसले स्वचालित रूपमा परीक्षणहरू चलाउँछ र त्यसपछि अपेक्षित परिणामहरूसँग वास्तविक परीक्षण परिणामहरू तुलना गर्दछ।
स्वचालित परीक्षणले निरन्तर डेलिभरी (CD), निरन्तर एकीकरण (CI), DevOps, र DevSecOps मा महत्त्वपूर्ण भूमिका खेल्छ। स्वचालित परीक्षणको मुख्य फाइदाहरू समावेश छन्:
सफ्टवेयर विकासमा, यो विशेष गरी निर्माण प्रक्रियाको क्रममा स्वचालित परीक्षणहरू गर्न उपयोगी छ कि एप्लिकेसन निर्माण त्रुटिहरूबाट मुक्त छ र यसको उद्देश्य कार्य प्रदर्शन गर्दछ।
सफ्टवेयर परीक्षणलाई स्वचालित गर्नको लागि समय लिनुले अन्ततः कोड परिवर्तनले अवस्थित कार्यक्षमता तोड्ने जोखिमलाई कम गरेर विकासकर्ताहरूको समय बचत गर्नेछ।
परीक्षण विकास प्रक्रियामा एक धेरै महत्त्वपूर्ण चरण हो। सुनिश्चित गर्दछ कि सबै बगहरू फिक्स गरिएको छ र उत्पादन, सफ्टवेयर वा हार्डवेयरले उद्देश्य वा सम्भव भएसम्म यसको लक्ष्य प्रदर्शनको नजिक प्रदर्शन गर्दछ। स्वचालित परीक्षण, म्यानुअल परीक्षणको सट्टा, लागत-प्रभावी सफ्टवेयरलाई निरन्तर रूपमा डेलिभर गर्न आवश्यक छ जसले प्रयोगकर्ताको आवश्यकतालाई न्यूनतम त्रुटिहरू सहित समयमै पूरा गर्दछ।
म्यानुअल परीक्षण अझै पनि विकासको क्रममा विभिन्न समयमा गरिन्छ, तर यो प्रायः विकासकर्ताहरू वा हार्डवेयर इन्जिनियरहरू आफैले चाँडै हेर्नको लागि गरिन्छ कि उनीहरूले गरेका परिवर्तनहरूले इच्छित प्रभाव पारेको छ कि छैन।
Ercole Palmeri
गत सोमबार, फाइनान्सियल टाइम्सले OpenAI सँग सम्झौताको घोषणा गर्यो। FT ले आफ्नो विश्व स्तरीय पत्रकारिता लाई लाइसेन्स...
लाखौं मानिसहरूले स्ट्रिमिङ सेवाहरूको लागि भुक्तानी गर्छन्, मासिक सदस्यता शुल्क तिर्छन्। यो आम धारणा छ कि तपाईं…
Veeam द्वारा Coveware ले साइबर जबरजस्ती घटना प्रतिक्रिया सेवाहरू प्रदान गर्न जारी राख्नेछ। Coveware ले फोरेन्सिक र उपचार क्षमताहरू प्रदान गर्दछ ...
अनुमानित मर्मतसम्भारले तेल र ग्यास क्षेत्रमा क्रान्तिकारी परिवर्तन गर्दैछ, बिरुवा व्यवस्थापनको लागि एक नवीन र सक्रिय दृष्टिकोणको साथ।…