Cucumber Ramy: Co jest Cucumber?
โก Inteligentne podsumowanie
Cucumber to narzฤdzie testowe wspierajฤ ce Behavior Driven Development, pozwalajฤ ce kaลผdemu na czytanie testรณw, niezaleลผnie od wiedzy technicznej. Ten materiaล wyjaลnia, jak dziaลa BDD, poprzez kroki Given-When-Then, zalety Cucumberi jak wypada w porรณwnaniu z Selenium i HP ALM.

Czym jest Cucumber?
Cucumber to narzฤdzie testowe wspierajฤ ce Behavior Driven Development (BDD). Oferuje ono sposรณb pisania testรณw zrozumiaลych dla kaลผdego, niezaleลผnie od posiadanej wiedzy technicznej. W BDD uลผytkownicy (analitycy biznesowi, wลaลciciele produktรณw) najpierw piszฤ scenariusze lub testy akceptacyjne, ktรณre opisujฤ zachowanie systemu z perspektywy klienta, do przeglฤ du i zatwierdzenia przez wลaลcicieli produktรณw, zanim programiลci napiszฤ swรณj kod. Cucumber framework wykorzystuje Jฤzyk programowania Ruby.

Jak dziaลa BDD Cucumber Automatyzacja?
Zaลรณลผmy, ลผe Twoim zadaniem jest utworzenie moduลu przelewu ลrodkรณw w aplikacji bankowoลci internetowej.
Istnieje wiele sposobรณw na przetestowanie tego w Cucumber Struktura testowa:
- Przelew ลrodkรณw zostanie zrealizowany, jeลli na koncie ลบrรณdลowym znajduje siฤ wystarczajฤ ce saldo.
- Przelew ลrodkรณw zostanie zrealizowany, jeลli dane rachunku docelowego sฤ poprawne.
- Przelew ลrodkรณw zostanie zrealizowany, jeลli podane przez uลผytkownika hasลo transakcji, kod RSA lub uwierzytelnienie transakcji jest prawidลowe.
- Przelew ลrodkรณw powinien zostaฤ zrealizowany nawet jeลผeli przypada dzieล wolny od pracy.
- Przelew ลrodkรณw powinien zostaฤ zrealizowany w przyszลej dacie ustalonej przez posiadacza konta.
Scenariusz testowy staje siฤ bardziej rozbudowany i zลoลผony, gdy weลบmiemy pod uwagฤ dodatkowe cechy, takie jak kwota przelewu X na okres Y dni/miesiฤcy, zatrzymanie zaplanowanego przelewu, gdy ลฤ czna kwota osiฤ gnie Z, itd.
Ogรณlnฤ tendencjฤ programistรณw jest pรณลบniejsze rozwijanie funkcji i pisanie kodu testowego. Jak widaฤ w powyลผszym przypadku, Przypadek testowy rozwรณj tego scenariusza jest zลoลผony i deweloper bฤdzie odkลadaล Testy do czasu wydania, po czym zostanฤ przeprowadzone szybkie, ale nieskuteczne testy.
Aby przezwyciฤลผyฤ ten problem, Cucumber BDD (Rozwรณj oparty na zachowaniu) zostaล pomyลlany. Uลatwia caลy proces testowania dla programisty.
In Cucumber BDD, cokolwiek napiszesz, musi siฤ tam znaleลบฤ Biorฤ c pod uwagฤ-Kiedy-Wtedy Kroki. Rozwaลผmy ten sam przykลad powyลผej w BDD:
Given that a fund transfer module in net banking application has been developed And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account Or I shall transfer on a Bank Holiday Or I shall transfer on a future date And destination a/c details are correct And transaction password/RSA code/security authentication for the transaction is correct And press or click send button
Then amount must be transferred And the event will be logged in log file
Czyลผ nie jest ลatwy do napisania, przeczytania i zrozumienia? Obejmuje on wszystkie moลผliwe przypadki testowe dla moduลu transferu funduszy i moลผna go ลatwo modyfikowaฤ, aby uwzglฤdniฤ wiฤcej. Przypomina on rรณwnieลผ pisanie dokumentacji dla moduลu transferu funduszy.
Zalety Cucumber Oprogramowanie
- Pomocne jest zaangaลผowanie interesariuszy biznesowych, ktรณrzy nie majฤ ลatwego dostฤpu do kodu.
- Cucumber Narzฤdzie do testowania koncentruje siฤ na doลwiadczeniu uลผytkownika koลcowego.
- Styl pisania testรณw pozwala na ลatwiejsze ponowne wykorzystanie kodu w testach.
- Szybka i ลatwa konfiguracja i wykonanie.
- Cucumber narzฤdzie testowe jest skutecznym narzฤdziem do testowanie.
Cucumber vs Selenium przeciwko ALM
W tej sekcji przeanalizujemy rรณลผnicฤ miฤdzy Cucumber, Seleniumi ALM.
| Cucumber | HP ALM (QTP) | Selenium |
|---|---|---|
| Cucumber oprogramowanie jest bezpลatne. | QTP jest drogie. | Jest wolna. |
| Cucumber Oprogramowanie jest narzฤdziem programistycznym opartym na zachowaniach. | Jest to narzฤdzie do automatyzacji funkcji. | Jest to funkcjonalnoลฤ i wydajnoลฤ (Selenium Narzฤdzie testowe (Grid). |
| Wtyczka w Cucumber Narzฤdzie testowe dziaลa szybciej. | Wtyczki sฤ wolniejsze w porรณwnaniu do Cucumber oraz Selenium. | Wtyczki sฤ wolniejsze niลผ Cucumber. |
| Cucumber Framework obsลuguje rรณwnieลผ inne jฤzyki poza Ruby, takie jak: Java, Scala, Groovy, itp. | QTP obsลuguje tylko VB Script. | Selenium wspiera Java, .Net i wiele innych jฤzykรณw. |
| Tworzenie krokรณw automatyzacji jest wspรณlnym wysiลkiem testerรณw i programistรณw. | In QTP, tylko tester zapisuje kroki automatyzacji. | Jak Cucumber, pisanie krokรณw automatyzacji jest wspรณlnym wysiลkiem testerรณw i programistรณw. |
| Cucumber Narzฤdzie testowe obsลuguje wyลฤ cznie ลrodowisko internetowe. | Obsลuguje aplikacje internetowe, stacjonarne i dowolne aplikacje typu klient-serwer. | Obsลuguje wyลฤ cznie ลrodowisko sieciowe. |
Sprawdลบ rรณwnieลผ: - UFT vs Selenium: Rรณลผnica pomiฤdzy Selenium oraz HP UFT
