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 -), 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: Oprogramowanie emulujące kompatybilne urządzenia, zdolne do symulacji działań uŝytkownika i komunikacji z serwerem przez sieć przewodową Komputery połączone w sieć lokalną o łącznej mocy obliczeniowej zdolnej do uruchomienia 10000 instancji emulatora. Oprogramowanie automatyzujące testy bazy danych, interfesju webowego i aplikacji klienckich poprzez emulatory. Plan testów Testy bazy danych Testy serwera Testy aplikacji klienckiej Testy interfejsu webowego 1 z 7 07-04-21 10:55
5. 6. Testy interfejsu webowego Testy integracyjne Testy wydajności Testy bazy danych Weryfikacja poprawności instalacji bazy danych oraz komunikacji baza danych-serwer. Sprawdzenie poprawności instalacji. 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. Sprawdzenie spójności wyników zapytań, zawartości tabel oraz oczekiwanych skutków zapytań. Sprawdzenie poprawności połączenia. 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. 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. Sprawdzenie poprawności komunikacji baza danych-serwer. Wykonanie przez serwer wszystkich moŝliwych rodzajów zapytań, jakie mogą zostać wygenerowane w trakcie działania systemu 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 5. Sprawdzenie łączności z bazą danych Sprawdzenie poprawności przesyłania danych pomiędzy serwerem i bazą danych Pierwsze uruchomienie rozgrywki testowej celem sprawdzenia: Podłączenia do emulatorów Rozłączenia Drugie uruchomienie rozgrywki testowej celem sprawdzenia Podłączenia do emulatorów Poprawności przesłania swojej pozycji Poprawności odebrania pozycji graczy Rozłączenia Trzecie uruchomienie rozgrywki testowej celem sprawdzenia Podłączenia do emulatorów Poprawności przesłania swojej pozycji Poprawności odebrania pozycji graczy Poprawności wysyłania komunikatów 5. Poprawności odebrania komunikatów 6. Rozłączenia Testy aplikacji klienckiej 2 z 7 07-04-21 10:55
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. Sprawdzenie wyświetlania interfejsu: Porównanie interfejsu wyświetlanego przez urządzenie z wzorcowym Sprawdzenie podstawowej łączności z serwerem (moduł GPRS): Nawiązanie połączenia z serwerem Rozłączenie Sprawdzenie systemu lokalizacji uczestników gry (moduł GPS) Nawiązanie połączenia z serwerem Przesłanie do serwera pozycji gracza Przesłanie do urządzenia pozycji dwóch innych graczy Rozłączenie 5. Zweryfikowanie poprawności przesłanych pozycji (na podstawie zarejestrowanego przebiegu rozgrywki) Sprawdzenie systemu przesyłania komend Nawiązanie połączenia z serwerem Przesłanie do serwera komendy Odbiór komendy i jej wykonanie Rozłączenie 5. Zweryfikowanie poprawności wykonania komendy (na podstawie zarejestrowanego przebiegu rozgrywki) Testy interfejsu webowego Sprawdzenie wyświetlania poprawnych danych na stronie www oraz poprawnej interakcji z uŝytkownikiem. Sprawdzenie wyświetlania interfejsu: Porównanie wyświetlanego interfejsu z wzorcowym Sprawdzenie moŝliwości administratora: Stworzenie nowej gry Stworzenie nowej rozrywki: Przejście do ekranu rozgrywek Przejście do ekranu dodawania rozgrywek Wybór konkretnej gry z wyświetlonej listy gier Wprowadzenie parametrów rozgrywki 5. Zatwierdzenie dodania rozgrywki Zakończenie trwającej rozgrywki Sprawdzenie rejestracji Sprawdzenie moŝliwości zarejestrowanego gracza: Logowanie Zarządzanie swoim profilem Zapisanie się na rozgrywkę Wypisanie się z rozgrywki 3 z 7 07-04-21 10:55
5. Wypisanie się z rozgrywki 5. Stworzenie rozgrywki 6. Zapraszanie do rozgrywki 7. Anulowanie rozgrywki Sprawdzenie wyświetlania raportów rozgrywek: Porównanie wyświetlanych informacji z informacjami zawartymi w bazie danych Testy integracyjne Sprawdzenie współdziałania ze sobą bazy danych, serwera i aplikacji klienckiej Stworzenie nowej gry, podając jej zasady i opis Sprawdzenie czy nowa gra oraz podane na jej temat informacje pojawily sie w bazie danych 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 Wybranie graczy, do których ma byc wysłane zaproszenie emailem Sprawdzenie czy mail został wysłany na podany adres 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 pomyślne spełnienie wszystkich warunków Testy wydajności Baza danych Poprawność obsługi zapytań przez system w przypadku duŝego obciąŝenia Sprawdzenie czasów odpowiedzi systemu na zapytania 4 z 7 07-04-21 10:55
Uruchomienie serwera bazy danych ObciąŜenie bazy danych zbiorem zapytań testowych Ś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 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 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) Sprawdzenie czasów wyświetlania stron przez system Uruchomienie skryptu testującego na komputerach testujących. ObciąŜenie serwera www połączeniami Ś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 Średni czas renderowania strony nieprzekraczający 0.2 sekundy Czas renderowania 75% stron nieprzekraczający 0.5 sekundy Maksymalny czas renderowania strony 3 sekundy 5 z 7 07-04-21 10:55
Serwer gier 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) Sprawdzenie utrzymania komunikacji pomiędzy podłączonymi aplikacjami klienckimi w przypadku duŝego obciąŝenia serwera Uruchomienie serwera Uruchomienie emulatorów z załadowaną aplikacją kliencką Nawiązanie przez emulowane aplikacje klienckie połączenia z serwerem Uruchomienie testowych rozgrywek Liczba uruchomionych instancji emulatorów: 10000 Średnia liczba jednocześnie toczących się rozgrywek: 1000 Maksymalna liczba jednocześnie toczących się rozgrywek: 5000 Poprawne przesłania wszystkich komunikatów między emulowanymi aplikacjami klienckimi a serwerem Aplikacja kliencka 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 Sprawdzenie wydajności obsługi komunikatów napływających z serwera Uruchomienie serwera gier Uruchomienie aplikacji klienckiej Ś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) 6 z 7 07-04-21 10:55
200 (przez maksymalnie 2 sekundy) Poprawne przesłanie wszystkich komunikatów między aplikacją kliencką a serwerem 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 7 z 7 07-04-21 10:55