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ę 