Realizacja aplikacji internetowych Narzędzia, Testy automatyczne aplikacji WWW
Narzędzia Firebug IE developer tools Chrome Developer Tools Fiddler YSlow PageSpeed
Testowanie aplikacji WWW Testy jednostkowe Testy integracyjne Testy funkcjonalne
Testowanie funkcjonalne Można je zrealizować stosunkowo łatwo w oparciu o Sikuli Selenium Test Complette, Fitness Rhino + env.js
Testowanie integracyjne Dla uproszczenia można wołać metody kontrolerów (osadzonych w środowisku wykonawczym) z pominięciem GUI/JavaScript Aby pominąć część problemów związanych ze stanem bazy danych można wykorzystać np. SQLLite zamiast rzeczywistej bazy (warstwa bazy danych/ORM pozostanie niemal bez zmian)
Selenium
Selenium Google Chrome 12.0.712.0+ Internet Explorer 6, 7, 8, 9 - 32 and 64-bit where applicable Firefox 3.0, 3.5, 3.6, 4.0, 5.0, 6, 7 Opera 11.5+ HtmlUnit 2.9 Android – 2.3+ for phones and tablets (devices & emulators) iOS 3+ for phones (devices & emulators) and 3.2+ for tablets (devices & emulators)
Selenium IDE Plugin do FF Nagrywanie testksport do C# B. dobre narzędzie edukacyjne
Selenium Zasadniczy problem przy złożonych testach – identyfikacja elementów stony przy dynamicznie generowanych ID Np.: Asp, ExtJS Wzorzec Page Objects – dodatkowa warstwa izolująca logikę tesu od implementacji strony
Sikuli - projekty Wsparcie dla rozpoznawania obrazów Silnik skryptowy w pythonie – można pisać kod w .NET i użyć IronPythona Można je wykorzystac do skryptowania i/lub testowania dowolnych aplikacji Wada: wrażliwy na zmianę wyglądu (CSS/skalowanie)
Sikuli - projekty
Definiowanie funkcjonalności BDD TDD – definiujemy najpierw testy potem piszemy kod BDD – definiujemy najpierw zachowanie – potem kod NACISK położony na czytelność opisu (testów) Cucomber ma porty dla 30 języków i platform w tym: Java, .Net
Cucomber - scenariusz
Cucomber – podstawowe definicje
Cucomber – test nie przechodzi
Cucomber – troche wiecej kodu
Cucomber – i test przechodzi