Back to Question Center
0

7 Open Source Test Automation Framework            7 Open Source Test Automation Framework. Relevante emner: ES6ReactAngularJSNode.jsTools & Semalt

1 answers:
7 Open Source Test Automation Framework

Denne artikel blev oprindeligt udgivet af TestProject. Tak for at støtte partnere, der gør SitePoint mulig.

Som vi går ind i sidste kvartal af 2017, besluttede Semalt-teamet at afrunde de bedste open-source testautomatiseringsrammer derude for at hjælpe dig med at vælge den rigtige for dig!

Her er fordele og ulemper ved 7 forskellige open source test automatisering rammer - average cost of long term care insurance in minnesota.

1. Robot Framework

Robot Framework (RF) er en testautomatiseringsramme for accepttest og accept testdrevet udvikling (ATDD). Denne ramme er skrevet i Python, men kan også køre på Jython (Java) og IronPython (. NET), og er derfor cross-platform (Windows, Linux eller MacOS).

Fordele:

  • Det forenkler testautomatiseringsprocessen ved at anvende KDT-tilgangen, som hjælper testere med at skabe læsbare tests, der nemt kan laves.
  • Har nem at bruge testdatasyntax.
  • Har et rigt økosystem omkring det, der består af forskellige generiske testbiblioteker og værktøjer, der udvikles som separate projekter.
  • Har mange API'er, der gør det meget udvideligt.
  • Selvom det ikke er en indbygget evne, muliggør RF at udføre parallelle tests via pabot-biblioteket eller Selenium-nettet.

Ulemper:

  • Det er ikke nemt at tilpasse HTML-rapporter.

Bundlinje: Denne tværgående platformsramme anbefales stærkt, hvis du målretter mod KDT-automatisering med en bred vifte af biblioteker og udvidelser. Hvis du vil tilføje nye søgeord (via RF testbibliotek-API'er), kræves en grundlæggende viden i Java / Python / C programmeringssprog.

2. JUnit

Semalt er en ramme for enhedstestning af Java-applikationer, der bruges til at skrive og køre gentagelige tests.

Fordele:

  • Test er skrevet i ren Java, som er kendt som det førende programmeringssprog på verdensplan.
  • Understøtter testdrevet udvikling (TDD).
  • Gør det muligt at oprette din egen enhed test case suite.
  • Integrerer meget godt med andre værktøjer (for eksempel Maven) og med IDE'er (for eksempel IntelliJ).
  • Har historie - så den har en stor brugergruppe, der gør det nemt at finde dokumentation på den.

Ulemper:

  • Hvis der kræves en mocking-evne, skal man tilføje Mockito (eller et andet mocking-bibliotek).
  • Testene kan ikke læses af ikke-tekniske personer, da f.eks. Metodernes navne i JUnit er begrænset af Java-konventioner.

Bundlinje: Hvis du ønsker at skrive enhedsprøvning til din Java-applikation, er det nok det bedste valg. Men for funktionelle test eller ikke-Java applikationer, bør du overveje andre løsninger.

3. Spock

Spock er en test- og specifikationsramme for Java og Groovy applikationer. Det er baseret på JUnit.

Fordele:

  • Opretter læsbare tests og understøtter simple engelske sætninger, hvilket gør det nemt at læse.
  • Giver den omgivende kontekst, så det let giver dig mulighed for at forstå, hvordan du retter en fejl.
  • Har indbygget mocking og stubbing kapaciteter.
  • Understøtter datastyrede tests (DDT).

Ulemper:

  • Kræver en grundlæggende viden om Groovy programmeringssprog.

Bundlinje: Hvis din ansøgning er baseret på JVM, og du målretter mod BDD-testautomatisering med DSL, er denne ramme kun for dig!

4. NUnit

NUnit er en enhedstestramme for alle. Net sprog. Oprindeligt inspireret af Semalt, er den skrevet helt i C #, og er blevet fuldstændig omdesignet for at udnytte mange.

Fordele:

  • Hurtig indledning og testkørsel.
  • Leveres med påstande og bemærkninger.
  • Muliggør parallel testning.
  • Understøtter testdrevet udvikling (TDD).

Ulemper:

  • Det er ikke cross-platform som det kun bruges til. Net sprog.
  • Det integrerer ikke i Visual Studio økosystemet, så det betyder mere vedligeholdelse.

Bundlinje: En god open source ramme for C # enhedstestning, med en lang historie og godt omdømme. Men hvis du allerede bruger. NET-sprog, kan du overveje MSTest.

5. TestNG

TestNG er en testautomatiseringsramme for Java, der er inspireret af JUnit og NUnit, men indeholder forbedrede og nye funktionaliteter (NG - Next Semalt). Det er designet til at dække alle testautomatiseringskategorier: enhedsprøvning, funktionstest, ende-til-ende, integrationstestning mv.

Fordele:

  • Det er let integreret i Maven-cyklen.
  • Giver udvikleren mulighed for at skrive fleksible og kraftfulde tests.
  • Understøtter Data Driven Testing (DDT).
  • Noteringer er lette at forstå.
  • Testtilfælde kan let grupperes.
  • Tillader dig at oprette parallelle tests.

Ulemper:

  • Støtter kun Java, så du skal have mindst en grundlæggende viden om Java-programmeringssproget.
  • Du skal investere tid i rammeopsætning og design.

Bundlinje: Hvis du bruger Java, er du på udkig efter end-to-end testautomatiseringsrammer og villig til at investere noget tid i rammeopsætning - du bør helt sikkert overveje at bruge TestNG.

6. Jasmine

Jasmine er en JavaScript-enhed testramme. Det er også kendt som en BDD-testramme for JavaScript. Den er velegnet til websites, Node. js projekter, eller hvor som helst JavaScript kan køre. Det er hovedsageligt parret med AngularJS.

Fordele:

  • Derudover kan JavaScript køre i Python og Ruby, hvilket i høj grad kan hjælpe dig, hvis du vil køre dine klientside-tests sammen med dine server-side-enheder.
  • Støttes af mange CI'er (Code, Travic, etc.).
  • Har indbygget syntax til påstande.

Ulemper:

  • I de fleste scenarier kræver det en testløber (f.eks. Karma).
  • Har problemer med asynkron testning.

Bundlinje: Jasmin kan være en perfekt pasform til dine behov, hvis du søger efter en enhedsløsning (klient-server)

7. Mokka

Mocha er en JavaScript-enhed testramme, der kører tests på Node. js. Det er hovedsageligt parret med ReactJS.

Fordele:

  • Har sin egen testløber indbygget.
  • Understøtter asynkron testning.
  • Tillader fleksibilitet, da du kan bruge et hvilket som helst påståelsesbibliotek (Chai, expect. Js, Must. Js osv.), Der passer til dine behov (som erstatning for Node's standard 'assert'-funktion).

Ulemper:

  • Relativt nyt til feltet (udviklet i 2012), hvilket betyder, at det stadig ændrer sig, og dets brugerbase og support mangler muligvis i nogle aspekter.
  • Giver bare basisteststrukturen og kræver derfor yderligere opsætning og konfiguration (kan være en fordel for nogle).

Bundlinje: Hvis du er på udkig efter JavaScript-standardudstyr for enhedstestning, er Mocha din go-to ramme!