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:

    1. Prowadzący nie będzie udostępniał prezentacji z wykładu. Na niniejszej stronie umieszczony zostanie plan każdego wykładu.
    2. 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.

    Ćwiczenia 2.

    • Nightwatch.js
      • Przed użyciem nightwatch.js należy pobrać i uruchomić serwer Selenium:
        1. Uruchomić cmd
        2. Przejść na dysk p: (pliigon): cd /d p:\
        3. Pobrać Selenium: wget http://goo.gl/PJUZfa
        4. Uruchomić Selenium: java -jar selenium-server-standalone-2.48.2.jar
      • Użycie nightwatch.js (zakładamy pracę w katalogu j:\nightwatch):
        1. Uruchomić cmd
        2. Zainstalować nightwatch.js: npm install nightwatch
        3. Utworzyć katalogi: mkdir j:\nightwatch\examples\tests j:\nightwatch\examples\custom-commands
        4. Przejść do katalogu: cd /d j:\nightwatch
        5. Stworzyć przykładowy test: notepad .\examples\tests\test.js
        6. 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).