170 likes | 317 Vues
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 i ntegracyjne Testy funkcjonalne. Testowanie funkcjonalne.
E N D
Realizacja aplikacji internetowych Narzędzia, Testy automatyczneaplikacjiWWW
Narzędzia • Firebug • IEdeveloper 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 • Dlauproszczeniamożnawołaćmetodykontrolerów (osadzonych w środowiskuwykonawczym) z pominięciem GUI/JavaScript • Abypominąćczęśćproblemówzwiązanychzestanembazydanychmożnawykorzystaćnp. SQLLitezamiastrzeczywistejbazy (warstwabazydanych/ORM pozostanieniemalbezzmian)
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 • Nagrywanietestksport do C# • B. dobrenarzędzieedukacyjne
Selenium Zasadniczy problem przy złożonych testach – identyfikacja elementów stony przy dynamicznie generowanych ID Np.: Asp, ExtJS Wzorzec Page Objects – dodatkowawarstwaizolującalogikętesuodimplementacjistrony
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)
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