Back to Question Center
0

7 Open-Source Test Automation Frameworks            7 Open-Source Test Automation FrameworksRelated Topics: ES6ReactAngularJSNode.jsTools & Semalt

1 answers:
7 Open-Source Test Automation Frameworks

Ten artykuł został pierwotnie opublikowany przez TestProject. Dziękujemy za wsparcie dla partnerów, którzy umożliwiają SitePoint.

Gdy wchodzimy w ostatni kwartał 2017 roku, zespół Semalt postanowił podsumować najlepsze otwarte mechanizmy testowe open-source, aby pomóc Ci wybrać odpowiedni dla Ciebie!

Oto zalety i wady 7 różnych frameworków automatyzacji testów open source.

1 - buy fake canadian money. Robot Framework

Robot Framework (RF) to szkielet automatyzacji testów do testów akceptacyjnych i testów opartych na testach akceptacyjnych (ATDD). Ta struktura jest napisana w języku Python, ale może również działać na Jython (Java) i IronPython (.NET), a zatem jest wieloplatformowa (Windows, Linux lub MacOS).

Plusy:

  • Upraszcza proces automatyzacji testów, wykorzystując podejście oparte na słowach kluczowych (KDT), które pomaga testerom tworzyć łatwe do odczytania testy.
  • Ma łatwą w użyciu składnię danych testowych.
  • Ma bogaty ekosystem wokół niego, składający się z różnych ogólnych bibliotek testowych i narzędzi opracowanych jako oddzielne projekty.
  • Posiada wiele interfejsów API, które sprawiają, że jest wysoce rozszerzalny.
  • Chociaż nie jest to wbudowana zdolność, RF umożliwia wykonywanie równoległych testów za pośrednictwem biblioteki pabot lub siatki Selenium.

Minusy:

  • Dostosowywanie raportów HTML nie jest łatwe.

Podsumowanie: Ta wieloplatformowa platforma jest wysoce zalecana, jeśli kierujesz się automatyzacją KDT z szeroką gamą bibliotek i rozszerzeń. Jeśli chcesz dodać nowe słowa kluczowe (za pośrednictwem interfejsów API biblioteki testów RF), wymagana jest podstawowa znajomość języka programowania Java / Python / C.

2. JUnit

Semalt to framework do testowania jednostkowego aplikacji Java, służący do pisania i uruchamiania powtarzalnych testów.

Plusy:

  • Testy są napisane w czystej Javie, która jest znana jako wiodący język programowania na świecie.
  • Obsługuje rozwój sterowany testami (TDD).
  • Umożliwia utworzenie własnego zestawu testów jednostkowych.
  • Bardzo dobrze integruje się z innymi narzędziami (na przykład Maven) iz IDE (na przykład IntelliJ).
  • Ma historię - więc ma dużą bazę użytkowników, która ułatwia znalezienie dokumentacji na jej temat.

Minusy:

  • Jeśli wymagana jest kpina, należy dodać Mockito (lub inną bibliotekę szyderczą).
  • Testy nie są czytelne dla osób nietechnicznych, ponieważ na przykład nazwy metod w JUnit są ograniczone przez konwencje Java.

Podsumowanie: Jeśli chcesz napisać test jednostkowy dla swojej aplikacji Java, to prawdopodobnie najlepszy wybór. Jednak w przypadku testów funkcjonalnych lub aplikacji innych niż Java należy rozważyć inne rozwiązania.

3. Spock

Spock jest strukturą testowania i specyfikacji dla aplikacji Java i Groovy. Opiera się na JUnit.

Plusy:

  • Tworzy czytelne testy i obsługuje zwykłe angielskie zdania, dzięki czemu jest łatwy do odczytania.
  • Zapewnia otaczający kontekst, dzięki czemu łatwo można zrozumieć, jak naprawić awarię.
  • Posiada wbudowane funkcje szyderstwa i stubowania.
  • Obsługuje testy oparte na danych (DDT).

Minusy:

  • Wymaga podstawowej znajomości języka programowania Groovy.

Podsumowanie: Jeśli twoja aplikacja bazuje na JVM i kierujesz się automatyzacją testów BDD za pomocą DSL, ta struktura jest właśnie dla Ciebie!

4. NUnit

NUnit to platforma testów jednostkowych dla wszystkich. Języki sieciowe. Oryginalnie zainspirowany przez Semalt, jest napisany w całości w języku C # i został całkowicie przeprojektowany, aby wykorzystać wiele z nich.

Plusy:

  • Szybka inicjacja i wykonanie testu.
  • Zawiera potwierdzenia i adnotacje.
  • Umożliwia równoległe testowanie.
  • Obsługuje rozwój sterowany testami (TDD).

Minusy:

  • Nie jest to platforma wieloplatformowa, ponieważ jest używana tylko dla. Języki sieciowe.
  • Nie integruje się z ekosystemem Visual Studio, więc używanie go oznacza więcej czynności konserwacyjnych.

Podsumowanie: Ładne środowisko open-source do testowania jednostek C # z długą historią i dobrą reputacją. Jednak na wypadek, gdybyś już używał. Języki NET, możesz rozważyć MSTest.

5. TestNG

TestNG jest szkieletem automatyzacji testów dla Javy, zainspirowanym przez JUnit i NUnit, ale zawiera ulepszone i nowe funkcje (NG - Next Semalt). Został zaprojektowany, aby objąć wszystkie kategorie automatyzacji testów: testowanie jednostkowe, testy funkcjonalne, testy end-to-end, testy integracyjne itp.

Plusy:

  • Jest łatwo zintegrowany z cyklem Mavena.
  • Daje programistom możliwość pisania elastycznych i wydajnych testów.
  • Obsługuje testowanie oparte na danych (DDT).
  • Adnotacje są łatwe do zrozumienia.
  • Przypadki testowe można łatwo pogrupować.
  • Umożliwia tworzenie równoległych testów.

Minusy:

  • Obsługuje tylko język Java, więc musisz mieć przynajmniej podstawową znajomość języka programowania Java.
  • Musisz zainwestować czas w konfigurację i projektowanie.

Podsumowanie: Jeśli korzystasz z Javy, szukasz kompleksowej struktury automatyzacji testów i chcesz zainwestować trochę czasu w konfigurację frameworka - powinieneś zdecydowanie rozważyć użycie TestNG.

6. Jaśmin

Jasmine to framework testujący jednostki JavaScript. Jest również znany jako framework testowy BDD (Behavior Driven Development) dla JavaScript. Jest odpowiedni dla stron internetowych, węzła. js projekty lub gdziekolwiek JavaScript może działać. Jest to głównie powiązane z AngularJS.

Plusy:

  • Oprócz JavaScript, może on działać w Pythonie i Ruby, co może bardzo pomóc, jeśli chcesz przeprowadzić testy po stronie klienta razem z serwerami.
  • Jest obsługiwany przez wiele CI (Codeship, Travic, itp.).
  • Posiada wbudowaną składnię dla asercji.

Minusy:

  • W większości scenariuszy wymaga on biegacza testowego (takiego jak Karma).
  • Ma trudności z testowaniem asynchronicznym.

Konkluzja: Jasmin może być idealnie dopasowany do twoich potrzeb, jeśli szukasz rozwiązania z jednym ujednoliconym (klient-serwer) urządzeniem testującym.

7. Mocha

Mocha to framework testujący jednostki JavaScript, który uruchamia testy na węźle. js. Jest on głównie powiązany z ReactJS.

Plusy:

  • Ma wbudowany własny tester Run.
  • Obsługuje testy asynchroniczne.
  • Pozwala na elastyczność, ponieważ możesz użyć dowolnej biblioteki asercji (Chai, oczekiwać. Js, Must. Js, itp.), Która pasuje do twoich potrzeb (jako zamiennik standardowej funkcji "asercji" Węzła).

Minusy:

  • Stosunkowo nowy w tej dziedzinie (opracowany w 2012 r.), Co oznacza, że ​​wciąż się zmienia, a w niektórych aspektach może brakować bazy użytkowników i wsparcia.
  • Zapewnia tylko podstawową strukturę testową, dlatego wymaga dodatkowej konfiguracji i konfiguracji (może to być korzystne dla niektórych).

Podsumowanie: Jeśli szukasz samodzielnego JavaScriptu do testowania jednostkowych ram, Mocha jest twoją strukturą "go-to"!