Ogórek - przegląd

Aby uzyskać lepsze korzyści z testowania oprogramowania, organizacje robią obecnie krok naprzód. Wdrażają ważne scenariusze testów akceptacyjnych, podczas gdy rozwój jest w toku. To podejście jest powszechnie znane jakoBehavior Driven Development (BDD).

Behavior Driven Development daje nam możliwość tworzenia skryptów testowych zarówno z perspektywy dewelopera, jak i klienta. Tak więc na początku programiści, kierownicy projektów, QA, testerzy akceptacji użytkowników i właściciel produktu (akcjonariusz) zbierają się razem i zastanawiają, które scenariusze testowe należy przejść, aby oprogramowanie / aplikacja zakończyło się sukcesem. W ten sposób tworzą zestaw scenariuszy testowych. Wszystkie te skrypty testowe są w prostym języku angielskim, więc służy również do celów dokumentacji.

Przykład

Jeśli opracowujemy funkcję uwierzytelniania użytkownika, poniżej może być kilka kluczowych scenariuszy testowych, które muszą zostać zaliczone, aby można było nazwać to sukcesem.

  • Użytkownik powinien być w stanie zalogować się przy użyciu poprawnej nazwy użytkownika i prawidłowego hasła.

  • Użytkownik nie powinien mieć możliwości zalogowania się przy użyciu nieprawidłowej nazwy użytkownika i prawidłowego hasła.

  • Użytkownik nie powinien mieć możliwości zalogowania się przy użyciu poprawnej nazwy użytkownika i nieprawidłowego hasła.

Jak to działa

Do czasu, gdy kod jest gotowy, gotowe są również skrypty testowe. Kod musi przejść testy skrypty zdefiniowane w BDD. Jeśli tak się nie stanie, konieczna będzie refaktoryzacja kodu. Kod zostaje zawieszony dopiero po pomyślnym wykonaniu zdefiniowanych skryptów testowych.

To bardzo prosta koncepcja, ale potrzebujemy tego, aby ta koncepcja została wdrożona. Odpowiedzią jest Framework Behavior Driven Development (BDD). Jednym z takich narzędzi typu open source jest Cucumber, które wspiera rozwój oparty na zachowaniu. Mówiąc dokładniej, Cucumber można zdefiniować jako platformę testową opartą na prostym angielskim tekście. Służy jako dokumentacja, testy automatyczne i pomoc rozwojowa - wszystko w jednym.

Więc co robi ogórek? Można to opisać w następujących krokach -

Cucumber czyta kod napisany zwykłym angielskim tekstem (Language Gherkin - do wprowadzenia w dalszej części tego samouczka) w pliku funkcji (do wprowadzenia później).

Znajduje dokładne dopasowanie każdego kroku w definicji kroku (plik kodu - szczegóły podane w dalszej części samouczka).

Fragment kodu do wykonania mogą być różnymi strukturami oprogramowania, takimi jak Selenium, Ruby on Railsitp. Nie każde narzędzie frameworkowe BDD obsługuje każde narzędzie.

Stało się to przyczyną popularności Cucumber w porównaniu z innymi frameworkami, takimi jak JBehave, JDave, Easyb, itp.

Cucumber obsługuje kilkanaście różnych platform oprogramowania, takich jak -

  • Ruby on Rails
  • Selenium
  • PicoContainer
  • Spring Framework
  • Watir

Zalety ogórka w porównaniu z innymi narzędziami

  • Cucumber obsługuje różne języki, takie jak Java.net i Ruby.

  • Działa jako pomost między językiem biznesowym a technicznym. Możemy to osiągnąć, tworząc przypadek testowy w postaci zwykłego tekstu w języku angielskim.

  • Pozwala na napisanie skryptu testowego bez znajomości jakiegokolwiek kodu, pozwala również na zaangażowanie nie-programistów.

  • W przeciwieństwie do innych narzędzi służy on do kompleksowego środowiska testowego.

  • Dzięki prostej architekturze skryptów testowych Cucumber zapewnia możliwość ponownego wykorzystania kodu.