Upload
radoslaw-smilgin
View
5.519
Download
0
Embed Size (px)
DESCRIPTION
Wprowadzenie do automatyzacji testowania aplikacji web 2.0
Citation preview
Automatyzacja Testowaniaw WEB 2.0
Wojciech Pająk, Radosław SmilginXXIV Jesienne Spotkania PTIWisła, 20-24 października 2008
testerzy.pl
• 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
Agenda
• 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.
Czym jest automatyzacja testów?
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
• 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)
Stosowane weryfikatory
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
Testy funkcjonalne
• Odwzorowanie działań użytkownika (UI)
O
• Wywoływanie zmian stanu elementów, zdarzeń (DOM)
W
• Wykonywanie tych samych testów na różnych przeglądarkach i ich wersjach
Testy niefunkcjonalne
• Obciążenie (ilość użytkowników)
O
• Wydajność (czas przetwarzania żądań, zasoby)
W
• Bezpieczeństwo
Testy użyteczności (?)
T
Automatyzacja testów aplikacji WEB 2.0
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
• 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
Co automatyzować?
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
• 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
Automatyzacja – dobre praktyki
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
• HTML, DOM
• HTTP
• Podstawy programowania obiektowego (.NET, Java)
• Podstawy testów jednostkowych (NUnit, JUnit)
Wymagane umiejętności testerów Web 2.0
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)
M
• 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)
R
• 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
• Wspólne API dla Internet Explorer 6 i 7, Firefox 2 i 3
• Konieczna odpowiednia konfiguracja przeglądarek
WebAii™.Przeglądarki
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)
P
• 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 UIZał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)
i
• Wyszukiwanie zawężone (np. po elementach określonego typu: tabela, div)
t
• Wyszukiwanie przy użyciu Language Integrated Query (LINQ)
W
• Wzorce dla często występujących elementów
• Serializacja/Deserializacja (identyfikacja elementów w plikach XML)
p
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)
s
• 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)
j
• 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)
A
• 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)
j
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
XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
Przykłady użycia narzędzi• WebAii
• Selenium
Dziękuję za uwagęWięcej informacji na:http://www.artoftest.com/webaiifxproduct.aspxhttp://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