Aplikacje internetowe stały się niezbędne dla firm poszukujących zaawansowanych sposobów łączenia się z docelową grupą docelową w świecie cyfrowym i służenia jej. Biorąc pod uwagę znaczenie aplikacji internetowych w dzisiejszych operacjach biznesowych, niezależnie od branży, należy je wszechstronnie przetestować, aby zapewnić użytkownikom najwyższy poziom obsługi.
Testowanie automatyzacji przyspiesza cykl życia oprogramowania. Ponadto, po przyjęciu podejścia Behavior Driven Development (BDD) do rozwoju, różni interesariusze, tacy jak programiści, zespoły kontroli jakości i zespoły niezwiązane z technologią, mogą aktywnie współpracować w projekcie.
Scenariusze są pisane w oparciu o oczekiwane zachowanie oprogramowania i jest testowane w celu sprawdzenia, czy pasuje do wymienionych scenariuszy.
Źródło obrazu
Te scenariusze są udokumentowane przy użyciu języka specyficznego dla domeny, takiego jak Gherkin. W każdym scenariuszu testowym konstrukcje języka naturalnego składające się z małych wyrażeń podobnych do języka angielskiego są używane do opisu zachowania i oczekiwanego wyniku aplikacji. Odbywa się to za pomocą dedykowanego narzędzia programowego, takiego jak Cucumber, które umożliwia wykonywanie automatycznych testów akceptacyjnych napisanych w Gherkin.
Co to jest Cucumber?
Cucumber to platforma testowa typu open source, która wspiera programowanie oparte na zachowaniu do automatyzacji testowania aplikacji internetowych. Testy są najpierw napisane w prostym scenariuszu, który opisuje oczekiwane zachowanie systemu z perspektywy użytkownika.
Ogórek, używany głównie do testów akceptacyjnych, jest napisany w języku Ruby, podczas gdy testy są napisane w korniszonie, język nietechniczny i czytelny dla człowieka.
Testowanie ogórków i selenu: podejście oparte na współpracy
Podczas gdy zautomatyzowane testy selenu zwiększają dokładność i szybkość cyklu rozwoju, Cucumber dodaje dodatkową przewagę do niego, co czyni go bardziej opartym na współpracy dla nietechnicznych interesariuszy zarządzania. Powszechnie korzystne dla testów akceptacji przez użytkowników, gdzie scenariusze testów są w dużej mierze zależne od zachowania, Cucumber wzmacnia testowanie automatyzacji.
Cucumber Framework
Cucumber Framework składa się głównie z trzech głównych części – pliku funkcji, Definicje kroków i plik testowy.
Plik funkcji
Samodzielna jednostka lub pojedyncza funkcja (taka jak login) dla projektu może być nazywana funkcją. Każda z tych funkcji będzie miała scenariusze, które należy przetestować przy użyciu Selenu zintegrowanego z Cucumber. Plik, który przechowuje dane o funkcjach, ich opisach i scenariuszach do przetestowania, nazywany jest plikiem funkcji.
Testy ogórków są zapisywane w tych plikach funkcji, które są przechowywane z rozszerzeniem – „.feature” . Plik funkcji może mieć opis, aby dokumentacja była bardziej czytelna.
Przykład:
Funkcja logowania na stronie internetowej
Nazwa pliku funkcji: userLogin .feature
Opis: Użytkownik powinien mieć możliwość zalogowania się po wprowadzeniu poprawnej nazwy użytkownika i hasła w odpowiednich polach. Użytkownik powinien zostać przekierowany na stronę główną, jeśli wprowadzona nazwa użytkownika i hasło są prawidłowe.
Słowa kluczowe takie jak GIVEN, WHEN i THEN używane do napisania testu w Cucumber nazywane są adnotacjami.
- GIVEN użytkownik przechodzi do strony logowania, otwierając przeglądarkę Firefox
- KIEDY użytkownik wprowadzi prawidłowe < nazwę użytkownika > I < hasło > wartości
- TO użytkownik jest kierowany do t Strona domowa
Definicje kroków
Teraz, gdy funkcje są zapisane w plikach funkcji, należy uruchomić kod powiązanego scenariusza. Aby dowiedzieć się, która partia kodu musi zostać uruchomiona dla danego scenariusza, pojawia się definicja kroków. Plik Steps Definitions przechowuje dane mapowania między każdym krokiem scenariusza zdefiniowanego w pliku funkcji a kodem do wykonania.
Step Definitions może używać zarówno poleceń Java, jak i Selenium dla funkcji Java napisanych w celu odwzorowania plik funkcji do kodu.
Przykład:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more