Kilka rzeczy, które powiedziałbym, są ważne:
Zachęcaj do testowania jednostek programisty
Zapewni to, że niektóre głupie błędy, jeśli jest dla nich test jednostkowy, nie powtórzą się, ponieważ test jednostkowy zakończy się niepowodzeniem, jeśli to zrobią. Wymaga to zmiany metodologii programowania, ale moim zdaniem jest całkowicie tego warte.
Zautomatyzuj cokolwiek możesz
Oprócz testów jednostkowych utwórz zestaw automatycznych testów funkcji i testów akceptacyjnych, które są uruchamiane na każdej kompilacji, aby upewnić się, że niektóre kompilacje są dobre. Jeśli masz kontrolę skryptów i gra jest ogólnie spójna, możesz automatycznie testować wiele błędów.
Utwórz plan testów wielopoziomowych
Upewnij się, że twoi testerzy mają plan testów, który testuje najważniejsze błędy. Powinno to być wielopoziomowe:
- Test dymu: Testuje, czy gra nie ulega awarii w najczęstszych przypadkach.
- Regularny test: Testuje bardziej rzadkie przypadki.
- Test namaczania: Uruchom tak głęboko, jak to możliwe, usuwając jak najwięcej typowych błędów. Sprawdź także, czy gra może działać przez bardzo długi czas (dni) bez awarii.
Utwórz ten plan testów i postępuj zgodnie z nim przy każdej kompilacji.
-debugFlags
, grep wyjście i upewnij się, że trafiliśmyx
liczbę flag.” +1Kilka dobrych odpowiedzi tutaj po stronie programowania. Dodam taki, który jest bardziej zorientowany na projekt.
Poproś projektantów systemu o napisanie planów testowania przypadków dla testerów
Jeśli wiedzą, co robią, osoba odpowiedzialna za zaprojektowanie systemu lub napisanie skryptu sekwencji w grze najprawdopodobniej zna najważniejsze przypadki tego systemu i jego awarię. Powinny także mieć pojęcie o tym, w jaki sposób system współdziała z innymi. Nakłonienie ich do napisania planu testów lub przedyskutowania z testerami, gdzie mogą wystąpić problemy, mogą zaoszczędzić każdemu czas.
źródło
Powinieneś zbadać tak zwane testowanie małp. Może wychwycić wiele błędów tego typu:
https://secure.wikimedia.org/wikipedia/en/wiki/Monkey_test
Musisz także zorganizować testy doświadczeń użytkowników z „testerami Kleenex”, testerami, które widzą twoją grę po raz pierwszy i których już nigdy nie użyjesz. Jest to trochę kosztowne i skomplikowane w organizacji, ale warte wysiłku. Jeśli to zrobisz, filmuj każdy test za pomocą 3 kamer: jednej na ekranie, jednej na kontrolkach i jednej na twarzy testera, aby wykryć frustrację.
źródło
Świetne pytanie, każda odpowiedź w tym wątku jest doskonałą odpowiedzią. Jedną rzecz do dodania:
Z mojego doświadczenia (30 lat rozwoju oprogramowania): aplikacje i gry są bardziej niezawodne, jeśli przynajmniej jeden członek grupy testowej jest wykwalifikowanym testerem goryli , mistrzowskim w testowaniu ad hoc, nadużywaniu aplikacji i celowym używaniu gier w niewłaściwy sposób, aby znaleźć błędy rodzaju opisanego na oryginalnym plakacie. Testerzy goryli mają niezwykłe umiejętności - gdy znajdziesz dobrą, trzymaj ją w swoim zespole.
Przykład skutecznego testowania goryla znajduje się na stronie: www.youtube.com/watch?v=8C-e96m4730;)
Podsumowując odpowiedzi w tym wątku: skuteczne strategie jakości oprogramowania są wieloaspektowe , łącząc wiele podejść, aby osiągnąć wysoki poziom zaufania do jakości funkcjonalnej i niezawodności Twojej gry.
źródło
Ciekawa sztuczka, o której słyszałem od znajomego, aby przetestować grafikę; podczas znanego dobrego przeglądu statystyk wydajności rekordu poziomu z GPU w regularnych odstępach czasu (na przykład polis na ekranie). Następnie możesz odtworzyć tę trasę, a jeśli liczby zmienią się poza określoną tolerancją, może to oznaczać, że coś nie wyświetla się poprawnie.
źródło
Jedna prosta, łatwa rzecz, która bardzo pomaga, szczególnie w testach warunków skrajnych i testach sieciowych. Pozwól, aby twoja AI mogła grać przeciwko innym AI. Jeśli możesz zostawić swoją grę samą w sobie lub małą grupę AI przez sieć na weekend, możesz się wiele nauczyć.
Oczywiście zaloguj wszystko.
źródło