Algumas coisas que eu diria são importantes:
Incentivar o teste da unidade do programador
Isso garantirá que certos erros estúpidos, se houver um teste de unidade para eles, não se repitam, porque o teste de unidade falhará se o fizer. Isso requer uma mudança na metodologia de programação, mas na minha opinião vale completamente a pena.
Automatize qualquer teste que você puder
Além do teste de unidade, crie um conjunto de testes automatizados de função e aceitação que são executados em todas as construções para garantir que certas construções sejam boas. Se você possui controles programáveis e seu jogo geralmente é consistente, você pode testar muitos bugs automaticamente.
Criar um plano de teste multinível
Certifique-se de que seus testadores tenham um plano de teste que teste os bugs mais importantes. Isso deve ser em vários níveis:
- Teste de fumaça: testa se o jogo não falha nos casos mais comuns.
- Teste regular: testa casos mais incomuns.
- Teste de imersão: corra o mais fundo possível, regredindo o maior número possível de bugs comuns. Teste também se o jogo pode permanecer por longos períodos de tempo (dias) sem travar.
Crie esse plano de teste e siga-o em todas as versões.
-debugFlags
, cumprimente a saída e certifique-se de acertar ox
número de sinalizadores". +1Várias boas respostas aqui no lado da programação. Vou adicionar um que seja mais orientado ao design.
Faça com que seus projetistas de sistemas escrevam planos de teste de caso de ponta para testadores
Se eles souberem o que estão fazendo, é provável que a pessoa por trás do projeto de um sistema ou da criação de scripts de uma sequência no jogo conheça os casos extremos desse sistema e onde ele pode se deteriorar. Eles também devem ter uma idéia de onde o sistema interage com os outros. Peça que eles escrevam um plano de teste ou discutam com os testadores onde as coisas podem dar errado podem economizar tempo para todos.
fonte
Você deve investigar o chamado Teste de Macaco. Ele pode capturar muitos erros desse tipo:
https://secure.wikimedia.org/wikipedia/en/wiki/Monkey_test
Você também precisa organizar os testes de experiência do usuário com os "Kleenex testers", testadores que veem seu jogo pela primeira vez e que nunca mais os usarão. É um pouco caro e complicado de organizar, mas vale o esforço. Se o fizer, filme todos os testes com 3 câmeras: uma na tela, uma nos controles e outra no rosto do testador, a fim de detectar frustração.
fonte
Ótima pergunta, cada resposta neste segmento é uma excelente resposta. Uma coisa a acrescentar:
Na minha experiência (30 anos de desenvolvimento de software): aplicativos e jogos são mais confiáveis se pelo menos um membro do grupo de teste for um especialista em gorilas , mestre em testes ad-hoc, abusar de aplicativos e usar deliberadamente os jogos da maneira errada de encontrar bugs do tipo descrito no pôster original. Os testadores de gorila têm uma habilidade incomum - quando você encontrar um bom, mantenha-os em sua equipe.
Para um exemplo de teste eficaz de gorila, consulte: www.youtube.com/watch?v=8C-e96m4730;)
Para resumir as respostas neste tópico: estratégias eficazes de qualidade de software são multifacetadas , combinando várias abordagens para alcançar um alto nível de confiança na qualidade funcional e na confiabilidade do seu jogo.
fonte
Um truque interessante que ouvi de um amigo para testar gráficos; durante uma execução em bom estado através de um nível recorde de estatísticas de desempenho da GPU em intervalos regulares (polys na tela, por exemplo). Você pode reproduzir essa rota e, se os números mudarem fora de uma determinada tolerância, isso pode significar que algo não está mais sendo exibido corretamente.
fonte
Uma coisa simples e fácil que ajuda muito, especialmente com testes de estresse e testes de rede. Torne possível para a sua IA jogar contra outra AI. Se você pode deixar seu jogo sozinho jogando sozinho ou com um pequeno grupo de IA na rede por um fim de semana, pode aprender muito.
Claro log tudo.
fonte