(Przypadki testowe

Transkrypt

(Przypadki testowe
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
Przypadki testowe
From Sęp
Spis treści
1 Wstęp
2 Plan testów
3 Testy bazy danych
4 Testy serwera
5 Testy aplikacji klienckiej
6 Testy interfejsu webowego
7 Testy integracyjne
8 Testy wydajności
8.1 Baza danych
8.2 interfejs webowy (serwer www)
8.3 Serwer gier
8.4 Aplikacja kliencka
Wstęp
Celem niniejszego dokumentu jest przedstawienie planu akceptacji dla poszczególnych elementów systemu oraz
dla systemu jako całości. Przedstawia on szereg testów mających na celu weryfikację zgodności modułów ze
specyfikacją oraz efektywności ich działania.
W przypadku wykrycia błedu w testach poszczególnych modułów (w punktach 1.-4.), naleŜy wprowadzić
odpowiednią poprawkę do systemu a następnie przeprowadzić ten test jeszcze raz. Wykrycie błędu w tescie
integracyjnym lub wydajnościowym (punkty 5.-6.) naleŜy po wprowadzeniu odpowiedniej poprawki do systemu
przeprowadzić wszystkie testy jeszcze raz. W ilościowych kryteriach akceptacji testów wydajnościowych
dopuszczalny jest sumaryczny margines błędu rzędu 25%.
Oprócz sprzętu i oprogramowania niezbędnego do wdroŜenia systemu, wymagane będą następujące zasoby:
1. Oprogramowanie emulujące kompatybilne urządzenia, zdolne do symulacji działań uŜytkownika i
komunikacji z serwerem przez sieć przewodową
2. Komputery połączone w sieć lokalną o łącznej mocy obliczeniowej zdolnej do uruchomienia 10000
instancji emulatora.
3. Oprogramowanie automatyzujące testy bazy danych, interfesju webowego i aplikacji klienckich poprzez
emulatory.
Plan testów
1.
2.
3.
4.
1z7
Testy bazy danych
Testy serwera
Testy aplikacji klienckiej
Testy interfejsu webowego
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
4. Testy interfejsu webowego
5. Testy integracyjne
6. Testy wydajności
Testy bazy danych
Cele:
Weryfikacja poprawności instalacji bazy danych oraz komunikacji baza danych-serwer.
Plan testu:
1. Sprawdzenie poprawności instalacji.
1. Wykonanie serii zapytań, które mógłby wykonać serwer interfejsu webowego, za pomocą
domyślnego narzędzia dostępowego zainstalowanego wraz z bazą danych, znajdującego się na tym
samym komputerze, co baza danych.
2. Sprawdzenie spójności wyników zapytań, zawartości tabel oraz oczekiwanych skutków zapytań.
2. Sprawdzenie poprawności połączenia.
1. Wykonanie serii zapytań, które mógłby wykonać serwer interfejsu webowego, za pomocą
domyślnego narzędzia dostępowego zainstalowanego wraz z bazą danych, znajdującego się na tym
samym komputerze, co serwer.
2. Sprawdzenie spójności wyników zapytań, zawartości tabel oraz oczekiwanych skutków zapytań, za
pomocą narzędzia dostępowego znajdującego się na tym samym komputerze, co baza danych.
3. Sprawdzenie poprawności komunikacji baza danych-serwer.
1. Wykonanie przez serwer wszystkich moŜliwych rodzajów zapytań, jakie mogą zostać wygenerowane
w trakcie działania systemu
2. Sprawdzenie spójności wyników zapytań, zawartości tabel oraz oczekiwanych skutków zapytań, za
pomocą narzędzia dostępowego znajdującego się na tym samym komputerze, co baza danych.
Testy serwera
1. Sprawdzenie łączności z bazą danych
2. Sprawdzenie poprawności przesyłania danych pomiędzy serwerem i bazą danych
3. Pierwsze uruchomienie rozgrywki testowej celem sprawdzenia:
1. Podłączenia do emulatorów
2. Rozłączenia
4. Drugie uruchomienie rozgrywki testowej celem sprawdzenia
1. Podłączenia do emulatorów
2. Poprawności przesłania swojej pozycji
3. Poprawności odebrania pozycji graczy
4. Rozłączenia
5. Trzecie uruchomienie rozgrywki testowej celem sprawdzenia
1. Podłączenia do emulatorów
2. Poprawności przesłania swojej pozycji
3. Poprawności odebrania pozycji graczy
4. Poprawności wysyłania komunikatów
5. Poprawności odebrania komunikatów
6. Rozłączenia
Testy aplikacji klienckiej
Cele:
2z7
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
Cele:
Sprawdzenie kompatybilności urządzeń z systemem poprzez uruchomienie gry testowej na 10 urządzeniach
(róŜnych producentów, róŜnych modelach) spełniających wymagania.
Zakładamy poprawne działanie komunikacji GPRS po stronie operatora komunikacyjnego.
Plan testu:
1. Sprawdzenie wyświetlania interfejsu:
1. Porównanie interfejsu wyświetlanego przez urządzenie z wzorcowym
2. Sprawdzenie podstawowej łączności z serwerem (moduł GPRS):
1. Nawiązanie połączenia z serwerem
2. Rozłączenie
3. Sprawdzenie systemu lokalizacji uczestników gry (moduł GPS)
1. Nawiązanie połączenia z serwerem
2. Przesłanie do serwera pozycji gracza
3. Przesłanie do urządzenia pozycji dwóch innych graczy
4. Rozłączenie
5. Zweryfikowanie poprawności przesłanych pozycji (na podstawie zarejestrowanego przebiegu
rozgrywki)
4. Sprawdzenie systemu przesyłania komend
1. Nawiązanie połączenia z serwerem
2. Przesłanie do serwera komendy
3. Odbiór komendy i jej wykonanie
4. Rozłączenie
5. Zweryfikowanie poprawności wykonania komendy (na podstawie zarejestrowanego przebiegu
rozgrywki)
Testy interfejsu webowego
Cele:
Sprawdzenie wyświetlania poprawnych danych na stronie www oraz poprawnej interakcji z uŜytkownikiem.
Plan testu:
1. Sprawdzenie wyświetlania interfejsu:
1. Porównanie wyświetlanego interfejsu z wzorcowym
2. Sprawdzenie moŜliwości administratora:
1. Stworzenie nowej gry
2. Stworzenie nowej rozrywki:
1. Przejście do ekranu rozgrywek
2. Przejście do ekranu dodawania rozgrywek
3. Wybór konkretnej gry z wyświetlonej listy gier
4. Wprowadzenie parametrów rozgrywki
5. Zatwierdzenie dodania rozgrywki
3. Zakończenie trwającej rozgrywki
3. Sprawdzenie rejestracji
4. Sprawdzenie moŜliwości zarejestrowanego gracza:
1. Logowanie
2. Zarządzanie swoim profilem
3. Zapisanie się na rozgrywkę
4. Wypisanie się z rozgrywki
3z7
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
4. Wypisanie się z rozgrywki
5. Stworzenie rozgrywki
6. Zapraszanie do rozgrywki
7. Anulowanie rozgrywki
5. Sprawdzenie wyświetlania raportów rozgrywek:
1. Porównanie wyświetlanych informacji z informacjami zawartymi w bazie danych
Testy integracyjne
Cele:
Sprawdzenie współdziałania ze sobą bazy danych, serwera i aplikacji klienckiej
Plan testu:
1. Stworzenie nowej gry, podając jej zasady i opis
Sprawdzenie czy nowa gra oraz podane na jej temat informacje pojawily sie w bazie danych
2. Stworzenie nowej rozgrywki, ustalając jej parametry (w tym datę i godzinę rozpoczęcia) zgodnie z
zasadami
Sprawdzenie czy rozgrywka oraz jej parametry pojawily sie w bazie danych
3. Wybranie graczy, do których ma byc wysłane zaproszenie emailem
Sprawdzenie czy mail został wysłany na podany adres
4. Rejestracja kilku graczy na rozgrywkę
Sprawdzenie czy pojawili się gracze w bazie danych
5. Rozpoczęcie rozgrywki
Sprawdzenia czy na urządzeniach wszystkich zarejestrowanych graczy pojawiła sie informacja
o rozpoczęciu rozgrywki
6. Rejestracja przebiegu rozgrywki:
a) (co stały krok czasowy) połoŜenia wszystkich graczy
b) polecenia wydane aplikacji klienckiej przez graczy, włącznie z dokładnym stemplem czasowym
7. Zakończeniu rozgrywki
Sprawdzenia czy na urządzeniach wszystkich zarejestrowanych graczy pojawiła sie informacja
o zakończeniu rozgrywki
8. Zweryfikowanie zgodności działania serwera z zawartością bazy danych (na podstawie zarejestrowanego
przebiegu rozgrywki)
a) Sprawdzenia czy serwer rozpoczął i zakonczył rozgrywkę w określonym wcześniej czasie
b) Sprawdzenie czy serwer kontrolował zgodność rozgrywki z zasadami gry
Kryteria akceptacji:
pomyślne spełnienie wszystkich warunków
Testy wydajności
Baza danych
Cele:
Poprawność obsługi zapytań przez system w przypadku duŜego obciąŜenia
Sprawdzenie czasów odpowiedzi systemu na zapytania
4z7
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
Plan testu:
1. Uruchomienie serwera bazy danych
2. ObciąŜenie bazy danych zbiorem zapytań testowych
Szczegóły:
Czas trwania testu: 2h
Średnia liczba jednocześnie nawiązanych połączeń: 50
Maksymalna liczba jednocześnie nawiązanych połączeń: 100
Średnia liczba zapytań na sekundę: 100
Maksymalna liczba zapytań na sekundę: 1000 (przez maksymalnie 2 sekundy)
Dane testowe powinny odzwierciedlać częstość występowania poszczególnych rodzajów zapytań w
projektowanym systemie
Kryteria akceptacji:
Zgodność obrazu bazy danych po zakończeniu testu z obrazem wzorcowym
Średni czas odpowiedzi na zapytanie nieprzekraczający 0.1 sekundy
Czas odpowiedzi na 75% zapytań nieprzekraczający 0.3 sekundy
Maksymalny czas odpowiedzi na zapytanie 2 sekundy
W przypadku niepowodzenia:
Dokonać inspekcji i optymalizacji wywoływanych zapytań
RozwaŜyć moŜliwość zwiększenia wymagań sprzętowych dla serwera bazy danych
RozwaŜyć moŜliwość realizacji klastrowania bazy danych na kilka serwerów
interfejs webowy (serwer www)
Cele:
Sprawdzenie czasów wyświetlania stron przez system
Plan testu:
1. Uruchomienie skryptu testującego na komputerach testujących.
2. ObciąŜenie serwera www połączeniami
Szczegóły:
Czas trwania testu: 2h
Średnia liczba jednocześnie nawiązanych połączeń: 50
Maksymalna liczba jednocześnie nawiązanych połączeń: 100
Średnia liczba wywołań na sekundę: 100
Maksymalna liczba wywołań na sekundę: 1000 (przez maksymalnie 2 sekundy)
Połączenia powinny być wywoływane z podsieci pięciu róŜnych providerów
Kryteria akceptacji:
Średni czas renderowania strony nieprzekraczający 0.2 sekundy
Czas renderowania 75% stron nieprzekraczający 0.5 sekundy
Maksymalny czas renderowania strony 3 sekundy
W przypadku niepowodzenia:
5z7
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
W przypadku niepowodzenia:
RozwaŜyć moŜliwość zwiększenia wymagań sprzętowych dla serwera www
RozwaŜyć moŜliwość uruchomienia kilku serwerów (wraz z zarządzającym nimi load balancerem)
Serwer gier
Cele:
Sprawdzenie utrzymania komunikacji pomiędzy podłączonymi aplikacjami klienckimi w przypadku
duŜego obciąŜenia serwera
Plan testu:
1.
2.
3.
4.
Uruchomienie serwera
Uruchomienie emulatorów z załadowaną aplikacją kliencką
Nawiązanie przez emulowane aplikacje klienckie połączenia z serwerem
Uruchomienie testowych rozgrywek
Szczegóły:
Czas trwania testu: 2h
Liczba uruchomionych instancji emulatorów: 10000
Średnia liczba jednocześnie toczących się rozgrywek: 1000
Maksymalna liczba jednocześnie toczących się rozgrywek: 5000
Kryteria akceptacji:
Poprawne przesłania wszystkich komunikatów między emulowanymi aplikacjami klienckimi a
serwerem
W przypadku niepowodzenia:
RozwaŜyć moŜliwość zwiększenia wymagań sprzętowych dla serwera www
RozwaŜyć moŜliwość uruchomienia kilku serwerów:
Wraz z zarządzającym nimi load balancerem
Stałym podziałem klientów pomiędzy serwery
Aplikacja kliencka
Cele:
Sprawdzenie wydajności obsługi komunikatów napływających z serwera
Plan testu:
1. Uruchomienie serwera gier
2. Uruchomienie aplikacji klienckiej
Szczegóły:
Czas trwania testu: 2h
Średnia liczba komunikatów przesyłanych między aplikacją kliencką a serwerem na sekundę: 50
Maksymalna liczba komunikatów przesyłanych między aplikacją kliencką a serwerem na sekundę:
200 (przez maksymalnie 2 sekundy)
6z7
07-04-21 10:55
Przypadki testowe - Sęp
http://lyczek.w.staszic.waw.pl/~lyczek/io/wiki/index.php?title=Przyp...
200 (przez maksymalnie 2 sekundy)
Kryteria akceptacji:
Poprawne przesłanie wszystkich komunikatów między aplikacją kliencką a serwerem
W przypadku niepowodzenia:
RozwaŜyć moŜliwość zwiększenia wymagań sprzętowych dla sieci telefonicznej i urządzenia
klienckiego
RozwaŜyć moŜliwość uproszczenia zasad gry w kierunku zmniejszenia ilości przesyłanych danych
7z7
07-04-21 10:55

Podobne dokumenty