ATF – Nietypowe podejście do automatyzacji w systemie rozproszonym.

Post on 23-Jun-2015

340 views 0 download

description

Prezentacja Daniela Deca z Future Processing w ramach konferencji Testwarez 2014.

Transcript of ATF – Nietypowe podejście do automatyzacji w systemie rozproszonym.

ATFNietypowe podejście do automatyzacji

w systemie rozproszonym

Daniel Decddec@future-processing.com

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

Pytania?Daniel Decddec@future-processing.com

Daniel Decddec@future-processing.com