ZTAI UI1 (Testowanie aplikacji internetowych 1)

    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.

    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.

    • Tester vs QA
    • Zawód testera
    • Środowisko (ISTQB, SJSI, TestWarez, TestingCup, PTaQ)
    • Błąd, usterka, awaria
    • Przyczyny usterek
    • Cele testowania
    • Postawowe zasady testowania
    • Proces testowy
    • Tester w klasycznych modelach wytwarzania oprogramowania
      • Model kaskadowy
      • Model "V"
    • Poziomy testów
      • Testy jednostkowe (także Sonar)
      • Testy integracyjne
      • Testy systemowe
      • Testy akceptacyjne (także testy Alfa, Beta, A/B)

    Wykład 2.

    • Tester w zwinnych modelach wytwarzania oprogramowania (Agile)
      • Scrum (pojęcia: backlog, sprint, planning, demo, retro)
      • Kanban
    • Cynefin - klasyfikacja problemów
      • Metody postępowania (sekwencja)
      • Proste szacowanie (1. "Wiem, jak to zrobić", 2. ...)
      • Nauka i rozwój osobisty, firmy a bawura (reprezentacja w modelu)
    • Testy statyczne vs. testy dynamiczne
    • Techniki czarnoskrzynkowe projektowania testów
      • Podział na klasy równoważności
      • Analiza wartości brzegowych (BVA oraz Full BVA)
      • Techniki oparte na tablicach decyzyjnych (w tym redukcja)
      • Technika przejść między stanami (w tym pokrycie 0, 1 - przełącznikowe)
      • Analiza przypadków użycia

    Wykład 3.

    • Techniki białoskrzynkowe projektowania testów
      • Pokrycie instrukcji
      • Pokrycie decyzji
      • Pokrycie gałęzi
    • Techniki oparte na doświadczeniu
    • Zgadywanie błędów, atak usterkowy
    • Testy eksploracyjne
    • Sanity tests vs. smoke tests
    • Testy oparte na sesjach
      • Przegląd sesji testowych (debrief)
      • PROOF
    • Ryzyko projektowe - QA
    • Ryzyko produktowe - tester
    • Ryzyko = Wpływ * Prawdopodobieństwo
    • ROAM
    • Zarządzanie poziomami ryzyka

    Ćwiczenia 1.

    • Testowanie poprawności
      • Walidatory W3C
      • FireFox (Ctrl+Shift+n) i Firebug (F12) - konsola błędów, widok 3D, badanie i modyfikowanie elementu, zarządzanie ciasteczkami
      • Spell Checker - dodatek FireFox
      • Check My Links - dodatek Chrome
    • Testownie przenośności
    • Testownie wydajności (po stronie klienta)
    • Testowanie lokalizacji geograficznej

    Ćwiczenia 2.

    • Techniki czarnoskrzynkowe projektowania testów
    • Testowanie a logika
    • Google Analytics
      • Badanie profilu użytkownika i planowanie testów (poziom tworzenia aplikacji)
      • Testowanie konfiguracji analizatorów (poziom biznesowy - klient)
    • Praca nad zadaniem

    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.
      • Testy poprawności - wynik validatora, omówienie dwóch wybranych błędów
      • Testy wydajności (po stronie klienta) - wynik dowolnego skanera, omówienie dwóch parametrów
      • Testowanie lokalizacji geograficznej
        • GeoPeeker - wynik (screenshot)
        • GeoProxy - dwie lokalizacje (screenshot)
      • Raport z przebiegu sesji testowych (liczba sesji = liczebność zespołu)
        • Obszar testów - uzasadnienie wyboru (analiza ryzyka)
        • Należy wykorzystać poznane techniki czarnoskrzynkowe projektowania testów (wskazać)
        • Szczegółowy opis - kroki testera
        • Lista zidentyfikowanych usterek
        • PROOF
    • Deadline: Dokument należy przesłać w pliku PDF na adres e-mail prowadzącego (powyżej) w terminie do 11.12.2016 (godz. 23:59).