Samouczek testowania gier: Jak testować aplikacje mobilne/komputerowe

⚡ Inteligentne podsumowanie

Testowanie gier to proces kontroli jakości stosowany w grach wideo, mający na celu znalezienie błędów w rozgrywce, grafice, dźwięku i sieci, tak aby wersja dostarczana graczom była stabilna, zgodna z przepisami i przyjemna w użytkowaniu.

  • 🔘 Trzy etapy cyklu życia: Etapy przedprodukcji, produkcji, testowania i wdrażania wymagają osobnych działań weryfikacyjnych.
  • Dziewięć typów rdzeni: Standardowy zestaw obejmuje kontrole funkcjonalności, kompatybilności, wydajności, zgodności, lokalizacji, absorpcji, odzyskiwania, bezpieczeństwa i trybu wieloosobowego.
  • Powtarzalne z natury: Każda nowa wersja może zawierać błędy, dlatego przy każdym prototypie należy ponownie przeanalizować dokumenty testowe.
  • 🧪 Pokrycie typu white-box: Code inspekcja, testowanie skupienia, analiza danych, testowanie ścieżek i przepływów, analiza algorytmów i sztucznej inteligencji — zajrzyj do silnika.
  • Gry wspomagające: Technologia adaptacyjna zastępuje bodźce wizualne wskazówkami dźwiękowymi dla graczy z dysfunkcjami wzroku, słuchu, funkcji poznawczych lub motorycznych.
  • 📊 Metryki mają znaczenie: DAU/MAU, liczba sesji, pozycja w rankingu pobrań, grupy retencji i liczba klatek na sekundę pozwalają określić, czy wydanie faktycznie działa.

Proces testowania gier dla aplikacji mobilnych i stacjonarnych obejmujący kontrole funkcjonalności, wydajności i zgodności

Co to jest testowanie gier?

Testowanie gier to proces testowania oprogramowania, służący do testowania gier wideo w celu kontroli jakości. Głównym celem testowania gier jest identyfikacja i wykrywanie defektów i błędów w grze wideo oraz poprawa jej stabilności i wydajności. Testowanie gier to element procesu tworzenia gier, który pomaga zapewnić, że wdrażana gra wideo jest wolna od błędów.

Zanim poszczególne techniki nabiorą sensu, warto przyjrzeć się, jakie miejsce zajmuje testowanie w szerszym cyklu rozwoju.

Cykl życia tworzenia gier

Przedprodukcja: Na tym etapie powstaje pomysł na grę, storyboard, funkcje, analiza wymagań i dokumentacja. Faza ta obejmuje dokumentację techniczną projektu i specyfikację funkcji, architekturę gry, nakładkę klatek i animację. Uwzględniane są następujące elementy:

  • Muzyka, kamera (przybliżanie i oddalanie, odtwarzanie, widok kinowy), atrybuty gracza i akcji
  • Logika gry, zasady i warunki potrzebne do osiągnięcia następnego poziomu
  • Wyzwalacze obiektów i zdarzeń, wyniki, ruch i pozycjonowanie gracza, statystyki gracza
  • Sekwencje nieinteraktywne, efekty specjalne, ekrany tytułowe, akcje wieloprzyciskowe
  • Gamepad, klip filmowy, efekty wstrząsów/wibracji, teksty prawne, korzystanie z funkcji przycisków, korzystanie z trybu analogowego i cyfrowego

Poniżej przedstawiono trzy etapy i czynności wykonywane w każdym z nich.

Diagram cyklu życia rozwoju gry przedstawiający etapy preprodukcji, produkcji oraz testowania i wdrażania
Cykl życia tworzenia gier

Produkcja: Na tym etapie następuje faktyczne kodowanie. Faza ta obejmuje kodowanie i integrację różnych modułów.

Testowanie i wdrażanie: Na tym etapie przeprowadzane są testy funkcjonalne, testy regresji oraz kamienie milowe Alpha, Beta i Gold. Testowanie pokrycia i przepływów, integralności danych, testowanie algorytmów, testowanie ścieżek oraz testy przyrostowe są również przeprowadzane z wykorzystaniem narzędzi do testowania gier mobilnych.

Czym testowanie gier różni się od testowania innego oprogramowania

Testowanie gier to powtarzalny proces — każda nowa wersja może zawierać błędy i musi zostać dokładnie przetestowana.

Wszystkie testy gier odbywają się według podstawowej struktury, niezależnie od rozmiaru gry i czasu potrzebnego na jej wyprodukowanie.

Specjalista ds. zapewnienia jakości musi zapoznać się z zasadami i wymaganiami gry oraz zrozumieć ogólną architekturę komponentów gry, architekturę plików, przepływ, struktury plików i zależności związane z grą. Przy każdym nowym prototypie gry należy ponownie przeanalizować dokumenty testowe, aby uwzględnić wszelkie zmiany w specyfikacjach, nowe przypadki testowe i nowe wsparcie konfiguracji. Tester gier wideo powinien również upewnić się, że nie pojawiły się żadne nowe problemy.

Praca testera gier obejmuje:

  • Klasyfikuj wymagania w oparciu o zamierzony cel i grupę docelową.
  • Określ wymagania użytkownika i systemu, a następnie podziel je na wymagania funkcjonalne, niefunkcjonalne i dziedzinowe.
  • Określ elementy testowalne i nietestowalne, cele i miary wymagań funkcjonalnych i niefunkcjonalnych.
  • Sprawdź, czy wymagania funkcjonalne są kompletne, spójne i zrozumiałe.
  • Określ wymagania, które można dostosować, oraz wymagania sprzeczne.
  • Określanie współzależnych wymagań, co jest jednym z podstawowych zadań testowania gier.
  • Ustal priorytety wymagań na podstawie ich wyjątkowości, złożoności i krytyczności.
  • Określ tematykę gry, postacie, animację, sztuczną inteligencję, przerywniki filmowe, widok kamery i rozgrywkę.

Jeśli chcesz zostać testerem gier wideo, oto darmowy samouczek, który warto sprawdzić: Jak zostać testerem gier wideo.

Rodzaje testowania gier

Poniżej przedstawiamy popularne techniki testowania gier. Każda z nich ukierunkowana jest na inny rodzaj defektów, a tytuł gotowy do wydania zazwyczaj przechodzi przez wszystkie, zamiast wybierać między nimi.

1) Testy funkcjonalne

Testerzy QA funkcjonalności szukają ogólnych problemów w grze lub jej interfejsie użytkownika i grafice, takich jak problemy z mechaniką gry, stabilnością i integralnością zasobów gry. Testowanie interfejsu użytkownika zapewnia przyjazność gry dla użytkownika. Jest to ta sama dyscyplina, co testy funkcjonalności w każdym innym zastosowaniu odnosi się do zasad rozgrywki zamiast zasad biznesowych.

Przykład: Sprawdzanie kolorów i tła, struktury menu, orientacji i rozdzielczości ekranu, rozmiaru czcionki, błędów wyrównania, użyteczności, nawigacji po systemie, takich jak czas ładowania, limit czasu i wyświetlanie, sortowanie, komunikaty potwierdzające, sekwencje, animacje i elementy dźwiękowe gry, instrukcje i komunikaty dialogowe. Obejmuje również interakcje użytkowników, interfejsy użytkownika, testowanie transakcji, kalibrację i testowanie dokładności aparatów w telefonach komórkowych, rozdzielczości ekranów, testowanie responsywnego designu mobilnego oraz testowanie jakości dźwięku.

2) Testowanie zgodności

Sprawdzanie kompatybilności gry z różnymi urządzeniami i różnymi konfiguracjami sprzętowymi i programowymi. Szeroki zasięg urządzeń ma większe znaczenie w przypadku gier niż w przypadku większości aplikacji, ponieważ sterowniki GPU i proporcje ekranu zmieniają sposób renderowania tytułu. Zobacz testy zgodności dla ogólnej techniki.

Przykład: Zainstaluj i odinstaluj grę na wszystkich obsługiwanych konsolach, komputerach stacjonarnych i urządzeniach mobilnych.

3) Testowanie wydajności

Sprawdzana jest ogólna wydajność gry. Przeprowadzane jest dostrajanie wydajności w celu optymalizacji szybkości gry. Szersze zastosowanie jest omówione w test wydajnościi kąt specyficzny dla urządzeń mobilnych testowanie wydajności aplikacji mobilnych.

Ważne parametry sprawdzane podczas testów wydajnościowych:

  • Czas reakcji klienta i serwerów, czas realizacji transakcji, wydajność w przypadku szczytowego obciążenia, żywotność, zasięg sieci, wyciek pamięci, niski poziom pamięci, niski poziom naładowania baterii, czas pobierania aplikacji, jednoczesny (wielu użytkowników) dostęp do serwera aplikacji, szybkość, przepustowość, niezawodność i skalowalność.
  • Zużycie baterii i wydajność grafiki: Zmierz zużycie baterii w grze mobilnej. Zużycie baterii musi być optymalne przez wiele godzin, a reakcja gry powinna być satysfakcjonująca przy zróżnicowanym obciążeniu na różnych urządzeniach.
  • Ograniczenia procesora i pamięci: Liczniki wydajności służą do pomiaru wykorzystania procesora i pamięci przez aplikację.
  • Łączność sieciowa: Mierzy czas reakcji gry mobilnej w różnych typach sieci (Wi-Fi, 3G, 4G, 5G). Daje ogólny wgląd w to, jak dobrze gra będzie działać w sieciach o niskiej niezawodności, a także sprawdza łączność między urządzeniami mobilnymi, centrami danych i chmurą. Monitorowane są godziny szczytu, niestabilne połączenia, duplikacja danych, utrata pakietów i fragmentacja danych.
  • Testowanie wydajności gier mobilnych, szczególnie tytułów MMO.

4) Testowanie zgodności

Obejmuje to zgodność z wytycznymi sklepu (na przykład regulaminem Apple App Store) oraz polityką przedsiębiorstwa (na przykład dotyczącą treści zabronionych). Zgodność może również odnosić się do organów regulacyjnych, takich jak PEGI i ESRB. Gra ma określoną klasyfikację treści, a jeśli zawiera treści budzące zastrzeżenia i nieodpowiednie dla żądanej klasyfikacji, są one identyfikowane i zgłaszane. Nawet pojedyncze naruszenie w zgłoszeniu do zatwierdzenia licencji może spowodować odrzucenie gry, co wiąże się z dodatkowymi kosztami dalszych testów i ponownego zgłoszenia.

Przykład: Jeżeli gra ma zostać wydana w krajach europejskich, przetestuj konwersję do formatu PAL; jeżeli gra będzie wydana w Ameryce Północnej, przetestuj konwersję do formatu NTSC.

5) Testowanie lokalizacji

Testowanie lokalizacji Staje się to niezbędne, gdy gra jest skierowana na rynki globalne. Tytuły, treści i teksty gier muszą zostać przetłumaczone i przetestowane na urządzeniach w wielu językach. Testy te można przeprowadzić szybko dzięki dostępowi do urządzeń w chmurze i automatyzacji testów.

Przykład: Potrzeby lokalizacyjne specyficzne dla regionu MENA (Bliski Wschód/Afryka Północna), lokalizacja w języku arabskim (obsługa tekstów pisanych od prawej do lewej, wyświetlanie dwukierunkowe), testy pseudolokalizacji, znaki dwubajtowe dla języków wschodnioazjatyckich, lokalny czas i data, waluta, formaty adresów i inne lokalne wymagania.

6) Testowanie zanurzeniowe

Ta technika testowania automatyzacji gier polega na pozostawieniu gry uruchomionej na dłuższy czas w różnych trybach działania – na przykład bezczynnej, wstrzymanej lub oczekującej na ekranie tytułowym. Przesączanie pamięci pozwala wykryć wycieki pamięci lub błędy zaokrągleń.

Przykład: Gra się rozpoczęła, a postać została zmuszona do stania w bezczynności przez 24 godziny. Ta technika służy do wykrywania awarii spowodowanych wyciekami pamięci i innymi błędami w silniku gry.

7) Testowanie odzyskiwania

w oprogramowaniu, testowanie regeneracji Sprawdza, jak dobrze aplikacja odzyskuje sprawność po awariach, awariach sprzętu i innych podobnych awariach. Aplikacja jest wymuszona do awarii, a następnie obserwowany jest sposób jej odzyskiwania sprawności po wystąpieniu awarii i w środowisku.

Przykład: Podczas działania aplikacji do gier uruchom ponownie konsolę i sprawdź integralność danych.

8) Testowanie bezpieczeństwa

Testy bezpieczeństwa przeprowadza się w celu sprawdzenia, jak bezpiecznie oprogramowanie działa w przypadku narażenia na zagrożenia zewnętrzne. Obejmują one ochronę danych przed zagrożeniami zewnętrznymi, niekontrolowanymi ograniczeniami dostępu do systemu, wyciekami danych, lukami w systemie operacyjnym, lukami w systemie komunikacyjnym oraz słabymi algorytmami szyfrowania.

Przykład: Zmiana URL Przejście z /login do /play na stronie poświęconej grom nie powinno umożliwiać bezpośredniego dostępu do gier.

9) Testowanie innych gier

Testowanie postaci rzeczywistych lub wirtualnych. W grach wideo dla wielu graczy łączność z serwerem i synchronizacja stanu gry to dwa krytyczne obszary do przetestowania.

Przykład: Wieloosobowe gry wyścigowe 3D.

Testujemy nowe funkcje, takie jak aktualizacje statusu gry, zaproszenia do znajomych i udostępnianie prezentów premium. Zapewnia to użytkownikom bogate wrażenia z gry.

Przykład: Facebook, blogi.

Testowanie dźwięku

Sprawdzanie, czy nie wystąpił błąd podczas ładowania plików, odsłuchiwanie plików dźwiękowych w celu wykrycia błędów lub zniekształceń oraz analiza komentarza kolorystycznego za pomocą profilera CC.

Baza danych i statystyki gier

Weryfikacja bazy danych za pomocą debugowania w celu sprawdzenia, czy gra poprawnie korzysta z danych. Upewnij się, że dane są ładowane we właściwym miejscu i wyświetlają prawidłowe informacje.

Testowanie biało-skrzynkowe

Testowanie biało-skrzynkowe gier koncentruje się na aspektach architektonicznych, integracyjnych i systemowych gier mobilnych.

  1. Code Kontrola: Analizowany jest kod źródłowy, logika programu, typowe błędy programistyczne i zgodność ze standardami kodowania.
  2. Testowanie ostrości: Fragmenty kodu są przesyłane do izolowanych modułów, a dane wyjściowe są analizowane.
  3. Analiza danych: Wykorzystanie, interpretacja i przetwarzanie danych są analizowane i weryfikowane dla różnych modułów.
  4. Testowanie ścieżki i przepływu: Wykonywana jest poprawna sekwencja obiektów.
  5. Testowanie specyficzne dla algorytmu: Testowanie konkretnego scenariusza gry lub funkcji poprzez ustawienie zmiennych danych i wartości danych w kodzie i uruchomienie go w środowisku wykonawczym.
  6. Artificial Intelligence Analiza: Generowane są statystyki przebiegu programowalnych ruchów i zagrań komponentu AI. Wynik jest weryfikowany pod kątem wykorzystania wszystkich programowalnych ruchów. Przykład: chwyt boczny na snowboardzie oraz zagrania, takie jak kombinacja ciosów lub kopnięć w akcji wielokierunkowej.

Wspomagające gry wykorzystujące technologię adaptacyjną

Gry wspomagające są również znane jako gry z ułatwieniami dostępu. Funkcje są projektowane z wykorzystaniem technologii adaptacyjnych dla osób z różnymi niepełnosprawnościami, takimi jak niedowidzenie, niewyraźne widzenie, ślepota, niezdolność do rozróżniania kolorów oraz zaburzenia mowy, słuchu, funkcji poznawczych, motorycznych i ruchowych. Podejście do weryfikacji opiera się na tych samych zasadach, co testowanie dostępności w głównym nurcie oprogramowania.

Cardinal Direction (CD) i Tower of London (TOL) to dwie popularne gry, które zostały zmodyfikowane dla osób z dysfunkcją wzroku. W tych grach bodźce wizualne są zastępowane bodźcami dźwiękowymi.

Tester gier wideo powinien zwrócić uwagę na następujące kwestie podczas testowania takiej gry:

  1. Kolory powinny migać według pewnego wzoru, a każdemu kolorowi powinny odpowiadać określone odcienie.
  2. Każdemu kolorowi powinien towarzyszyć dźwięk.
  3. Dane wizualne muszą być opisane słowami, aby gracze z wadami wzroku nie mieli problemów z ich odczytaniem za pomocą czytników ekranu.
  4. Gracz powinien słyszeć dźwięki w grze w trzech wymiarach i musi mieć możliwość poruszania się po świecie gry za pomocą ekranu dotykowego, dźwięku 3D i dźwięku przestrzennego.

Metryki gier, które powinien znać tester

Same wyniki testów nie mówią studiu, czy wydanie się powiodło. Poniższe metryki to liczby, które tester powinien odczytać wraz ze zgłoszeniem błędu.

DAU/MAU (liczba aktywnych użytkowników dziennie / liczba aktywnych użytkowników miesięcznie): Stosunek liczby aktywnych użytkowników grających każdego dnia do liczby aktywnych użytkowników miesięcznie. Jest on również powszechnie nazywany współczynnikiem lepkości.

Sesja: Każde uruchomienie aplikacji przez użytkownika jest liczone jako sesja. W tym przypadku nacisk kładziony jest na średnią liczbę sesji przypadającą na jednego użytkownika dziennie (DAU).

Pobierz ranking: Pozycja gry w konkretnym sklepie z aplikacjami (iOS, Android Play) według miesięcznych pobrań gier.

Zatrzymywanie: Bardzo ważny wskaźnik dla Android Tester gier w wersji darmowej. Aby obliczyć retencję, podziel użytkowników na grupy według dnia pobrania aplikacji.

Wskaźniki wydajności: Te tracWydajność gier online lub gier trwałych – liczba klatek na sekundę, z jaką gra jest uruchamiana na platformie sprzętowej klienta, lub w przypadku serwera gry – jej stabilność. Metryki wydajności można wykorzystać do monitorowania zmieniających się funkcji i aktualizacji.

Kluczowe zagrożenia w testowaniu gier

Opisane poniżej zagrożenia najczęściej sprawiają, że technicznie sprawny projekt staje się komercyjnie rozczarowujący.

  1. Gra nie zapewnia wciągającego doświadczenia docelowej grupie odbiorców.
  2. Gra nie jest nastawiona na gracza.
  3. Brakuje elementu zabawy i wciągającej rozgrywki.
  4. Gra nie jest wyjątkowa, nie opiera się na rywalizacji ani nie jest szybka.
  5. Gra nie działa z powodu problemów technicznych, niedziałających funkcji, błędów krytycznych, złej muzyki i dźwięku lub słabej jakości obrazu.
  6. Koszty opracowania gry przekraczają budżet.
  7. Estetyka i rozgrywka nie są proste.

FAQ

Po każdej kompilacji ponownie uruchamia poprzednio zaliczone przypadki, aby potwierdzić, że poprawka lub nowa funkcja niczego nie zepsuły. Ponieważ kompilacje gier zmieniają się codziennie, zestawy regresyjne zazwyczaj koncentrują się na obszarach wysokiego ryzyka, takich jak pliki zapisu, logowanie, matchmaking i ekonomia w grze.

Boty uczenia maszynowego rozgrywają tysiące sesji przez całą noc, aby znaleźć blokady programowe i niedostępną geometrię, grupować zduplikowane raporty o awariach i sygnalizować błędy wizualne poprzez porównywanie renderowanych klatek. Testerzy wciąż posiadają zdolność oceny czynnika zabawy, którego obecnie żaden model nie jest w stanie zastąpić.

Tak, dla warstwy skryptowej. Copilot przyspiesza pisanie pakietów testowych silnika, zestawów parametrów opartych na danych i parserów logów. Nie potrafi oceniać balansu rozgrywki ani krzywych trudności, więc generowane testy nadal wymagają testera, aby zdefiniować, jak wygląda poprawny wynik.

Testerzy grają bez scenariusza, celowo próbując nietypowych sekwencji i granic, aby odkryć błędy, których nie przewidziano w scenariuszu. Uzupełnia to przebiegi oparte na skryptach i jest szczególnie skuteczne na nowych poziomach, w interakcjach z fizyką i we wszystkim, co wymaga kreatywności gracza.

Typowy stos łączy w pary defekty tracker z narzędziem do zarządzania testami, natywnym dla silnika frameworkiem automatyzacji, profilerem GPU lub CPU, funkcją tworzenia sieciping narzędzia i chmura na urządzeniach rzeczywistych, która obejmuje testy mobilne matryca urządzeń.

Alfa oznacza, że ​​zestaw funkcji jest kompletny, ale wstępny. Beta oznacza, że ​​zawartość jest zablokowana, a nacisk kładzie się na usuwanie usterek i balans, często z udziałem podmiotów zewnętrznych. Złota oznacza, że ​​kompilacja została zatwierdzona do wydania i przesłana do certyfikacji platformy.

Uwzględnij numer kompilacji, platformę i urządzenie, dokładne kroki odtwarzania, częstotliwość, oczekiwane i rzeczywiste zachowanie oraz klip wideo z plikiem dziennika. Gry są wizualne, więc krótkie nagranie rozwiewa niejasności, które rzadko rozstrzygają same zapisane kroki.

Testowanie gier polega na wyszukiwaniu błędów w specyfikacji. Testowanie gier zbiera opinie od reprezentatywnych graczy na temat poziomu trudności, tempa rozgrywki i przyjemności z rozgrywki. Jedno z nich chroni poprawność, drugie – atrakcyjność, a studio potrzebuje obu tych czynników przed premierą.

Podsumuj ten post następująco: