Automatyzacja Testowania w Web 2.0

Komentarze

Transkrypt

Automatyzacja Testowania w Web 2.0
Automatyzacja Testowania
w WEB 2.0
Wojciech Pająk, Radosław Smilgin
XXIV Jesienne Spotkania PTI
Wisła, 20-24 października 2008
testerzy.pl
Agenda
• Wprowadzenie do automatyzacji testowania
• Technologie WEB 2.0
• Narzędzia do automatyzacji
• Przykłady
• Podsumowanie
XXIV Jesienne Spotkaia PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Czym jest automatyzacja testów?
• Symulacja działań użytkownika
• Identyfikacja elementów i wykonywanie na nich akcji
• Weryfikacja zdarzeń
• Logowanie błędów
• Raportowanie wyników
Automatyczny test jest tylko tak dobry, jak zawarte w
nim instrukcje weryfikujące.
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Stosowane weryfikatory
• Asserty (twierdzenia)
• Porównywanie zrzutów ekranowych okien lub wybranych
elementów strony
• Porównywanie stanów elementów strony
• Pomiar czasu
• Pomiar zużycia zasobów (serwer, przeglądarka)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Automatyzacja testów aplikacji WEB 2.0
Testy funkcjonalne
• Odwzorowanie działań użytkownika (UI)
• Wywoływanie zmian stanu elementów, zdarzeń (DOM)
• Wykonywanie tych samych testów na różnych
przeglądarkach i ich wersjach
Testy niefunkcjonalne
• Obciążenie (ilość użytkowników)
• Wydajność (czas przetwarzania żądań, zasoby)
• Bezpieczeństwo
Testy użyteczności (?)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Co automatyzować?
• Testy, które są wykonywane często
• Testy, które są trudne do wykonania ręcznie
• Testy, które trwają długo
• Testy, które są wykonywane równolegle
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Kiedy unikać automatyzacji?
• Testy są wykonywane rzadko
• Wyniki testów są trudne do zweryfikowania
automatycznie (np. kolory)
• Programy podlegające testowaniu ulegają częstym
zmianom
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Automatyzacja – dobre praktyki
• Organizacja testów
• Testy przygotowują warunki i „sprzątają” po sobie
• Używanie sprawdzonych weryfikacji
• Używanie negatywnych scenariuszy w testach
• Używanie różnych środowisk testowych
• Regularne wykonywanie testów
• Raportowanie i dystrybucja wyników
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Najważniejsze Technologie WEB 2.0
• XHTML
• AJAX/JavaScript
• SOAP
• XUL
• Webservices
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Wymagane umiejętności testerów Web 2.0
• HTML, DOM
• HTTP
• Podstawy programowania obiektowego (.NET, Java)
• Podstawy testów jednostkowych (NUnit, JUnit)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Popularne, darmowe narzędzia
Automatyzacja testów funkcjonalnych
• WebAii™ Automation Framework
• Selenium
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™ Automation Framework
• Darmowa biblioteka .NET, .NET framework 3.5
• Automatyzacja testów funkcjonalnych aplikacji internetowych
• Można zastosować do testów wydajnościowych (performance)
• Wsparcie dla ASP .NET
• Zawiera przykłady w C# i VB .NET
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Technologie
Biblioteka dedykowana do testów aplikacji Web 2.0
• Rich Internet Applications (RIA)
• AJAX
• ASP .NET
• Obsługa ramek
• Obsługa okien dialogowych i pop-upów
• Pełen dostęp do struktury DOM
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Przeglądarki
• Wspólne API dla Internet Explorer 6 i 7, Firefox 2 i 3
• Konieczna odpowiednia konfiguracja przeglądarek
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Środowisko
•
•
•
•
NUnit lub Visual Studio Team System
.NET framework 3.5, Visual Studio C# Express 2008
Primary Interop Assemblies (PIA)
Firebug, Internet Explore Developer Toolbar
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Uruchamianie w NUnit
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Metodyka automatyzacji
• Kontrola przeglądarki
• Automatyzacja DOM
• Metody get pozwalające odczytać stan elementów
• Automatyzacja UI
Założenia:
Element zawsze musi być widoczny
Desktop -> Mouse, KeyBoard, Metoda GetRectangle() dla
każdego elementu DOM
Podejście to można także stosować do okienek Win32
Sprawdza się doskonale przy „drag & drop” – trudne do
wykonania w DOM
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Wyszukiwanie elementów
• Notacja skrótowa
• Wyszukiwanie po zawartości (Content, np. kiedy nie ma
innych atrybutów, lub ich wartości są dynamiczne)
• Wyszukiwanie zawężone (np. po elementach określonego typu:
tabela, div)
• Wyszukiwanie przy użyciu Language Integrated Query (LINQ)
• Wzorce dla często występujących elementów
• Serializacja/Deserializacja (identyfikacja elementów w
plikach XML)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Akcje
• Klikanie elementów
• Akcje myszy na elementach
• Zaznaczanie/odznaczanie check boxów i radio buttonów
• Wywoływanie zdarzeń, np. OnClick, OnFocus
• Wykonywanie zrzutów ekranowych
• Wybieranie z elementów typu „drop down”
• Wykonywanie drag & drop
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Klasa HtmlWait
Oczekiwanie na:
• stan kontrolki HTML (visible/not visible)
• zmianę stylu
• spełnienie lub nie dowolnego warunku
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Test Regions
• Logiczna segmentacja
• Niższe koszty utrzymania testów
• Wyizolowanie testów
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Ajax/JavaScript
• Synchronizacja
• Wywoływanie JavaScript
• Obsługa „drag & drop”
• Prawdziwa interakcja z interfejsem graficznym aplikacji
(mysz, klawiatura)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
WebAii™.Integracja
• Konfiguracja .NET
• Logowanie
• VSTS unit testing framework, gotowe template’y
• NUnit, template w VS
• Biblioteka utworzona w .NET – możliwa integracja z dowolną
aplikacją .NET
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium
• Darmowy dodatek do przeglądarki Firefox (2 i 3)
• Automatyzacja testów funkcjonalnych aplikacji internetowych
• Możliwość nagrywania testów
• Zapis testów w formacie HTML, eksport do popularnych
języków programowania (m.in. C# i Java)
• Uruchamianie testów na wielu platformach i przeglądarkach
jednocześnie
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Przeglądarki
• Aktualnie wsparcie jedynie dla przeglądarki Firefox w
wersji 2 i 3
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Uruchamianie
• Testy uruchamiane są w dodatku przeglądarki Firefox
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Metodyka automatyzacji
• Kontrola przeglądarki
• Metody wait pozwalające na warunkowe oczekiwanie
• Metody store pozwalające odczytywać parametry elementów
• Automatyzacja DOM (składnia)
• Instrukcja – Element aplikacji – Wartość
• Click – loginButton – label=‘Login’
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Wyszukiwanie elementów
• Wyszukiwanie po id, typach, xpath, name
• Filtrowanie elementów
• Możliwość nagrywania testów
• Zapis testów w formacie HTML, eksport do popularnych
języków programowania (m.in. C# i Java)
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Akcje
• Klikanie elementów
• Akcje myszy na elementach
• Zaznaczanie/odznaczanie check boxów i radio buttonów
• Wywoływanie zdarzeń, np. OnClick, OnFocus
• Wybieranie z elementów typu „drop down”
• Wykonywanie drag & drop
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Selenium.Weryfikacje
• Metody verify
• Metody assert
• Metody wait
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Przykłady użycia narzędzi
• WebAii
• Selenium
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl
Dziękuję za uwagę
Więcej informacji na:
http://www.artoftest.com/webaiifxproduct.aspx
http://selenium.openqa.org
Pytania?
Chętnie odpowiemy na Państwa zapytania drogą elektroniczną:
[email protected]
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła
testerzy.pl

Podobne dokumenty