ZTAI UI2 (Testowanie aplikacji internetowych 2)
Celem przedmiotu jest zapoznanie studenta z teorią testowania systemów informatycznych ze szczególnym uwzględnieniem aplikacji internetowych. Omówione zostaną rodzaje i poziomy testów, metodologie i techniki testowania raz podstawy automatyzacji testów. W ramach ćwiczeń student przeprowadzi różne rodzaje testów dla aplikacji internetowych korzystając z wybranych darmowym narzędzi. Kontynuacja cyklu wykładów i ćwiczeń (ZTAI UI1).
Kontakt: josinski@amu.edu.pl
Dyżury: po wcześniejszym uzgodnieniu e-mailem.
Wybrane uwagi organizacyjne:
- Prowadzący nie będzie udostępniał prezentacji z wykładu. Na niniejszej stronie umieszczony zostanie plan każdego wykładu.
- Na ćwiczeniach studenci pracują indywidualnie.
Literatura dodatkowa:
- ISTQB Foundation level syllabus (po polsku, po angielsku),
- D. Graham et al.: Foundations of Software testing. ISTQB certification,
- J. Whittaker: How to Break Software,
- E. Hendrickson: Explore It! Reduce Risk and Increase Confidence with Exploratory Testing.
Wykład 1.
- Zgłaszanie usterki
- Wyrocznia testowa
- Heurystyki testowe
- Heuristics Cheat Sheet (Quality Tree Software)
- FCC CUTS VIDS (Michael Kelly)
- Typy testów
- Rodzaje testów niefunkcjonalnych
- Testy wydajnościowe po stronie użytkownika
- Testy wydajnościowe po stronie serwera
- Testy bezpieczeństwa
- Testy użyteczności
- Testy dostępności
- Testy niezawodności
- Testy pielęgnowalności
- Testy przenoszalności
Wykład 2.
- Testy wydajnościowe
- Pomiar czasu odpowiedzi
- Testy obciążeniowe
- Testy przeciążeniowe
- Testy soak
- Internet a testy przenośności
- Testy bezpieczeństwa - OWASP
- Top 10
- Testing Guide
- Przykłady
- Blind SQL Injection
- Cross-site Scripting (XSS)
- Brute Force Attack (m.in. 404 vs. 403)
- Użyteczność (usability)
- UX (User Experience)
- Usability vs. UX
- Sukces = Usability + UX
Wykład 3.
- Testy użyteczności
- Heurystyki Jakoba Nielsena
- Klasyfikacja Weinschenka i Barkera
- Testy dostępności
- Standard WCAG 2.0
- Poziomy dostępności - A-AAA
- Automatyzacja testów
- Zalety
- Wady
- Cechy dobrej automatyzacji
- Narzędzia "Record & Playback"
- Selenium Webdriver
- Cucumber
Ćwiczenia 1.
- Testownie dostępności
- Fiddler
- Postawy automatyzacji
Ćwiczenia 2.
- Nightwatch.js
- Przed użyciem nightwatch.js należy pobrać i uruchomić serwer Selenium:
- Uruchomić cmd
- Przejść na dysk p: (pliigon): cd /d p:\
- Pobrać Selenium: wget http://goo.gl/PJUZfa
- Uruchomić Selenium: java -jar selenium-server-standalone-2.48.2.jar
- Użycie nightwatch.js (zakładamy pracę w katalogu j:\nightwatch):
- Uruchomić cmd
- Zainstalować nightwatch.js: npm install nightwatch
- Utworzyć katalogi: mkdir j:\nightwatch\examples\tests j:\nightwatch\examples\custom-commands
- Przejść do katalogu: cd /d j:\nightwatch
- Stworzyć przykładowy test: notepad .\examples\tests\test.js
- Uruchomić test: nightwatch test.js
Zadanie
- Zadanie do realizacji w grupach 2-3 osobowych. Należy przygotować raport z testów zawierający następujące elementy
- Na potrzeby testów proszę wybrać złożony serwis, którego nazwa zaczyna się od pierwszej litery nazwiska jednej z osób w zepole.
- Fiddler - podmiana obrazka, proszę załączyć screenshot konfiguracji Fiddlera i zmienionej strony
- Selenium IDE - przygotowac suite zawierający 3 nietrywialne testy - proszę załączyć "kod" testów
- Nightwatch.js
- Test 1: wyszukanie strony serwisu w przeglądarce Google
- Test 2: otworzyć stronę serwisu i sprawdzić dostępność 3 elementów
- Proszę załączyć kod obu testów
- Proszę załączyć sreenshot konsoli prezentujący uruchomienie obu testów sekwencyjnie
- Deadline: Dokument należy przesłać w pliku PDF na adres e-mail prowadzącego (powyżej) w terminie do 31.12.2015 (godz. 23:59).