(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