Nietypowe podejście do automatyzacji w systemie
Transkrypt
Nietypowe podejście do automatyzacji w systemie
ATF Nietypowe podejście do automatyzacji w systemie rozproszonym Daniel Dec [email protected] Architektura SUT GUI Browser REST API Devices POST FS-GUI services REST API Application services Data Access DB GET REST API Module N Założenia ATF • zewnętrzne narzędzie (instalacja) • dane wejściowe – transakcje/operacje biznesowe • zbieranie danych stanu systemu – dane wyjściowe • bezstanowość • prędkość wykonywania • synchroniczność Założenia ATF • DSL (Domain Specific Language) - warstwa abstrakcji • reużywalność kroków • unifikacja i generowanie transakcji • wynik testu przez porównanie stanów Stan systemu - dane referencyjne • walidacja poprawności danych wejściowych ze specyfikacją • odpowiedzi serwisów REST • filtrowanie za pomocą XSLT • śledzenie operacji bazy danych • porównanie logów (syslog, alarmy) Śledzenie zmian bazy danych Raport testów • elementy raportu • statusy wyniku • różnicowy • aktualizacja danych referencyjnych (przykłady) Retrospektywa #1 • szersza perspektywa • przeźroczystość systemu • utrzymywanie danych referencyjnych • prędkość wykonywania vs deterministyczność • typy asercji (ewolucja) Architektura SUT - przypomnienie GUI Browser REST API Devices POST FS-GUI services REST API Application services Data Access DB GET REST API Module N Wysokopoziomowa architektura Typy i rodzaje testów • testy modułowe • testy integracyjne • testy przekrojowe (e2e) • sanity checks • testy GUI Generatory • szablony .ejs • modele danych • unifikacja • generatory zapytań REST Wysokopoziomowy proces Retrospektywa #2 • elastyczność i możliwość rozszerzania • agregacja wielu narzędzi • narzędzie dla całego zespołu • wpółdzielony kod • całościowe rozwiązanie - wsparcie dla wielu poziomów testów (urządzenie przykład) Główne narzędzia Python, VM tools, Jenkins, TestLink, SQL database tracking, Sublime (+plugin intellisense), lettuce, Selenium, RedHat (...) Pytania? Daniel Dec [email protected] Daniel Dec [email protected] Dziękuję