kontakt
MISJA

Dostarczać naszym klientom pra- ktycznej wiedzy pozwalającej optymalnie korzystać z nowo- czesnych technologii informa- tycznych i doskonalić proces wytwórczy.

TFP - Podstawy testowania dla pragmatyków

Szkolenie przeznaczone jest dla tych wszystkich, którzy chcą poznać arkana sztuki testowania i chcą, aby nabyta wiedza szybko zaczęła przynosić wymierne efekty. Dlatego też szkolenie stanowi połączenie skoncentrowanej teorii związanej z testowaniem (jeden dzień), wiedzy z zakresu projektowania użytecznych aplikacji (metodyka User-Centered Design) oraz dwudniowych warsztatów praktycznych z obszarów testów jednostkowych z elementami Test-Driven Development (TDD), testów integracyjnych i systemowych


Odbiorcy szkolenia:

Szkolenie przeznaczone jest dla testerów, programistów, liderów projektu, analityków jakości. Uczestnicy powinni posiadać podstawową wiedzę programistyczną. Bardzo przydatna jest umiejętność programowania w dowolnym języku strukturalnym lub obiektowym (np. w języku Java, C#, C++ ).


Czas trwania:

4 dni (zajęcia prowadzone są w formie wykładu połączonego z warsztatem).


Nabywane umiejętności:

  • Opanowanie podstawowej wiedzy z zakresu testowania oprogramowania
  • Umiejętność doboru właściwego sposobu testowania umożliwiającego szybkie i łatwe znajdowanie ważnych błędów
  • Zdolność do tworzenia efektywnej strategii testowania
  • Zapobieganie usterkom i awariom oprogramowania poprzez włączenie testowania w proces wytwórczy
  • Poznanie metod pozyskiwania wymagań z zakresu użyteczności, a w szczególności dokonania Analizy Kontekstu Użytkowania (ang. context of use analysis)
  • Zdolność do projektowania aplikacji z perspektywy użytkownika ( User-Centered Design)
  • Umiejętność przeprowadzenia testów użyteczności
  • Poznanie koncepcji Test-Driven Development (TDD) oraz sztuki pisania pragmatycznych testów jednostkowych
  • Biegłość w pisaniu testów z wykorzystaniem różnych narzedzi
  • Umiejętność optymalnego wykorzystywania obiektów typu Mock (zaślepka)
  • Sprawność w tworzeniu testów dla aplikacji o złożonej architekturze

Tematy ćwiczeń:

W celu utrwalenia wiedzy nabywanej podczas szkolenia, uczestnicy wykonują szereg ćwiczeń, obejmujących zakresem między innymi zagadnienia:

  • Analiza Kontekstu Użytkowania (ang. context of use analysis)
  • Projektowanie ergonomicznego interfejsu użytkownika
  • Testy jednostkowe
  • Tworzenie obiektów Mock (zaślepka)
  • Testowanie warstwy dostępu do danych (Testy DAO)
  • Testy w kontenerze
  • Testy interfejsu użytkownika aplikacji internetowej

Tematy zajęć:

Nowoczesne testowanie

  • Podstawy nowoczesnego testowania
    • Terminologia
    • Definicja testowania
    • Podstawy procesu testowania
    • Kluczowe tematy: zrozumienie ryzyka, modele testów i testowanie prewencyjne
  • Testowanie w różnych fazach cyklu wytwarzania oprogramowania
    • Modele procesu wytwarzania oprogramowania
    • Ekonomika testowania
    • Planowanie testowania
    • Testowanie komponentów
    • Testowanie integracyjne
    • Testowanie systemu
    • Testowanie właściwości
    • Testowanie akceptacyjne
    • Testowanie pielęgnacyjne
  • Planowanie testowania
    • Podstawy planowania testowania
    • Zrozumienie ryzyka i strategii testowania
    • Planowanie testów
    • Generalne zasady dobrego planowania
    • Wymiary planowania testów - testy: akceptacyjne, systemowe, integracyjne, modułowe
    • Wzorce Q-Patterns - problem ponownego użycia testów  
  • Testowanie wymagań
    • Sprawdzenie zgodności wymagań z celami
    • Walidacja zakresu wymagań poprzez sprawdzenie kompletności scenariuszy
  • Testowania - analiza
    • Cele testowania
    • Tworzenie list określających obszary wymagające przetestowania
    • Analiza wymagań
    • Analiza wymagań projektowych
    • Testowanie zmian i modyfikacji
  • Testowanie – projektowanie i implementacja
    • Zrozumienie architektury wspierającej testowalność
    • Podejmowanie decyzji projektowych w obszarze testowania
    • Dokumentowanie testowania: przypadki, dane, procedury projektowe
    • Wdrożenie przypadków testowych z uwzględnieniem kolekcji danych testowych i uwarunkowań środowiskowych
    • Szacowanie procesu testowania: kiedy testowanie uznać za zakończone?
  • Wykonywanie testów i raportowanie
    • Wykonywanie testów
    • Śledzenie i ocenianie rezultatów
    • Raportowanie statusu: gdzie jesteśmy w procesie testowania?
    • Jaki jest współczynnik ryzyka?

Sztuka tworzenia użytecznego oprogramowania

  • Definicje użyteczności i dziedziny pokrewne:
    • ergonomia
    • interakcja człowiek-komputer
    • inżynieria użyteczności
    • architektura informacji
    • projektowanie produktów
  • Użyteczność – zalecenia
    • Norma ISO 9126-1
    • Odnośne dyrektywy Unii Europejskiej
    • Heurystyki Jakoba Nielsena
  • Projektowanie oprogramowania z perspektywy użytkownika
    • Planowanie
      • Pierwsze kroki
      • Planowanie użyteczności
      • Spotkanie inicjujące
      • Analiza kontekstu użytkownika
      • Analiza konkurencji
    • Analiza
      • Wywiady
      • Wywiady grupowe
      • Analiza zadań użytkownika
      • Obserwacja
      • Grupowanie informacji - technika sortowania kart
      • Przypadki użycia
      • Profilowanie użytkowników – personalizacja
    • Projektowanie użytecznego Graficznego Interfejsu Użytkownika
      • Przygotowanie i rozwijanie dokumentu „User-Interface Guidelines” (Podręcznik projektowania interfejsu użytkownika) - zalecenia projektowe
      • Modelowanie Interfejsu Użytkownika
        • Normy
        • Model Przypadków Użycia
        • VOPC - Widok Uczestniczących Klas - klasy graniczne
        • Tworzenie Scenorysów (ang. storyboard)
        • Mapy nawigacyjne
        • Najczęściej popełniane błędy w procesie projektowania GUI
      • Tworzenie prototypów interfejsu użytkownika
    • Testowanie i ocena interfejsu użytkownika
      • Ocena heurystyczna
      • Inspekcje – listy kontrolne
      • Testy z udziałem użytkowników
  • Użyteczność jako skuteczny oręż walki konkurencyjnej

Pragmatyczny tester – warsztaty

  • Wprowadzenie do testów jednostkowych
    • Wprowadzenie do metodologii „eXtreme Programming”
    • Wprowadzenie do Test-Driven Development (TDD)
      • Continouos integration (Ciągła integracja)
      • Testy jednostkowe
    • Fundamenty TDD i XP: Testy jednostkowe, na przykładzie biblioteki JUnit
      • Budowa i cykl wykonania testu
      • Najnowsze trendy: Adnotacje w JUnit 4.0
      • Dobre praktyki przygotowania testów JUnit
      • Przykłady i ćwiczenie
  • Obiekty Mock (Zaślepki)
    • Problemy stosowania TDD we współczesnych projektach.
    • Wprowadzenie pojęcia zaślepki (Mock Object)
    • Tworzenie programowalnych zaślepek na przykładzie biblioteki EasyMock
      • Przykłady i ćwiczenia
    • Gotowe zaślepki popularnych usług i frameworków
      • Biblioteka Mockrunner
      • Przykłady użycia biblioteki Mockrunner dla JDBC, JNDI i Struts
      • Ćwiczenia
  • Testy warstwy dostępu do danych (Testy DAO)
    • Problemy testowania warstwy dostępu do danych.
      • Złożona integracja DAO z używanym API (Jdbc/Hibernate)
      • Przygotowanie danych testowych
    • Biblioteka DBUnit
      • Przykłady budowy testów jednostkowych warstwy DAO z wykorzystaniem rzeczywistej bazy danych wypełnianej danymi przy użyciu biblioteki DBUnit.
      • Ćwiczenie
    • Wykorzystanie HSQLDB i wsparcia Spring
      • Utrzymywanie stałego stanu bazy danych pomiędzy testami przy użyciu transakcji.
      • Przykłady testów DAO przy użyciu lekkiej bazy danych.
      • Ćwiczenie
  • Testy w kontenerze
    • Wprowadzenie do wykonania testów w kontenerze
    • Zaślepki czy testy w kontenerze?
    • Cactus Framework i biblioteka StrutsTestCase
      • Przykład testów akcji Struts realizowanych w kontenerze aplikacji
      • Ćwiczenie
  • Testy interfejsu użytkownika aplikacji WEB
    • Problemy przygotowania dobrych testów interfejsu użytkownika
      • „Zupa tagów” – problem z brudnym HTMLem
      • Biblioteki wspomagające analizowanie brudnego HTMLa
    • Prosta emulacja przeglądarki: Biblioteka HttpUnit
      • Przykład i ćwiczenie
    • Automatyzacja prawdziwej przeglądarki: narzędzia Watij i Sahi
      • Przykład automatyzacji przeglądarek przy użyciu Watij i Sahi
      • Porównanie narzędzi Watij i Sahi
      • Ćwiczenie z wykorzystaniem Watij.

Zalecane szkolenia poprzedzające:

  • brak

ISOLUTION © 2006