Wielu ekspertów mówi, że automatyzacja testów bez kodowania nie jest możliwa. Dla nas „niemożliwe” jest najlepszą motywacją do tego by spróbować.
Wyobraź sobie narzędzie skuteczniejsze od automatu testowego i wydajniejsze od testera manualnego. Wyobraź sobie narzędzie, który uruchomi automatyczną weryfikację po naciśnięciu pojedynczego przycisku. Wyobraź sobie przyszłość, gdzie każdy tester manualny może automatyzować efektywniej niż najbardziej efektywny programista. Musisz sobie to wszystko wyobrażać… bo takie narzędzie nie istnieje. Nie ma jeszcze skuteczności opisywanej powyżej, ale stoi za nim bardzo dobrze przemyślana koncepcja.
Dlaczego chcemy zrealizować ten projekt? Na rynku występuje deficyt automatyków testów oraz testerów manualnych. Pracujący w organizacjach testerzy są przeciążani, albo brak osób do testowania przekłada się na niższą jakość produktów dostarczanych na rynek. Jeśli uda nam się zbudować narzędzie, będziemy mogli odciążyć testerów i pomóc weryfikować (przynajmniej część) rzeczy automatycznie.
W pseudoautomatyzacji w oparciu o narzędzia nagrywająco-odtwarzające użytkownik rejestruje swoje działania w aplikacji. Poprawność generowania kodu sprawdza się po zakończeniu nagrywania skryptu.
W klasycznej automatyzacji pisanej „z palca” skrypty próbkują aplikację próbując przechodzić przez jej wybrane punkty aż do miejsca weryfikacji. W AutoMagicTest implementowana koncepcja ma prezentować się następująco:
- narzędzie dokonuje możliwie najpełniejszej analizy struktury oprogramowania i generuje jego „model”
- w ramach modelu możemy ujawnić pierwsze problemy automatycznie, a defekty ujawnione manualnie można oznaczyć i zaraportować
- scenariusze automatyczne buduje się poprzez wskazanie rozpoznanych automatycznie elementów aplikacji, a na końcu definiuje się weryfikator osiągnięcia lub też braku osiągnięcia celu.
Dzięki temu analizujemy znacznie więcej niż w klasycznej automatyzacji i robimy to bez znaczącego zaangażowania testera. Ta część analizy jest jedynie weryfikacją struktury więc z perspektywy biznesowej ma ograniczone znaczenie. Ma jednak dużą wartość dla testera, który może np. zweryfikować podatność aplikacji na automatyzację. Z drugiej strony osiągamy znacznie więcej niż w przypadku narzędzi nagrywająco – odtwarzających ponieważ podatność elementów aplikacji na automatyzację jest badana przed samym definiowaniem scenariuszy.
O autorze: Tester oprogramowania z 13-letnią praktyką. Twórca takich przedsięwzięć jak: testerzy.pl i TestingCup. Trener praktycznych szkoleń z testowania oprogramowania i zapewnienia jakości aplikacji. Akredytowany trener ISTQB Foundation Level oraz ISTQB Advanced Level. Niezależny konsultant i mentor zespołów testowych i zespołów wytwórczych w obszarze definiowania i redefiniowania procesów testowania oprogramowania. Autor licznych publikacji testerskich.