automated exploratory tests

20
© 2010 Cognifide Limited. In commercial confidence only. © 2010 Cognifide Limited. In commercial confidence only. Automatyczne Testy Eksploracyjne Zbyszek Moćkun

Upload: zbyszek-mockun

Post on 25-May-2015

564 views

Category:

Documents


1 download

DESCRIPTION

Presentaton from testwarez

TRANSCRIPT

Page 1: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Automatyczne Testy Eksploracyjne

Zbyszek Moćkun

Page 2: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Rozwój testów automatycznych w projektach aplikacji webowych

Cel prezentacji

Page 3: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Kilka słów o procesie i środowisku

Wstęp

Page 4: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Metodyki, projekty, …

• Metodyki Agile: SCRUM, Kanban

• Release’y

• Brak czasu na testy regresji

• Natłok pracy pod koniec sprintu

• Środowisko ciągłej integracji

• Aplikacje webowe

• Systemy Zarządzania Treścią (CMS)

• Średnie i małe projekty

• Brak czasu i środków na automatyzację w projektach

Metodyki Projekty

Page 5: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Standardowe podejście do automatyzacji

Automatyczne Testy Funkcjonalne

Page 6: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Cykl życia testów automatycznych

Uruchom

Zarządzaj

Ulepszaj

Napisz skrypt automatyczny

Napisz TC

Page 7: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Plusy i Minusy

• Pokrycie

• Brak duplikacji testów podczas regresji

• Testowana jest funkcjonalość

• Czas potrzebny na stworzenie testów funkcjonalnych

• Koszt

• Najpierw inwestyjemy, później czekamy na zwrot

• Zależności między testami

• Tylko zdefiniowana funkcjonalnośc jest testowana

Page 8: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Proces ewolucji testów automatycznych

Automatyczne Testy Eksploracyjne

Page 9: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Co powinniśmy testować

Dwie perspektywy:

Użytkownik Klient

Page 10: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Aspekty

Narzędzie CI

Klient

Statystyki

Użytkownik

Wygląd Funkcjonalność Szybkość

Page 11: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Szukając symptomów

„Symptom is a departure from normal function or feeling which is noticed by a patient, indicating the presence of disease or

abnormality.”

http://wikipedia.org

Page 12: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Symptomy

Błąd

Wygląd

Treść

Kod HTML

Błędy JavaScript

Błędna odpowiedź

serwera (404)Analiza

Statystyk Serwisu

Walidatory (W3C)

Obrazki / style

Analiza linków

Strategia URL

Page 13: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Dane referencyjne

• Wcześniejsza wersja aplikacji• Zapisane dane referencyjne• Inne wersje tej samej aplikacji (różne serwery)• Pobieranie/porównywanie danych jako parametr

Wygląd Treść Kod

HTMLPerformance

Page 14: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Roboty

• Skrypty, które poszukują symptomów

• Ten sam skrypt dla różnych projektów

• Narzędzia/skrypty

Błędy JScript

Odpowiedź Serwera

(404)

Walidatory (HTLM, CSS)

Analiza Statystyk Serwisu

Analiza linków

Strategia URL

Wczytane obrazki/

style

Page 15: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Czym są Automatyczne Testy Eksploracyjne?

Wiele różnych definicji:• Odtwarzanie testów eksploracyjnych wykonanych ręcznie

• Połączenie testów automatycznych z manualnymi

• Automatyzacja niektórych kroków

• Testowanie aplikacji z użyciem generatorów danych

• W ogóle nie są możliwe z uwagi na czynnik ludzki

Page 16: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Czym są Automatyczne Testy Eksploracyjne?

Testy wspomagające testowanie eksploracyjne, niekoniecznie oparte na scenariuszu testowym, wyszukujące miejsca w których mogą występować błędy, pozwalająca na zbadanie aplikacji szybciej i dogłębniej lub przetestowanie miejsc nie dostępnych dla człowieka.

„Automated Tests do not provide complete information. They provide partial information that might be useful”

Cem Kaner

Page 17: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Automatyczne Testy Eksploracyjne - plusy

• Jedno narzędzie− Gromadzące wszystkie symptomy

− Dla wszystkich projektów

− Szybkość wprowadzenia do projektu

− Łatwość zarządzania zmianą

• Nie wymagają dogłębnej znajomości aplikacji, wspomagają proces uczenia

• Integracja z narzędziami CI

• Silne rozwiązanie w powiązaniu z automatycznymi testami funkcjonalnymi

• Testy migracji

Page 18: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Automatyczne Testy Eksploracyjne - przykład

Page 19: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Narzędzia

• Selenium II/WebDriver

• Komparatory (ImageMagick)

• Walidatory (W3C)

• Performance (JMeter, Proxy)

• Serwery Proxy (BrowserMob)

• Firefox/Firebug (NetExport, ConsoleExport, JS Console output redirector)

• HAR Viewer (http://www.softwareishard.com/har/viewer/)

Page 20: Automated Exploratory Tests

© 2010 Cognifide Limited. In commercial confidence only.© 2010 Cognifide Limited. In commercial confidence only.

Pytania