Ez az oktatóanyag elmagyarázza, hogyan lehet A Python-t használni a Tesztprogramozáshoz, és felsorolja a Python legjobb tesztelési Keretrendszereinek jellemzőit és összehasonlítását:
a mesterséges intelligencia széles körű alkalmazásával a Python népszerű programozási nyelvvé vált.
Ez a bemutató bemutatja, hogy a Python hogyan használható tesztprogramozáshoz, valamint néhány Python-alapú tesztelési keretrendszerhez.
kezdjük!!
= > ellenőrizze az összes Python oktatóanyagot itt.
mi az a Python?
a hagyományos definíció szerint a Python egy értelmezett, magas szintű, általános programozási nyelv, amely segít a programozóknak kezelhető és logikai kód írásában kis és nagy léptékű projektekhez.
a pythonok néhány előnye:
- egyetlen összeállítás sem okozza a Szerkesztés-teszt-hibakeresési ciklus gyors végrehajtását.
- könnyű hibakeresés
- kiterjedt támogatási könyvtár
- könnyen megtanulható adatstruktúra
- magas termelékenység
- csapatmunka
Pythonban dolgozik
- a tolmács beolvassa a python kódot a forrásfájlból, és megvizsgálja, hogy van-e szintaktikai hiba.
- ha a kód hibamentes, akkor az értelmező átalakítja a kódot az egyenértékű ‘bájtkódra’.
- ezt a bájtkódot ezután továbbítják a Python virtuális géphez (PVM), ahol a bájtkódot ismét hibára fordítják, ha van ilyen.
mi a Python tesztelés?
- az automatizált tesztelés jól ismert kontextus a tesztelés világában. Itt hajtják végre a tesztterveket ember helyett szkript segítségével.
- a Python olyan eszközökkel és könyvtárakkal rendelkezik, amelyek támogatják a rendszer automatizált tesztelését.
- Python teszt esetek viszonylag könnyű írni. A Python fokozott használatával a Python-alapú tesztautomatizálási keretek is népszerűvé válnak.
A Python tesztelési Keretrendszereinek listája
Az alábbiakban felsorolunk néhány Python tesztelési keretet, amelyeket tudnia kell.
- Robot
- PyTest
- Unittest
- DocTest
- nose2
- tanúvallomása
összehasonlítása Python tesztelési eszközök
gyorsan összefoglaljuk ezeket a keretrendszereket egy rövid összehasonlító táblázatban:
licenc | része | Kategória | Kategória Különleges funkció |
|
---|---|---|---|---|
robot |
szabad szoftver (asf licenc} |
Python általános teszt könyvtárak. | elfogadási tesztelés | kulcsszó-vezérelt tesztelési megközelítés. |
PyTest |
Free software (MIT License) | Stand alone, allows compact test suites. | Unit Testing | Special and simple class fixture for making testing easier. |
unittest |
Free software (MIT License) | Part of Python standard library. | Unit Testing | Fast test collection and flexible test execution. |
DocTest |
Free software (MIT License) | Part of Python standard library. | Unit Testing | Python Interactive Shell for the command prompt and inclusive application. |
Nose2 |
Free software (BSD License) |
Carries unittest features with additional feature and plugins. | unittest extension | A large number of plugins. |
tanúskodni |
szabad szoftver (asf licenc) |
hordoz unittest és nose funkciók további funkció és plugins. | unittest extension | Test discovery enhancement. |
(rövidítések: MIT = Massachusetts Institute of Technology (1980), BSD = Berkeley Software Distribution (1988), ASF = Apache Software Foundation(2004))
kezdjük!!
# 1) Robot
- a legnépszerűbb Robot keretrendszer egy Python alapú nyílt forráskódú automatizálási tesztelési keretrendszer.
- ez a keretrendszer teljes egészében Pythonban készült, és elfogadási tesztelésre és Tesztvezérelt fejlesztésre használják. A kulcsszó stílusát tesztesetek írására használják Robot keretrendszerben.
- a Robot képes Java és. Net futtatására, és támogatja az automatizálási tesztelést olyan platformokon, mint a Windows, Mac OS és Linux asztali alkalmazásokhoz, mobil alkalmazásokhoz, webes alkalmazásokhoz stb.
- az elfogadási tesztelés mellett a robotot Robot Folyamatautomatizáláshoz (rpa) is használják.
- A Pip (Package Installer for Python) erősen ajánlott a Robot telepítéséhez.
- a táblázatos adatszintaxis használata, kulcsszó-vezérelt tesztelés, gazdag könyvtárak & eszközkészlet, valamint a párhuzamos tesztelés a Robot néhány erős tulajdonsága, amelyek népszerűvé teszik a tesztelők körében.
példa:
*** 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 PageGo To Login Page Go To ${LOGIN URL} Login Page Should Be OpenInput Username ${username} Input Text username_field ${username}Input Password ${password} Input Text password_field ${password}Submit Credentials Click Button login_buttonWelcome Page Should Be Open Location Should Be ${WELCOME URL} Title Should Be Welcome Page
itt van egy minta a sikertelen teszt végrehajtásáról.
Here is a sample of Successful Test Execution.
Packages/Methods:
Package Name | Working | Package Import |
---|---|---|
run() | To run tests. | from robot import run |
run_cli() | To run tests with command line argument. | a robot import run_cli |
rebot () | a teszt kimenet feldolgozásához. | from robot import rebot |
Link to API: Robot Framework Felhasználói útmutató
letöltési Link: Robot
#2) PyTest
- a PyTest egy nyílt forráskódú Python-alapú tesztelési keretrendszer, amely általában minden célra, de különösen a funkcionális és API tesztelés.
- Pip (Package Installer for Python) szükséges a PyTest telepítéséhez.
- támogatja az egyszerű vagy összetett szöveges kódot az API, adatbázisok és UIs teszteléséhez.
- az egyszerű szintaxis hasznos a teszt egyszerű végrehajtásához.
- Rich plugins és képes párhuzamosan futtatni a teszteket.
- a tesztek bármely meghatározott részhalmazát futtathatja.
példa:
import pytest //Import unittest module//def test_file1_method(): //Function inside class// x=5 y=6 assert x+1 == y,"test failed"
a teszt futtatásához használja a py-t.teszt parancs.
képernyőkép referenciaként:
csomagok / módszerek:
funkció | paraméterek | munka | |
---|---|---|---|
pytest.approx () | várható, rel = nincs, abs = nincs, nan_ok=False |
azt állítják, hogy két szám vagy két számok halmaza megközelítőleg egyenlő néhány különbséggel. |
|
pytest.fail() | msg (str) pytrace(bool) |
ha a végrehajtó teszt kifejezetten sikertelen, az üzenet jelenik meg. | |
pytest.skip() | allow_module_level(bool) | Skip the executing test with the message shown. | |
pytest.exit() | msg (str) returncode (int) |
Exit testing process. | |
pytest.main() | args=None plugins=None |
Return exit code once in-process test execution is done. | |
pytest.raises() | expected_exception: Expectation | Assert that a code block call raises expected_exception or to raise a failure exception | |
pytest.warns() | expected_warning: Várakozás | figyelmeztetés érvényesítése a funkciókkal |
Ha egy adott fájlban írt tesztet szeretne elérni, akkor az alábbi parancsot használjuk.
py.test <filename>
Pytest Fixture: a Pytest Fixture a kód futtatására szolgál a teszt módszer végrehajtása előtt, hogy elkerülje a kód ismétlését. Ezt alapvetően az adatbázis-kapcsolat inicializálására használják.
megadhatja PyTest lámpatest az alábbiak szerint.
@pytest.fixture
állítás: az állítás az a feltétel, amely igaz vagy HAMIS értéket ad vissza. A teszt végrehajtása leáll, ha az állítás sikertelen.
Az alábbiakban egy példa:
def test_string_equal():assert double(55) == 62assert 25 == 62+ where 25 = double(55)
Link az API-hoz: Pytest API
letöltési Link: Pytest
#3) Unittest
- az Unittest az első Python-alapú automatizált egységteszt keretrendszer, amelyet a Python szabványos könyvtárral való együttműködésre terveztek.a
- támogatja a tesztruhák és a tesztszervezés újrafelhasználását.
- a JUnit ihlette, és támogatja a tesztautomatizálást, beleértve a tesztgyűjteményeket, a teszt függetlenségét, a tesztek beállítási kódját stb.
- ez is nevezik PyUnit.
- Unittest2 egy backport további új funkciók hozzá a Unittest.
a Unittest Standard munkafolyamata:
- importálja a Unittest modult a programkódba.
- megadhatod a saját osztályodat.
- hozzon létre függvényeket a megadott osztályon belül.
- hely unittest.main (), amely a kód alján található fő módszer a tesztesethez.
példa:
import unittest //Import unittest module//def add(x,y): return x + yclass Test(unittest.TestCase): //Define your class with testcase// def addition(self): self.assertEquals(add(4,5),9)<strong>//Function inside class//if __name__ == '__main__': unittest.main()<strong>//Insert main() method//
képernyőkép referenciaként:
csomagok / módszerek:
módszer | munka |
---|---|
setup() | a tesztelési módszer végrehajtása előtt hívott a teszt telepítésének előkészítéséhez. |
tearDown () | a vizsgálati módszer végrehajtása után hívott, még akkor is, ha a teszt kivételt dob. |
setUpClass () | az egyes osztályok tesztjei után hívott. |
tearDownClass() | az egyes osztályok tesztjei után hívott. |
run() | futtassa a tesztet az eredményekkel. |
debug () | futtassa a tesztet eredmény nélkül. |
addTest () | adja hozzá a vizsgálati módszert a tesztcsomaghoz. |
Discover() | megtalálja az összes tesztmodult az alkönyvtárakban az adott könyvtárból. |
assertEqual(a,b) | két objektum egyenlőségének tesztelésére. |
asserTrue/asserthamse(feltétel) | a logikai állapot teszteléséhez. |
(Megjegyzés: unittest.mock() egy könyvtár Python tesztelés, amely lehetővé teszi cseréje rendszer részei ál objektumokat. A core mock osztály segít könnyen létrehozni egy tesztcsomagot.)
Link az API – hoz: Unittest API
letöltési Link: Unittest
#4) DocTest
- a Doctest egy modul, amely a Python szabványos disztribúciójában szerepel, és a White-box egység tesztelésére szolgál.
- interaktív python munkameneteket keres, hogy ellenőrizze, hogy pontosan úgy működnek-e, ahogy szükséges.
- olyan szelektív Python képességeket használ, mint a docstrings, a Python interactive shell és a Python introspection (az objektumok tulajdonságainak meghatározása futásidőben).
- alapvető funkciók:
- a docstring frissítése
- regressziós tesztelés végrehajtása
- a testfile() és a testmod() függvényeket használják az alapvető interfész biztosítására.
példa:
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 rif __name__ == "__main__": import doctest //Import doctest doctest.testmod() //Calling the testmod method
képernyőkép referenciaként:
csomagok / funkciók:
Function | Parameters |
---|---|
doctest.testfile() | filename (mendatory) |
doctest.testmod() | m]
|
doctest.DocFileSuite() | *paths, |
doctest.DocTestSuite() |
Note: A szöveges fájl interaktív példáinak ellenőrzéséhez használhatjuk a testfile() függvényt;
doctest.testfile ("example.txt”)
közvetlenül futtathatja a tesztet a parancssorból;
python factorial.py
Link az API-hoz: DocTest API
letöltési Link: Doctest
#5) Nose2
- a nose2 a nose utódja, és egy Python-alapú unit testing keretrendszer, amely képes doctests és UnitTests futtatására.
- Nose2 alapul unittest ezért nevezik extend unittest vagy unittest a plugin, amely célja az volt, hogy a tesztelés egyszerű és könnyebb.
- az orr a unittest kollektív tesztjeit használja.testcase és több funkciót támogat a tesztek és kivételek írásához.
- a Nose támogatja a csomagelemeket, osztályokat, modulokat és a komplex inicializálást, amelyeket egyszerre kell meghatározni a gyakori írás helyett.
példa:
from mynum import *import nosedef test_add_integers(): assert add(5, 3) == 8def test_add_floats(): assert add(1.5, 2.5) == 4def test_add_strings(): nose.tools.assert_raises(AssertionError, add, 'paul', 'carol') // To throw one of the expected exception to passif __name__ == '__main__': nose.run()
képernyőkép referenciaként:
csomagok / módszerek:
Method | Parameters | Working |
---|---|---|
nose.tools.ok_ | (expr, msg = None) | Shortcut to assert. |
nose.tools.ok_ | (a,b, msg = None) | Shortcut to ‘assert a==b, “%r != %r” % (a, b) |
nose.tools.make_decorator | (func) | To replicate metadata for the given function. |
nose.tools.emel | (*kivétel) | , hogy dobja az egyik várható kivételek át. |
orr.eszközök.időzített | (limit) | annak az időtartamnak a meghatározása, amelyen belül a tesztnek át kell mennie. |
orr.eszközök.with_setup | (setup=None, teardown=None) | beállítási módszer hozzáadása egy tesztfüggvényhez. |
orr.eszközök.intest | (func) | módszer vagy funkció lehet nevezni teszt. |
orr.eszközök.nottest | (func) | módszer vagy funkció nem nevezhető tesztnek. |
Link az API-hoz: Plugins for Nose2
letöltési Link: Nose2
#6) bizonyságot tesz
- tanúvallomást az unittest és az orr helyettesítésére tervezték. Tanúskodni fejlettebb funkciók felett unittest.
- tanúskodni népszerű, mint a Java végrehajtása szemantikai tesztelés (könnyen megtanulható és végrehajtási szoftvertesztelés specifikáció).
- az automatizált egység, az integráció és a rendszer tesztelése könnyebb tanúskodni.
Jellemzők
- egyszerű szintaxis a lámpatest módszer.
- rögtönzött tesztfelfedezés.
- Class-level setup and teardown fixture method.
- bővíthető plugin rendszer.
- könnyen kezelhető tesztelési segédprogramok.
példa:
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 = Noneif __name__ == "__main__":run()
képernyőkép referenciaként:
csomagok / módszerek:
Csomag neve | Working | csomag import |
---|---|---|
assert | átfogó tesztelési eszközöket biztosít a rendszer teszteléséhez. | Importálás “github.com/stretchr/testify/assert” |
mock | hasznos az objektumok és hívások teszteléséhez. | Importálás “github.com/stretchr/testify/mock” |
require | ugyanúgy működik, mint az állítás, de leállítja a teszt végrehajtását, ha a tesztek sikertelenek. | import “github.com/stretchr/configure/require” |
suite | logikát biztosít a tesztkészlet szerkezetének és módszereinek létrehozásához. | Importálás “github.com/stretchr/testify/suite” |
Link az API-hoz: a tanúvallomások Csomagfájljai letöltési Link: tanúvallomás
további Python tesztelési keretrendszer
eddig áttekintettük a legnépszerűbb Python tesztelési keretet. Kevés olyan név van ezen a listán, amely a jövőben népszerűvé válhat.
#7) viselkednek
- viselkednek nevezik BDD (Behavior Driven Development) test framework, amely szintén használják a fekete doboz tesztelés. A viselkedés a természetes nyelvet használja a tesztek írásához, és Unicode karakterláncokkal működik.
- viselkedj könyvtár olyan funkciófájlokat tartalmaz, amelyek egyszerű szöveges formátumúak, úgy néznek ki, mint a természetes nyelv és a Python lépés implementációk.
Link az API-hoz: viselkedj Felhasználói útmutató
letöltési Link: viselkedj
#8) saláta
- a saláta hasznos Viselkedésvezérelt fejlesztési teszteléshez. Egyszerűvé és skálázhatóvá teszi a tesztelési folyamatot.
- a saláta olyan lépéseket tartalmaz, mint:
- viselkedés leírása
- lépések meghatározása Pythonban.
- a kód futtatása
- Kód módosítása a teszt teljesítéséhez.
- a módosított kód futtatása.
- ezeket a lépéseket 3-4 alkalommal követik, hogy a szoftver hibamentes legyen, és ezáltal javítsa annak minőségét.
Link az API – hoz: saláta dokumentáció
letöltési Link: saláta
Gyakran Ismételt Kérdések és válaszok
vessünk egy pillantást a témával kapcsolatos leggyakoribb GYIK-re –
Q #1) Miért használják a Python-t az automatizáláshoz?
válasz: mivel a ‘Python olyan eszközökkel és könyvtárakkal érkezik, amelyek támogatják a rendszer automatizált tesztelését’, számos más oka is van annak, hogy a Python-t tesztelésre használják.
- a Python objektum-orientált és funkcionális, amely lehetővé teszi a programozók számára, hogy megállapítsák, hogy a függvény és az osztályok megfelelnek-e a követelményeknek.
- Python kínál gazdag könyvtár hasznos csomagok tesztelésére telepítése után’Pip’.
- az állapot nélküli függvények és az egyszerű szintaxis hasznosak az olvasható tesztek létrehozásához.
- a Python játssza a híd szerepét a teszt eset és a tesztkód között.
- Python támogatja a dinamikus kacsa gépelés.a
- jól konfigurált IDE-t és jó támogatást nyújt a BDD keretrendszerhez.
- a gazdag parancssori támogatás hasznos a kézi ellenőrzés elvégzéséhez.
- egyszerű és jó struktúra, modularitás, gazdag eszközkészlet és csomagok hasznosak lehetnek a skála fejlesztéséhez.
Q # 2) Hogyan kell strukturálni egy Python tesztet?
válasz: mire létrehoz egy tesztet a Pythonban, két dolgot kell figyelembe vennie az alábbiak szerint.
- a rendszer melyik modulját / részét szeretné tesztelni?
- milyen típusú tesztelést választasz (unit testing vagy integration testing)?
a Python teszt általános felépítése olyan egyszerű, mint mások, ahol a tesztek összetevőit, például a bemeneteket, a végrehajtandó tesztkódot, a kimenetet és a kimenet összehasonlítását a várt eredményekkel határozzuk meg.
Q # 3) melyik automatizálási eszköz van Pythonban írva?
Answer: a Buildout egy automatizálási eszköz, amelyet Python-ban írtak és bővítettek, és a szoftver összeszerelésének automatizálására használják. A Buildout minden szoftverfázisra alkalmazható a fejlesztéstől a telepítésig.
Ez az eszköz 3 alapelven alapul:
- ismételhetőség: azt állítja, hogy az ugyanabban a környezetben kifejlesztett projektkonfigurációnak ugyanazt az eredményt kell eredményeznie, függetlenül azok előzményeitől.
- Componentization: a Szoftverszolgáltatásnak magában kell foglalnia az önellenőrző eszközöket, és konfigurálnia kell a felügyeleti rendszert a termék telepítése közben.
- automatizálás: a szoftver telepítésének nagymértékben automatizáltnak és időtakarékosnak kell lennie.
Q # 4) használható-e a Python szelénnel?
válasz: igen. A Python nyelvet a szelénnel használják a tesztelés elvégzéséhez. Python API hasznos csatlakozni a böngésző segítségével szelén. Python szelén kombináció lehet használni, hogy írjon funkcionális / elfogadási tesztek segítségével szelén WebDriver.
Q # 5) a szelén Python jó?
válasz: számos oka van annak, hogy a Selenium és a Python jó kombinációnak tekinthető:
- a Selenium rendelkezik a legerősebb eszközkészlettel a gyors teszt automatizálás támogatására.
- a Selenium dedikált tesztfunkciókat kínál a webes alkalmazás teszteléséhez, amely segít megvizsgálni a valós alkalmazás viselkedését.
- míg a Python egy magas szintű, objektum-alapú és felhasználóbarát szkriptnyelv, egyszerű kulcsszószerkezettel.
Most, amikor a szelént Pythonnal használjuk, számos előnye van az alábbiak szerint.
- könnyen kódolható és olvasható.
- Python API rendkívül hasznos csatlakozni, hogy a böngésző a Selenium.
- a Selenium szabványos Python parancsot küld a különböző böngészőknek, függetlenül a tervezési variációktól.
- a Python viszonylag egyszerű és kompakt, mint a többi programozási nyelv.
- Python jön egy nagy közösség, hogy támogassa azokat, akik teljesen új használni szelén Python elvégzésére automatizálási tesztelés.
- ez ingyenes és nyitott programozási nyelv minden alkalommal.
- Selenium WebDriver egy másik erős oka a Selenium Python. A Selenium WebDriver erős kötési támogatással rendelkezik a Python egyszerű felhasználói felületéhez.
Q # 6) milyen intézkedésekkel lehet kiválasztani a legjobb Python tesztelési keretet?
válasz: A legjobb Python tesztelési keret kiválasztásához az alábbi pontokat kell figyelembe venni:
- Ha a szkriptek minősége és szerkezete megfelel a céljainak. A programozási szkriptnek könnyen érthetőnek/karbantarthatónak és hibáktól mentesnek kell lennie.
- a Python programozási struktúrája fontos szerepet játszik a tesztelési keretrendszer kiválasztásában – attribútumok, állítások, függvények, operátorok, modulok és szabványos könyvtárfájlok.
- milyen könnyen generálhat teszteket és milyen mértékben lehet újra felhasználni őket?
- a teszt/teszt modul végrehajtásához alkalmazott módszer (modul futási technikák).
Q # 7) Hogyan válasszuk ki a legjobb Python tesztelési keretet?
válasz: az egyes keretrendszerek előnyeinek és korlátainak megértése jobb módja a legjobb Python tesztelési keretrendszer kiválasztásának. Nézzük felfedezni –
Robot Framework:
előnyök:
- kulcsszó-vezérelt teszt megközelítés segít létrehozni olvasható vizsgálati esetek könnyebb módon.
- több API
- Easy test data syntax
- támogatja a párhuzamos tesztelést a Selenium Grid segítségével.
korlátozások:
- testreszabott HTML jelentések létrehozása meglehetősen trükkös Robot.
- kevesebb támogatás a párhuzamos teszteléshez.
- Python 2.7.14 vagy újabb verzióra van szükség.
Pytest:
előnyök:
- támogatja a kompakt tesztcsomagot.
- nincs szükség hibakeresőre vagy explicit tesztnaplóra.
- több berendezési tárgyak
- bővíthető plugins
- egyszerű teszt létrehozása.
- lehetséges kevesebb hibával rendelkező tesztesetek létrehozása.
korlátozások:
- nem kompatibilis más keretrendszerekkel.
Unittest:
előnyök:
- nincs szükség további modulra.
- könnyű megtanulni a tesztelők kezdő szinten.
- egyszerű és egyszerű teszt végrehajtása.
- gyorsteszt jelentés generálása.
korlátozások
- snake_case elnevezése Python és camelCase elnevezése JUnit okoz egy kis zavart.
- a tesztkód nem egyértelmű szándéka.
- igényel hatalmas mennyiségű boilerplate kódot.
Doctest:
előnyök:
- jó lehetőség kis tesztek elvégzésére.
- a módszeren belüli Tesztdokumentáció további információkat nyújt a módszer működéséről.
korlátozások
- csak a nyomtatott kimenetet hasonlítja össze. A kimenet bármilyen változása teszthibát okoz.
orr 2:
előnyök:
- az orr 2 több tesztelési konfigurációt támogat, mint az unittest.
- ez tartalmaz egy jelentős sor aktív plugin.
- különböző API unittest, amely több információt a hiba.
korlátozások:
- harmadik féltől származó bővítmények telepítése közben telepítenie kell a telepítő eszközt/terjesztési csomagot, mivel a Nose2 támogatja a Python 3-at, de nem harmadik féltől származó bővítményeket.
bizonyságot:
előnyök:
- könnyen érthető és használható.
- egység, integrációs és Rendszertesztek könnyen létrehozhatók.
- kezelhető és újrafelhasználható tesztkomponensek.
- új funkciók hozzáadása a Testifyis-hez egyszerű.
korlátozások:
- kezdetben a bizonyságot az unittest és a Nose helyettesítésére fejlesztették ki, de a pytestbe való átszállítás folyamata be van kapcsolva, ezért a felhasználóknak ajánlott elkerülni a bizonyságot néhány közelgő projektnél.
viselkedj keretrendszer:
előnyök:
- könnyű végrehajtása minden típusú vizsgálati esetek.
- részletes érvelés & gondolkodás
- A QA/Dev kimenet egyértelműsége.
korlátozások:
- csak a fekete doboz tesztelését támogatja.
saláta keret:
előnyök:
- egyszerű nyelv több teszt forgatókönyv létrehozásához.
- hasznos viselkedésvezérelt tesztesetekhez a fekete doboz teszteléséhez.
korlátozások:
- erősen szüksége van a fejlesztők, tesztelők közötti erős koordinációra& érdekeltek.
kiválaszthatja a legmegfelelőbb Python tesztelési keretet a fenti előnyök és korlátozások figyelembevételével, amelyek segítenek az üzleti igényeinek megfelelő kritériumok kidolgozásában.
Q # 8) melyik keretrendszer a legjobb a Python automatizáláshoz?
válasz: Figyelembe véve az előnyöket és korlátokat, a tesztelési típust a legjobb tesztelési keretrendszer kiválasztásának egyik intézkedéseként tekinthetjük:
- funkcionális tesztelés: Robot, PyTest, Unittest
- Viselkedésvezérelt tesztelés: viselkedj, saláta
Robot a legjobb keret azok számára, akik újak a Python tesztelésben, és szilárd kezdést szeretnének elérni.
következtetés
alegység, Trial, Test resources, Sancho, Testtools néhány további nevek hozzá a listát a Python Testing Framework. Azonban csak néhány olyan eszköz létezik, amelyet népszerűsítettek, mivel a Python tesztelés egy viszonylag új koncepció, amelyet a tesztelési világban vezetnek be.
a vállalatok azon dolgoznak, hogy ezeket az eszközöket jobban megértsék és teszteljék. A gazdag és pontos osztály berendezési tárgyak, plugins és csomagok ezek az eszközök válhat jól ismerik, és előnyös végző Python tesztelés.
eközben a fent említett keretrendszerek a unittest-től a Tanúvallomásig sok szükséges támogatást és szolgáltatást nyújtanak a tervezett rendszer teljesítményének eléréséhez.