Vyzkoušejte dvakrát - Test double - Wikipedia
v programování a počítačová věda, programátoři a vývojáři používají techniku zvanou automatické testování jednotek ke zvýšení kvality softwaru. Software pro konečné vydání se často skládá ze složité sady předměty nebo postupy vzájemnou interakcí za účelem vytvoření konečného výsledku. V automatizovaném testování jednotek může být nutné použít objekty nebo procedury, které vypadají a chovají se jako jejich protějšky určené k vydání, ale ve skutečnosti jde o zjednodušené verze, které snižují složitost a usnadňují testování. A test zdvojnásobit je obecný (meta) termín používaný pro tyto objekty nebo procedury.
Druhy zkušebních zdvojnásobení
Gerard Meszaros[1] identifikoval několik různých výrazů pro to, čemu říká: „Testujte čtyřhru.“ S využitím jeho slovní zásoby existuje nejméně pět typů testovacích čtyřhry:
- Zkušební útržek (používá se k poskytnutí testovaného kódu s „nepřímým vstupem“)
- Předstíraný objekt (slouží k ověření „nepřímého výstupu“ testovaného kódu, nejprve definováním očekávání před provedením testovaného kódu)
- Test špión (slouží k ověření „nepřímého výstupu“ testovaného kódu následným prosazováním očekávání, aniž by byla definována očekávání před provedením testovaného kódu. Pomáhá při zaznamenávání informací o vytvořeném nepřímém objektu)
- Falešný objekt (používá se jako jednodušší implementace, např. použití databáze v paměti v testech namísto skutečného přístupu k databázi)
- Fiktivní objekt (používá se, když je pro testovanou metodu potřeba parametr, ale aniž by bylo nutné parametr skutečně použít)
Ruční i automatizované testování černé skříňky z architektura orientovaná na služby systémy nebo mikroslužby vývojáři softwaru a testeři použijte testovací dvojice, které komunikují s testovaný systém přes síťový protokol.[2][3] Tyto testovací dvojice se nazývají různá jména v závislosti na prodejci nástroje. Běžně používaný termín je virtualizace služeb. Mezi další použitá jména patří Simulace API, Falešný API,[4] HTTP stub, HTTP mock, over the wire test double[5].[6]
Další formou testovací dvojky je Verified Fake, a Falešný objekt jehož chování bylo ověřeno tak, aby odpovídalo chování skutečného objektu pomocí sady testů, které fungují jak proti Verified Fake, tak proti skutečné implementaci.[7]
I když není otevřený standard pro test double a různé typy existuje hybná síla pro další používání těchto termínů tímto způsobem. Martin Fowler použil tyto výrazy ve svém článku, Mocks nejsou pahýly[8] s odkazem na Meszarosovu knihu. Microsoft také použil stejné výrazy a definice v článku nazvaném Zkoumání kontinua testů se zdvojnásobuje.[9]
Viz také
- Předstíraný objekt
- Testování softwaru
- Virtualizace služeb
- Porovnání simulačních nástrojů API
- Seznam rámců testování jednotek
- Objektově orientované programování
- Testovaný vývoj
Reference
- ^ Meszaros, Gerard (2007). Testovací vzory xUnit: Refactoring Test Code. Addison-Wesley. ISBN 978-0-13-149505-0.
- ^ Clemson, Toby „Testování strategií v architektuře mikroslužeb“, martinfowler.com, 18. listopadu 2014. Citováno dne 7. prosince 2017.
- ^ Byars, Brandone. "Testování mikroslužeb s Mountebank", Manning Publications, MEAP začal v březnu 2017. ISBN 9781617294778. Citováno dne 7. prosince 2017.
- ^ Bryant, Daniel „Nástroj API Mocking WireMock v2 vydán s vylepšeným párováním požadavků a správou pahýlů“, InfoQ, 16. srpna 2016. Citováno dne 7. prosince 2017.
- ^ ThoughtWorks „Technology Radar, Tools: Mountebank“, ThoughtWorks, Listopad 2015. Citováno dne 7. prosince 2017.
- ^ Bulaty, Wojciech „Rozdíly v potlačení, zesměšňování a virtualizaci služeb pro testovací a vývojové týmy“, InfoQ, 19. února 2016. Citováno dne 7. prosince 2017.
- ^ Turner-Trauring, Itamar (2019). "Rychlé testy pro pomalé služby: proč byste měli používat ověřené padělky". Citováno 2019-01-21.
- ^ Fowler, Martin (2007). "Mocks nejsou pahýly". Citováno 2010-12-29.
- ^ Seemann, Mark (2007). "Zkoumání kontinua testů se zdvojnásobuje". Citováno 2010-12-29.
externí odkazy
Gerard Meszaros:
Martin Fowler:
- TestDouble, 17. ledna 2006
Otevřený zdroj:
- ELF Spy - Fake and Spies in C ++
- Předstírej to - Mocks, Fakes and Spies in C ++
- Google Mock - Mocking v C ++
- jMock - Vyzkoušejte vývoj řízený pomocí Mocks
- Mockito - Mocking Framework pro Javu
- unittest.mock - Mocking s Pythonem