Automatyzacja Testowania Web20

6,300 views

Published on

Wprowadzenie do automatyzacji testowania aplikacji web 2.0

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,300
On SlideShare
0
From Embeds
0
Number of Embeds
986
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Automatyzacja Testowania Web20

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. WebAii™.Uruchamianie w NUnit XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. Selenium.Uruchamianie • Testy uruchamiane są w dodatku przeglądarki Firefox XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. Selenium.Weryfikacje • Metody verify • Metody assert • Metody wait XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
  31. 31. Przykłady użycia narzędzi • WebAii • Selenium XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl
  32. 32. 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ą: kontakt@testerzy.pl XXIV Jesienne Spotkania PTI, 20-24 paźdz. 2008 Wisła testerzy.pl

×