9 przykładów wykorzystania automatyzacji, które poprawią kondycję twoich newsletterów
ATF – Nietypowe podejście do automatyzacji w systemie rozproszonym.
Click here to load reader
-
Upload
future-processing -
Category
Technology
-
view
339 -
download
0
description
Transcript of ATF – Nietypowe podejście do automatyzacji w systemie rozproszonym.
Architektura SUT
REST API
Data AccessDB
FS-GUI services
REST API
Applicationservices
Module N
POST
GET
GUIBrowser Devices
REST API
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ład)
Retrospektywa #1• szersza perspektywa• przeźroczystość systemu• utrzymywanie danych referencyjnych• prędkość wykonywania vs deterministyczność• typy asercji (ewolucja)
Architektura SUT - przypomnienie
REST API
Data AccessDB
FS-GUI services
REST API
Applicationservices
Module N
POST
GET
GUIBrowser Devices
REST API
Wysokopoziomowa architektura
Typy i rodzaje testów
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
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 (+ biblioteki wspomagające)• VM tools• Jenkins• TestLink• SQL database tracking• Sublime (+plugin intellisense)• Lettuce• Selenium• RedHat