top 6 best python testing frameworks
यह ट्यूटोरियल बताता है कि पायथन का उपयोग टेस्ट प्रोग्रामिंग के लिए कैसे किया जा सकता है और शीर्ष पायथन फ्रेमवर्क की विशेषताओं और तुलना की सूची देता है:
आर्टिफिशियल इंटेलिजेंस के व्यापक अनुप्रयोग के साथ, पायथन एक लोकप्रिय प्रोग्रामिंग भाषा बन गई है।
यह ट्यूटोरियल कवर करेगा कि पायथन को कुछ पायथन-आधारित परीक्षण रूपरेखाओं के साथ परीक्षण प्रोग्रामिंग के लिए कैसे उपयोग किया जा सकता है।
चलो शुरू करते हैं!!
=> सभी पायथन ट्यूटोरियल यहां देखें।
आप क्या सीखेंगे:
अजगर क्या है?
पारंपरिक परिभाषा के अनुसार, पायथन एक व्याख्यात्मक, उच्च-स्तरीय, सामान्य प्रोग्रामिंग भाषा है जो प्रोग्रामर को छोटे और साथ ही बड़े पैमाने पर परियोजनाओं के लिए प्रबंधनीय और तार्किक कोड लिखने में मदद करती है।
अजगर के कुछ लाभ हैं:
- कोई भी संकलन एडिट-टेस्ट-डिबग चक्र के तेजी से निष्पादन का कारण नहीं बनता है।
- आसान डिबगिंग
- व्यापक समर्थन पुस्तकालय
- डेटा-संरचना सीखना आसान है
- उच्च उत्पादकता
- दल का सहयोग
अजगर में काम कर रहा है
- दुभाषिया स्रोत फ़ाइल से अजगर कोड पढ़ता है और इसे सिंटैक्स त्रुटि के लिए जांचता है।
- यदि कोड त्रुटि-रहित है तो दुभाषिया कोड को उसके समकक्ष 'बाइट कोड' में बदल देता है।
- यह बाइट कोड तब पायथन वर्चुअल मशीन (PVM) को प्रेषित किया जाता है, जहाँ बाइट कोड को फिर से त्रुटि के लिए संकलित किया जाता है।
पायथन परीक्षण क्या है?
- स्वचालित परीक्षण परीक्षण की दुनिया में एक प्रसिद्ध संदर्भ है। यह वह जगह है जहां परीक्षण योजनाओं को मानव के बजाय स्क्रिप्ट का उपयोग करके निष्पादित किया जा रहा है।
- पायथन उन उपकरणों और पुस्तकालयों के साथ आता है जो आपके सिस्टम के लिए स्वचालित परीक्षण का समर्थन करते हैं।
- पायथन टेस्ट के मामले तुलनात्मक रूप से लिखना आसान है। पायथन के बढ़ते उपयोग के साथ, पायथन-आधारित परीक्षण स्वचालन फ्रेमवर्क भी लोकप्रिय हो रहे हैं।
पायथन टेस्टिंग फ्रेमवर्क की सूची
नीचे सूचीबद्ध कुछ पायथन परीक्षण रूपरेखाएं हैं जिन्हें आपको जानना चाहिए।
- रोबोट
- सबसे प्यारे
- इकाई परीक्षण
- DocTest
- नाक २
- गवाही देना
पायथन टेस्टिंग टूल्स की तुलना
एक छोटी तुलना तालिका में इन रूपरेखाओं को संक्षेप में प्रस्तुत करें:
लाइसेंस | का हिस्सा | वर्ग | वर्ग विशेष सुविधा | |
---|---|---|---|---|
pytest.warns () | अपेक्षित_पहचान: उम्मीद (, मैच) | कार्यों के साथ चेतावनी देना | ||
रोबोट ![]() | मुफ्त सॉफ्टवेयर (ASF लाइसेंस) | पायथन जेनेरिक टेस्ट लाइब्रेरी। | स्वीकृति परीक्षण | कीवर्ड-संचालित परीक्षण दृष्टिकोण। |
सबसे प्यारे ![]() | मुफ्त सॉफ्टवेयर (एमआईटी लाइसेंस) | अकेले खड़े रहें, कॉम्पैक्ट परीक्षण सूट की अनुमति देता है। | इकाई का परीक्षण | परीक्षण को आसान बनाने के लिए विशेष और सरल वर्ग निर्धारण। |
इकाई परीक्षण ![]() | मुफ्त सॉफ्टवेयर (एमआईटी लाइसेंस) | पायथन मानक पुस्तकालय का हिस्सा। | इकाई का परीक्षण | फास्ट टेस्ट संग्रह और लचीला परीक्षण निष्पादन। |
DocTest ![]() | मुफ्त सॉफ्टवेयर (एमआईटी लाइसेंस) | पायथन मानक पुस्तकालय का हिस्सा। | इकाई का परीक्षण | कमांड प्रॉम्प्ट और समावेशी एप्लिकेशन के लिए पायथन इंटरएक्टिव शेल। |
नाक २ ![]() | मुफ्त सॉफ्टवेयर (बीएसडी लाइसेंस) | अतिरिक्त सुविधा और प्लगइन्स के साथ unittest सुविधाएँ करता है। | निर्विवाद विस्तार | बड़ी संख्या में प्लगइन्स। |
गवाही देना ![]() | मुफ्त सॉफ्टवेयर (एएसएफ लाइसेंस) | अतिरिक्त सुविधा और प्लगइन्स के साथ unittest और नाक की सुविधाएँ प्रदान करता है। | निर्विवाद विस्तार | टेस्ट डिस्कवरी एन्हांसमेंट। |
(संक्षेप: MIT = मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी (1980), बीएसडी = बर्कले सॉफ्टवेयर वितरण (1988), ASF = अपाचे सॉफ्टवेयर फाउंडेशन (2004) )
चलो शुरू करते हैं!!
# 1) रोबोट
- सबसे लोकप्रिय रोबोट फ्रेमवर्क पायथन पर आधारित एक ओपन-सोर्स ऑटोमेशन टेस्टिंग फ्रेमवर्क है।
- यह रूपरेखा पूरी तरह से पायथन में विकसित की गई है और इसका उपयोग किया जाता है स्वीकृति परीक्षण तथा टी संचालित विकास है। रोबोट फ्रेमवर्क में परीक्षण मामलों को लिखने के लिए कीवर्ड शैली का उपयोग किया जा रहा है।
- रोबोट जावा और .Net चलाने में सक्षम है और डेस्कटॉप अनुप्रयोगों, मोबाइल अनुप्रयोगों, वेब अनुप्रयोगों, आदि के लिए क्रॉस-प्लेटफ़ॉर्म जैसे विंडोज, मैक ओएस और लिनक्स पर स्वचालन परीक्षण का भी समर्थन करता है।
- स्वीकृति परीक्षण के साथ, रोबोट का उपयोग रोबोट प्रोसेस ऑटोमेशन (RPA) के लिए भी किया जाता है।
- रंज (अजगर के लिए पैकेज इंस्टॉलर) रोबोट स्थापना के लिए अत्यधिक अनुशंसित है।
- सारणीबद्ध डेटा सिंटैक्स, कीवर्ड-चालित परीक्षण, समृद्ध पुस्तकालय और टूलसेट, और समानांतर परीक्षण का उपयोग रोबोट की कुछ मजबूत विशेषताएं हैं जो इसे परीक्षकों के बीच लोकप्रिय बनाती हैं।
उदाहरण:
*** Settings *** Library SeleniumLibrary *** Variables *** ${SERVER} localhost:7272 ${BROWSER} Firefox ${DELAY} 0 ${VALID USER} demo ${VALID PASSWORD} mode ${LOGIN URL} http://${SERVER}/ ${WELCOME URL} http://${SERVER}/welcome.html ${ERROR URL} http://${SERVER}/error.html *** Keywords *** Open Browser To Login Page Open Browser ${LOGIN URL} ${BROWSER} Maximize Browser Window Set Selenium Speed ${DELAY} Login Page Should Be Open Title Should Be Login Page Go To Login Page Go To ${LOGIN URL} Login Page Should Be Open Input Username (Arguments) ${username} Input Text username_field ${username} Input Password (Arguments) ${password} Input Text password_field ${password} Submit Credentials Click Button login_button Welcome Page Should Be Open Location Should Be ${WELCOME URL} Title Should Be Welcome Page
यहाँ का एक नमूना है असफल परीक्षा परीक्षा।
यहाँ का एक नमूना है सफल टेस्ट परीक्षा।
पैकेज / तरीके:
पैकेज का नाम | काम में हो | पैकेज आयात |
---|---|---|
Daud() | परीक्षण चलाने के लिए। | रोबोट आयात रन से |
run_cli () | कमांड लाइन तर्क के साथ परीक्षण चलाने के लिए। | से रोबोट आयात run_cli |
उछाल () | परीक्षण आउटपुट को संसाधित करने के लिए। | रोबोट आयात से |
एपीआई से लिंक करें: रोबोट फ्रेमवर्क उपयोगकर्ता गाइड
लिंक को डाउनलोड करें: रोबोट
# 2) सबसे प्यारे
- PyTest एक ओपन-सोर्स Python- आधारित टेस्टिंग फ्रेमवर्क है जो आम तौर पर सभी के लिए है, लेकिन विशेष रूप से इसके लिए कार्यात्मक और एपीआई परीक्षण।
- रंज (Python के लिए पैकेज इंस्टॉलर) PyTest की स्थापना के लिए आवश्यक है।
- यह एपीआई, डेटाबेस और UI का परीक्षण करने के लिए सरल या जटिल पाठ कोड का समर्थन करता है।
- सरल सिंटैक्स आसान परीक्षण निष्पादन के लिए सहायक है।
- रिच प्लगइन्स और समानांतर में परीक्षण चलाने में सक्षम है।
- परीक्षणों के किसी भी विशिष्ट सबसेट को चला सकते हैं।
उदाहरण:
import pytest //Import unittest module// def test_file1_method(): //Function inside class// x=5 y=6 assert x+1 == y,'test failed'
परीक्षण चलाने के लिए उपयोग करें py.test आज्ञा।
संदर्भ के लिए स्क्रीनशॉट:
(छवि स्रोत )
पैकेज / तरीके:
समारोह | मापदंडों | काम में हो |
---|---|---|
pytest.approx () | अपेक्षित होना, rel = कोई नहीं, abs = कोई नहीं, नैन_ोक = असत्य | दो या दो नंबर का दावा करें संख्याओं के समूह लगभग हैं कुछ अंतरों के बराबर। |
pytest.fail () | संदेश (str) पाइट्रेस (बूल) | यदि निष्पादन परीक्षण स्पष्ट रूप से विफल होता है तो संदेश दिखाया जाता है। |
pytest.skip () | allow_module_level (बूल) | दिखाए गए संदेश के साथ निष्पादन परीक्षण को छोड़ दें। |
pytest.exit () | संदेश (str) रिटर्नकोड (int) | परीक्षण प्रक्रिया से बाहर निकलें। |
pytest.main () | args = कोई नहीं प्लगइन्स = कोई नहीं | प्रक्रिया के निष्पादन के पूरा होने के बाद रिटर्न एग्जिट कोड। |
pytest.raises () | अपेक्षित_अनुप्रयोग: उम्मीद (, मैच) | जोर देकर कहते हैं कि एक कोड ब्लॉक कॉल अपेक्षानुरूपता को बढ़ाती है या एक विफलता अपवाद को बढ़ाती है |
यदि आप किसी विशिष्ट फ़ाइल में लिखित परीक्षा का उपयोग करना चाहते हैं तो हम नीचे दिए गए आदेश का उपयोग करते हैं।
py.test
Pytest स्थिरता: कोड पुनरावृत्ति से बचने के लिए परीक्षण विधि को निष्पादित करने से पहले कोड को चलाने के लिए पाइस्टेस्ट फिक्सेचर का उपयोग किया जाता है। यह मूल रूप से डेटाबेस कनेक्शन को इनिशियलाइज़ करने के लिए उपयोग किया जाता है।
आप नीचे दिखाए गए अनुसार PyTest स्थिरता को परिभाषित कर सकते हैं।
@pytest.fixture
जोर: कथन वह शर्त है जो सही या गलत होती है। जब परीक्षण विफल हो जाता है तो परीक्षण निष्पादन बंद हो जाता है।
नीचे एक उदाहरण दिया गया है:
def test_string_equal(): assert double(55) == 62 assert 25 == 62 + where 25 = double(55)
एपीआई से लिंक करें: पाइस्टेस्ट एपीआई
लिंक को डाउनलोड करें: पाइस्टेस्ट
# 3) यूनीटेस्ट
- यूनीटेस्ट बहुत ही पहला पायथन-आधारित है स्वचालित इकाई परीक्षण रूपरेखा जिसे पायथन मानक पुस्तकालय के साथ काम करने के लिए डिज़ाइन किया गया था।
- परीक्षण सूट और परीक्षण संगठन के पुन: उपयोग का समर्थन करता है।
- यह JUnit से प्रेरित था और परीक्षण संग्रह, परीक्षण स्वतंत्रता, परीक्षण के लिए सेटअप कोड सहित परीक्षण स्वचालन आदि का समर्थन करता है।
- इसे भी कहा जा रहा है PyUnit।
- Unittest2 यूनीटेस्ट में जोड़े गए अतिरिक्त नई सुविधाओं का एक बैकपोर्ट है।
यूनीटेस्ट के मानक वर्कफ़्लो:
- प्रोग्राम कोड में यूनीटेस्ट मॉड्यूल आयात करें।
- आप अपनी खुद की कक्षा को परिभाषित कर सकते हैं।
- आपके द्वारा परिभाषित कक्षा के अंदर कार्य बनाएं।
- परीक्षण मामले को चलाने के लिए कोड के निचले भाग में मुख्य विधि है।
उदाहरण:
import unittest //Import unittest module// def add(x,y): return x + y class Test(unittest.TestCase): //Define your class with testcase// def addition(self): self.assertEquals(add(4,5),9) //Function inside class// if __name__ == '__main__': unittest.main() //Insert main() method//
संदर्भ के लिए स्क्रीनशॉट:
(छवि स्रोत )
पैकेज / तरीके:
तरीका | काम में हो |
---|---|
addTest () | परीक्षण सूट में परीक्षण विधि जोड़ें। |
सेट अप() | परीक्षण स्थापना को तैयार करने के लिए परीक्षण विधि निष्पादन से पहले बुलाया गया। |
चीथड़े कर दो() | परीक्षण विधि निष्पादन के बाद भी बुलाया जाता है, भले ही परीक्षण एक अपवाद फेंकता है। |
setUpClass () | एक व्यक्तिगत कक्षा में परीक्षण के बाद बुलाया गया। |
आंसू | एक व्यक्तिगत कक्षा में परीक्षण के बाद बुलाया गया। |
Daud() | परिणामों के साथ परीक्षण चलाएँ। |
डिबग () | परिणाम के बिना परीक्षण चलाएँ। |
डिस्कवर () | विशिष्ट निर्देशिका से उपनिर्देशिकाओं में सभी परीक्षण मॉड्यूल ढूँढता है। |
मुखर (ए, बी) | दो वस्तु की समानता का परीक्षण करने के लिए। |
AsserTrue / assertFalse (शर्त) | बूलियन स्थिति का परीक्षण करने के लिए। |
() ध्यान दें: unittest.mock () पायथन परीक्षण के लिए एक पुस्तकालय है जो मॉक ऑब्जेक्ट्स के साथ सिस्टम भागों को बदलने की अनुमति देता है। कोर नकली वर्ग आसानी से टेस्ट सूट बनाने में मदद करता है।)
एपीआई से लिंक करें: सबसे बेकार एपीआई
लिंक को डाउनलोड करें: इकाई परीक्षण
# 4) DocTest
- डॉक्टेस्ट एक मॉड्यूल है जो पायथन के मानक वितरण में शामिल है और इसके लिए उपयोग किया जाता है व्हाइट-बॉक्स यूनिट परीक्षण।
- यह जांचने के लिए कि क्या वे ठीक से काम कर रहे हैं, इंटरएक्टिव अजगर सत्रों की खोज करता है।
- यह चयनात्मक पायथन क्षमताओं का उपयोग करता है जैसे कि डोकस्ट्रिंग्स, द पायथन इंटरएक्टिव शेल और पायथन इंट्रोस्पेक्शन (रनटाइम पर वस्तुओं के गुणों का निर्धारण)।
- मूलभूत प्रकार्य:
- डॉकस्ट्रिंग को अद्यतन करना
- प्रतिगमन परीक्षण करना
- बुनियादी इंटरफ़ेस प्रदान करने के लिए फ़ंक्शन टेस्टफाइल () और टेस्टमॉड () का उपयोग किया जाता है।
उदाहरण:
def test(n): import math if not n >= 0: raise ValueError('n must be >= 0') //number should be 0 or greater than 0 if math.floor(n) != n: raise ValueError('n must be exact integer') //Error when number is not an integer if n+1 == n: raise OverflowError('n too large') //Error when number is too large r = 1 f = 2 while f <= n: //Calculate factorial r *= f f += 1 return r if __name__ == '__main__': import doctest //Import doctest doctest.testmod() //Calling the testmod method
संदर्भ के लिए स्क्रीनशॉट:
(छवि स्रोत )
पैकेज / कार्य :
समारोह | मापदंडों | |
---|---|---|
nose.tools.intest | (फंक) | विधि या फ़ंक्शन को परीक्षण के रूप में संदर्भित किया जा सकता है। |
doctest.testfile () | फ़ाइल नाम (, mod_relative) (, नाम) (, पैकेज) (, ग्लब्स) (, क्रिया) (, रिपोर्ट) (, optionflags) (, एक्सट्राग्लोब) (, उठाना_ोन_रोर) (, पार्सर) (, एन्कोडिंग) | |
doctest.testmod () | एम) (, नाम) (, ग्लब्स) (, क्रिया) (, रिपोर्ट) (, विकल्प (, एक्सट्राग्लोब) (, raise_on_error) (, बाहर | |
doctest.DocFileSuite () | * पाथ्स, (माड्यूलर_रेलिव) (, पैकेज) (, सेटअप) (, टियरडाउन) (, ग्लब्स) (, ऑप्शनफ्लैग्स) (, पार्सर) (, एन्कोडिंग)। | |
doctest.DocTestSuite () | (मॉड्यूल) (, ग्लब्स) (, एक्सट्रैग्लोब) (, test_finder) (, सेटअप) (, अश्रु), (, चेकर) |
ध्यान दें: पाठ फ़ाइल में इंटरेक्टिव उदाहरणों की जाँच के लिए हम टेस्टफाइल () फ़ंक्शन का उपयोग कर सकते हैं;
doctest.testfile (“example.txt”)
आप कमांड लाइन से सीधे परीक्षण चला सकते हैं;
python factorial.py
एपीआई से लिंक करें: DocTest API
लिंक को डाउनलोड करें: सिद्धांत
# ५) नाक २
- Nose2 नाक का उत्तराधिकारी है और यह पायथन-आधारित है इकाई परीक्षण रूपरेखा जो डॉक्टेस और यूनिटटेस्ट चला सकते हैं।
- Nose2 पर आधारित है इकाई परीक्षण इसलिए इसे कहा जाता है निर्विवाद रूप से विस्तार करें या प्लगइन के साथ एकतरफा जो परीक्षण को सरल और आसान बनाने के लिए डिज़ाइन किया गया था।
- नाक, unittest.testcase से सामूहिक परीक्षणों का उपयोग करता है और परीक्षण और अपवाद लिखने के लिए कई कार्यों का समर्थन करता है।
- नोज पैकेज जुड़नार, कक्षाएं, मॉड्यूल, और जटिल आरंभीकरण का समर्थन करता है जिसे अक्सर लिखने के बजाय एक ही समय में परिभाषित किया जाता है।
उदाहरण:
from mynum import * import nose def test_add_integers(): assert add(5, 3) == 8 def test_add_floats(): assert add(1.5, 2.5) == 4 def test_add_strings(): nose.tools.assert_raises(AssertionError, add, 'paul', 'carol') // To throw one of the expected exception to pass if __name__ == '__main__': nose.run()
संदर्भ के लिए स्क्रीनशॉट:
पैकेज / तरीके:
तरीका | मापदंडों | काम में हो |
---|---|---|
nose.tools.ok_ | (expr, संदेश = कोई नहीं) | मुखर करने के लिए शॉर्टकट। |
nose.tools.ok_ | (ए, बी, संदेश = कोई नहीं) | शॉर्टकट के लिए cut assert a == b, '% R! =% R'% (ए, बी) |
nose.tools.make_decorator | (फंक) | दिए गए फ़ंक्शन के लिए मेटाडेटा को दोहराने के लिए। |
nose.tools.raises | (* अपवाद) | पास होने के लिए अपेक्षित अपवादों में से एक को फेंकने के लिए। |
nose.tools.timed | (सीमा) | उस समय सीमा को निर्दिष्ट करने के लिए जिसके भीतर परीक्षण को पास मिलना चाहिए। |
nose.tools.with_setup | (सेटअप = कोई नहीं, अशांति = कोई नहीं) | एक परीक्षण समारोह में सेटअप विधि जोड़ने के लिए। |
nose.tools.nottest | (फंक) | विधि या फ़ंक्शन को परीक्षण के रूप में संदर्भित नहीं किया जा सकता है। |
एपीआई से लिंक करें: Nose2 के लिए प्लगइन्स
लिंक को डाउनलोड करें: नाक २
# 6) गवाही दें
- गवाही को unittest और नाक को बदलने के लिए डिज़ाइन किया गया था। गवाही में एक से अधिक उन्नत सुविधाएँ हैं।
- गवाही शब्दार्थ परीक्षण के जावा कार्यान्वयन (सॉफ्टवेयर परीक्षण विनिर्देश को सीखना और लागू करना आसान) के रूप में लोकप्रिय है।
- प्रदर्शन स्वचालित इकाई, एकीकरण और सिस्टम परीक्षण गवाही देना आसान है।
विशेषताएं
- स्थिरता पद्धति के लिए सरल वाक्यविन्यास।
- इम्प्रूव्ड टेस्ट डिस्कवरी।
- क्लास-लेवल सेटअप और टियरडाउन फिक्स्चर विधि।
- एक्स्टेंसिबल प्लगइन सिस्टम।
- परीक्षण उपयोगिताओं को संभालने के लिए आसान है।
उदाहरण:
from testify import * class AdditionTestCase(TestCase): @class_setup def init_the_variable(self): self.variable = 0 @setup def increment_the_variable(self): self.variable += 1 def test_the_variable(self): assert_equal(self.variable, 1) @suite('disabled', reason='ticket #123, not equal to 2 places') def test_broken(self): # raises 'AssertionError: 1 !~= 1.01' assert_almost_equal(1, 1.01, threshold=2) @teardown def decrement_the_variable(self): self.variable -= 1 @class_teardown def get_rid_of_the_variable(self): self.variable = None if __name__ == '__main__': run()
संदर्भ के लिए स्क्रीनशॉट:
(छवि स्रोत )
पैकेज / तरीके:
पैकेज का नाम | काम में हो | पैकेज आयात |
---|---|---|
ज़ोर | सिस्टम परीक्षण के लिए व्यापक परीक्षण उपकरण प्रदान करता है। | आयात 'github.com/stretchr/testify/assert' |
दिखावटी | अपनी वस्तुओं और कॉल का परीक्षण करने के लिए उपयोगी है। | आयात 'github.com/stretchr/testify/mock' |
की आवश्यकता होती है | परीक्षण करने में विफल रहता है, लेकिन जब परीक्षण विफल हो जाता है तो उसी तरह काम करता है। | आयात 'github.com/stretchr/testify/require' |
उपरांत | यह परीक्षण संरचना और विधियों के परीक्षण के लिए तर्क प्रदान करता है। | आयात 'github.com/stretchr/testify/suite' |
एपीआई से लिंक करें: पैकेज फ़ाइल की गवाही दें
लिंक को डाउनलोड करें: गवाही देना
अतिरिक्त पायथन टेस्टिंग फ्रेमवर्क
अब तक हमने सबसे लोकप्रिय पायथन टेस्टिंग फ्रेमवर्क की समीक्षा की है। बहुत कम हैं इस सूची में और नाम जो भविष्य में लोकप्रिय हो सकते हैं।
# 7) व्यवहार करें
- व्यवहार के रूप में जाना जाता है BDD (व्यवहार प्रेरित विकास) परीक्षण फ्रेमवर्क जिसका उपयोग भी किया जाता है ब्लैक बॉक्स परीक्षण । व्यवहार परीक्षण लिखने के लिए प्राकृतिक भाषा का उपयोग करता है और यूनिकोड स्ट्रिंग्स के साथ काम करता है।
- व्यवहार निर्देशिका शामिल हैं फ़ाइलों की सुविधा एक सादा पाठ प्रारूप प्राकृतिक भाषा की तरह दिखता है और पायथन कदम कार्यान्वयन ।
एपीआई से लिंक करें: उपयोगकर्ता गाइड व्यवहार करें
लिंक को डाउनलोड करें: पेश आ
# 8) लेटस
- लेटिष के लिए उपयोगी है व्यवहार प्रेरित विकास परीक्षण । यह परीक्षण प्रक्रिया को आसान और स्केलेबल बनाता है।
- लेटस में चरण शामिल हैं जैसे:
- व्यवहार का वर्णन करना
- पायथन में कदम की परिभाषा।
- कोड चल रहा है
- परीक्षा पास करने के लिए कोड को संशोधित करना।
- संशोधित कोड चल रहा है।
- सॉफ़्टवेयर को त्रुटि-मुक्त बनाने के लिए इन चरणों का 3 - 4 बार अनुसरण किया जा रहा है और इस प्रकार इसकी गुणवत्ता में वृद्धि हुई है।
एपीआई से लिंक करें: लेटस डॉक्यूमेंटेशन
लिंक को डाउनलोड करें: सलाद
अक्सर पूछे जाने वाले प्रश्न और उत्तर
आइए इस विषय पर कुछ सबसे सामान्य प्रश्नों पर एक नजर डालें-
क्यू # 1) स्वचालन के लिए पायथन का उपयोग क्यों किया जाता है?
उत्तर: जैसा कि that अजगर आपके सिस्टम के लिए स्वचालित परीक्षण का समर्थन करने वाले टूल और लाइब्रेरी के साथ आता है ’, ऐसे कई अन्य कारण हैं जिनकी वजह से पायथन का उपयोग परीक्षण के लिए किया जाता है।
- पायथन ऑब्जेक्ट-ओरिएंटेड और कार्यात्मक है जो प्रोग्रामर को यह निष्कर्ष निकालने देता है कि फ़ंक्शन और कक्षाएं आवश्यकताओं के अनुसार उपयुक्त हैं या नहीं।
- पायथन 'पिप' को स्थापित करने के बाद परीक्षण के लिए उपयोगी पैकेजों की एक समृद्ध लाइब्रेरी प्रदान करता है।
- पठनीय कार्य और सरल वाक्यविन्यास पठनीय परीक्षण बनाने में सहायक होते हैं।
- टेस्ट केस और टेस्ट कोड के बीच पाइथन पुल की भूमिका निभाता है।
- पायथन डायनामिक डक टाइपिंग का समर्थन करता है।
- अच्छी तरह से कॉन्फ़िगर IDE और BDD ढांचे को अच्छा समर्थन प्रदान करता है।
- रिच कमांड लाइन सपोर्ट मैनुअल चेक करने में मददगार है।
- स्केल डेवलपमेंट के लिए सरल और अच्छी संरचना, प्रतिरूपकता, समृद्ध टूलसेट और पैकेज उपयोगी हो सकते हैं।
Q # 2) पायथन टेस्ट कैसे करें?
उत्तर: जब तक आप पायथन में एक परीक्षण बनाते हैं, तब तक आपको नीचे बताई गई दो बातों पर विचार करना चाहिए।
- आप परीक्षण करना चाहते हैं कि कौन सा मॉड्यूल / सिस्टम का हिस्सा है?
- आप किस प्रकार का परीक्षण कर रहे हैं (चाहे इकाई परीक्षण या एकीकरण परीक्षण)?
पायथन टेस्ट की समग्र संरचना अन्य लोगों की तरह सरल है जहां हम परीक्षण के घटकों जैसे - इनपुट, परीक्षण कोड को निष्पादित करने, आउटपुट और अपेक्षित परिणामों के साथ आउटपुट की तुलना करने का निर्णय लेते हैं।
Q # 3) पायथन में किस स्वचालन उपकरण को लिखा जाता है?
उत्तर: निर्माण किया एक स्वचालन उपकरण है जिसे पायथन के साथ लिखा और विस्तारित किया गया है और इसका उपयोग सॉफ्टवेयर असेंबली को स्वचालित करने के लिए किया जाता है। बिल्डआउट विकास से लेकर तैनाती तक सभी सॉफ्टवेयर चरणों पर लागू हो सकता है।
यह उपकरण 3 मुख्य सिद्धांतों पर आधारित है:
- पुनरावृत्ति: यह बताता है कि एक ही वातावरण में विकसित परियोजना विन्यास को अपने इतिहास की परवाह किए बिना एक ही परिणाम का उत्पादन करना चाहिए।
- संघटन: सॉफ्टवेयर सेवा में स्व-निगरानी उपकरण शामिल होने चाहिए और उत्पाद की तैनाती के दौरान निगरानी प्रणाली को कॉन्फ़िगर करना चाहिए।
- स्वचालन: सॉफ्टवेयर तैनाती अत्यधिक स्वचालित और समय की बचत होनी चाहिए।
Q # 4) क्या सेलेनियम के साथ पायथन का उपयोग किया जा सकता है?
उत्तर: हाँ। परीक्षण करने के लिए सेलेनियम के साथ पायथन भाषा का उपयोग किया जाता है। पाइथन एपीआई सेलेनियम के माध्यम से ब्राउज़र से जुड़ने में सहायक है। पायथन सेलेनियम संयोजन का उपयोग सेलेनियम वेबड्राइवर का उपयोग करके कार्यात्मक / स्वीकृति परीक्षण लिखने के लिए किया जा सकता है।
Q # 5) क्या पायथन के साथ सेलेनियम अच्छा है?
उत्तर: कई कारणों से सेलेनियम और पायथन को एक अच्छा संयोजन माना जाता है:
- सेलेनियम त्वरित परीक्षण स्वचालन का समर्थन करने के लिए सबसे मजबूत टूलसेट है।
- सेलेनियम वेब एप्लिकेशन परीक्षण करने के लिए समर्पित परीक्षण फ़ंक्शन प्रदान करता है जो वास्तविक एप्लिकेशन व्यवहार की जांच करने में मदद करता है।
- जबकि, पायथन एक उच्च-स्तरीय, वस्तु-आधारित और उपयोगकर्ता के अनुकूल स्क्रिप्टिंग भाषा है जिसमें एक सरल कीवर्ड संरचना है।
अब, जब पायथन के साथ सेलेनियम का उपयोग करने की बात आती है, तो नीचे दिए गए कई फायदे हैं।
- कोड और पढ़ने में आसान।
- पाइथन एपीआई आपको सेलेनियम के माध्यम से ब्राउज़र से जोड़ने के लिए बेहद उपयोगी है।
- सेलेनियम अपने डिजाइन विविधताओं की परवाह किए बिना विभिन्न ब्राउज़रों को पायथन का मानक आदेश भेजता है।
- पायथन तुलनात्मक रूप से अन्य प्रोग्रामिंग भाषाओं की तुलना में सरल और कॉम्पैक्ट है।
- पाइथन ऑटोमेशन टेस्टिंग करने के लिए पाइथन के साथ सेलेनियम का उपयोग करने के लिए पूरी तरह से नए लोगों का समर्थन करने के लिए एक बड़े समुदाय के साथ आता है।
- यह हर समय मुफ्त और खुली प्रोग्रामिंग भाषा है।
- सेलेनियम वेबड्राइवर पायथन के साथ सेलेनियम का उपयोग करने का एक और मजबूत कारण है। सेलेनियम वेबड्राइवर को पायथन के आसान यूजर इंटरफेस के लिए मजबूत बाइंडिंग सपोर्ट है।
Q # 6) सबसे अच्छा पायथन परीक्षण ढांचे को चुनने के क्या उपाय हैं?
उत्तर: सबसे अच्छा पायथन परीक्षण ढांचे को चुनने के लिए, नीचे दिए गए बिंदुओं को ध्यान में रखा जाना चाहिए:
- यदि स्क्रिप्ट की गुणवत्ता और संरचना, आपके उद्देश्यों को पूरा कर रही है। प्रोग्रामिंग स्क्रिप्ट को समझना / बनाए रखना और दोषों से मुक्त होना आसान होना चाहिए।
- पायथन की प्रोग्रामिंग संरचना परीक्षण ढांचे को चुनने में महत्वपूर्ण भूमिका निभाती है जिसमें शामिल हैं - विशेषताएँ, कथन, कार्य, ऑपरेटर, मॉड्यूल और मानक पुस्तकालय फाइलें।
- आप कितनी आसानी से परीक्षण उत्पन्न कर सकते हैं और किस हद तक उनका पुन: उपयोग किया जा सकता है?
- परीक्षण / परीक्षण मॉड्यूल निष्पादन के लिए अपनाई गई विधि (मॉड्यूल रनिंग तकनीक)।
Q # 7) सबसे अच्छा पायथन टेस्टिंग फ्रेमवर्क कैसे चुनें?
उत्तर: प्रत्येक फ्रेमवर्क के फायदे और सीमाओं को समझना, सबसे अच्छा पायथन टेस्टिंग फ्रेमवर्क चुनने का एक बेहतर तरीका है। आइए जानें -
रोबोट फ्रेमवर्क:
लाभ:
- कीवर्ड-संचालित परीक्षण दृष्टिकोण एक आसान तरीके से पठनीय परीक्षण मामलों को बनाने में मदद करता है।
- एकाधिक एपीआई
- आसान परीक्षण डेटा सिंटैक्स
- सेलेनियम ग्रिड के माध्यम से समानांतर परीक्षण का समर्थन करता है।
सीमाएं:
सॉफ्टवेयर परीक्षण में दोष प्रबंधन प्रक्रिया
- अनुकूलित HTML रिपोर्ट बनाना रोबोट के साथ काफी मुश्किल है।
- समानांतर परीक्षण के लिए कम समर्थन।
- इसे पायथन 2.7.14 और उससे ऊपर की आवश्यकता है।
Pytest:
लाभ:
- कॉम्पैक्ट टेस्ट सूट का समर्थन करता है।
- डीबगर या किसी भी स्पष्ट परीक्षण लॉग की आवश्यकता नहीं है।
- एकाधिक फिक्स्चर
- एक्स्टेंसिबल प्लगइन्स
- आसान और सरल परीक्षण निर्माण।
- कम बग के साथ परीक्षण मामलों को बनाना संभव है।
सीमाएं:
- अन्य रूपरेखाओं के अनुरूप नहीं।
इकाई परीक्षण:
लाभ:
- किसी भी अतिरिक्त मॉड्यूल के लिए कोई ज़रूरत नहीं है।
- शुरुआती स्तर पर परीक्षकों के लिए सीखना आसान है।
- सरल और आसान परीक्षण निष्पादन।
- रैपिड टेस्ट रिपोर्ट जनरेशन।
सीमाएं
- स्नेथ_केस का नामकरण पायथन और कैमलकेस का नाम जुनिट के नामकरण से थोड़ा भ्रम पैदा होता है।
- परीक्षण कोड की अस्पष्ट मंशा।
- बॉयलरप्लेट कोड की एक बड़ी मात्रा की आवश्यकता है।
सिद्धांत:
लाभ:
- छोटे परीक्षण करने के लिए एक अच्छा विकल्प।
- विधि के भीतर परीक्षण प्रलेखन यह भी जानकारी देता है कि विधि कैसे काम करती है।
सीमाएं
- यह केवल मुद्रित आउटपुट की तुलना करता है। आउटपुट में कोई भी भिन्नता परीक्षण की विफलता का कारण बनेगी।
नाक 2:
लाभ:
- नाक 2, यूनिटेस्ट की तुलना में अधिक परीक्षण कॉन्फ़िगरेशन का समर्थन करता है।
- इसमें सक्रिय प्लगइन्स का पर्याप्त सेट शामिल है।
- यूनिटेस्ट से अलग एपीआई जो त्रुटि के बारे में अधिक जानकारी प्रदान करता है।
सीमाएं:
- थर्ड-पार्टी प्लग इन इंस्टॉल करते समय आपको सेटअप टूल / डिस्ट्रीब्यूशन पैकेज इंस्टॉल करना होगा, क्योंकि Nose2 पाइथन 3 को सपोर्ट करता है, लेकिन थर्ड-पार्टी प्लगइन्स को नहीं।
गवाही दें:
लाभ:
- समझने और उपयोग करने में आसान।
- यूनिट, इंटीग्रेशन और सिस्टम टेस्ट आसानी से बनाए जा सकते हैं।
- प्रबंधनीय और पुन: प्रयोज्य परीक्षण घटक।
- Testifyis के लिए नई सुविधाओं को जोड़ना आसान है।
सीमाएं:
- प्रारंभ में Testify को unittest और Nose को बदलने के लिए विकसित किया गया था, लेकिन इसे pytest में स्थानांतरित करने की प्रक्रिया जारी है, इसलिए उपयोगकर्ताओं को कुछ आगामी परियोजनाओं के लिए Testify का उपयोग करने से बचने की अनुशंसा की जाती है।
व्यवहार फ्रेमवर्क:
लाभ:
- सभी प्रकार के परीक्षण मामलों का आसान निष्पादन।
- विस्तृत तर्क और सोच
- क्यूए / देव उत्पादन की स्पष्टता।
सीमाएं:
- यह केवल ब्लैक बॉक्स परीक्षण का समर्थन करता है।
लेटिष फ्रेमवर्क:
लाभ:
- एकाधिक परीक्षण परिदृश्य बनाने के लिए सरल भाषा।
- ब्लैक-बॉक्स परीक्षण के लिए व्यवहार-चालित परीक्षण मामलों के लिए सहायक।
सीमाएं:
- इसे डेवलपर्स, परीक्षकों और हितधारकों के बीच मजबूत समन्वय की आवश्यकता है।
उपरोक्त फायदे और सीमाओं पर विचार करके आप सबसे उपयुक्त पायथन परीक्षण ढांचे का चयन कर सकते हैं जो आपके व्यावसायिक आवश्यकताओं के लिए उपयुक्त मानदंडों को विकसित करने में मदद करेगा।
Q # 8) पायथन ऑटोमेशन के लिए कौन सा ढांचा सबसे अच्छा है?
उत्तर: फायदे और सीमाओं पर विचार करते हुए, हम परीक्षण प्रकार को सर्वोत्तम परीक्षण रूपरेखा चुनने के उपायों में से एक मान सकते हैं:
- क्रियात्मक परीक्षण: रोबोट, पायटेस्ट, यूनीटेस्ट
- व्यवहार-प्रेरित परीक्षण: व्यवहार, लेटिष
रोबोट उन लोगों के लिए सबसे अच्छा ढांचा है जो पायथन परीक्षण के लिए नए हैं और एक ठोस शुरुआत करना चाहते हैं।
निष्कर्ष
सबयूनिट, ट्रायल, टेस्ट संसाधन, सांचो, टेस्टटूल कुछ और नाम हैं जिन्हें पायथन टेस्टिंग फ्रेमवर्क की सूची में जोड़ा गया है। हालाँकि, केवल कुछ ही उपकरण हैं जिन्हें अब तक लोकप्रिय किया गया है क्योंकि पायथन परीक्षण एक तुलनात्मक रूप से नई अवधारणा है जिसे परीक्षण की दुनिया में पेश किया गया है।
कंपनियां इन उपकरणों को बेहतर बनाने पर काम कर रही हैं ताकि उन्हें समझने और परीक्षण करने में आसानी हो। अमीर और सटीक क्लास फिक्स्चर, प्लगइन्स और पैकेज के साथ ये उपकरण पायथन टेस्टिंग करने के लिए अच्छी तरह से वाकिफ और बेहतर बन सकते हैं।
इस बीच, यूनीटेस्ट से लेकर टेस्टीफाई तक के ऊपर उल्लिखित फ्रेमवर्क, अपेक्षित सिस्टम प्रदर्शन को प्राप्त करने के लिए बहुत आवश्यक सहायता और सेवा प्रदान कर रहे हैं।
= >> संपर्क करें यहाँ एक सूची का सुझाव देने के लिए।अनुशंसित पाठ
- पायथन परिचय और स्थापना प्रक्रिया
- पायथन ट्यूटोरियल फॉर बिगिनर्स (हैंड्स-ऑन फ्री पायथन ट्रेनिंग)
- 30+ सर्वश्रेष्ठ सेलेनियम ट्यूटोरियल: वास्तविक उदाहरणों के साथ सेलेनियम सीखें
- ऑटोमेशन टेस्टिंग क्या है (टेस्ट ऑटोमेशन शुरू करने के लिए अंतिम गाइड)
- इकाई परीक्षण, एकीकरण परीक्षण और कार्यात्मक परीक्षण के बीच अंतर
- 2021 में 10 सबसे लोकप्रिय रोबोट प्रक्रिया स्वचालन RPA उपकरण
- 25 सर्वश्रेष्ठ जावा परीक्षण फ्रेमवर्क और स्वचालन परीक्षण के लिए उपकरण (भाग 3)
- 8 सबसे अच्छा व्यवहार प्रेरित विकास (BDD) उपकरण और परीक्षण चौखटे