Testes em Desenvolvimento de Games.

Publicado dia 06 de Junho de 2020 por Nathan Munis

Dicionário de termos

     Por mais que se planeje um software erros sempre acontecem. Por isso, existe uma fase especifica no ciclo de vida de um software tradicional onde as produtoras realizam testes de diversos tipos. Como exemplo, teste de integrações, testes unitários, testes de aceitações etc. Com intuito de detectarem possíveis bugs no sistema antes que o software seja colocado em produção.

     Os jogos digitais também se tratam de softwares e por isso também possuem a fase de testes incorporada no ciclo de vida de desenvolvimento. Entretanto, os jogos digitais tem características distintas de um software tradicional. Nos games, por exemplo, nem sempre terminar uma tarefa sem dispêndio de tempo e de trabalho é qualidade. Ao se executar teste é necessário medir algumas características mais subjetivas como diversão, sensações transmitidas pelo jogo etc.

     Existem diversas formas para testar um game, uma forma comumente utilizada no mercado é a utilização de testers, na área de jogos chamados de playerteste. Seu objetivo é jogar o game de forma sistemática, seguindo um plano de teste previamente elaborado, a procura de bugs em mecânicas, usabilidade e fatores menos tangíveis como o quesito diversão. Uma outra maneira de se executar teste é permitir que uma parcela do público alvo tenha acesse ao jogo. Aliado a isso, faça entrevista ou passe formulários para conseguir analisar as sensações e experencias que o usuário obteve ao jogar o game.

     Além dos métodos citados acima existem diversas outras maneiras de se testar um game e normalmente, os planos de teste de jogo possuem mais de um método. Dessa forma, consegue-se testar o máximo de características possíveis do jogo. Alguns outros métodos são: Combinatorial Testing, Clean Room Testing, Functionality Testing, Compatibility Testing, Tree Testing .

     1) Combinatorial Testing: .

     Este é um método usado para teste de software comercial e para gerar casos de teste. A aplicação de testes combinatórios aos testes de jogos aumenta a eficiência da execução de testes, fornece melhor qualidade, reduz custos.

     Características principais.

       • Toda combinação possível de valores dos parâmetros é abordada usando este teste.

       • Identifique atributos distintos que podem variar nos dados ou na configuração.

       • Gerar sistematicamente combinação para teste.

       • Incluir teste de partição de categoria, teste de par e teste baseado em catálogo.

       • Aqui os parâmetros são selecionados entre funções, elementos, eventos, configurações, opções de jogo, atributos de personagens, opções de personalização, etc.

     2) Clean Room Testing: .

     Ajuda a garantir a confiabilidade do software de jogos. Trabalhando com base no raciocínio matemático, refinamento do design e raciocínio estatístico, o objetivo de realizar esse tipo de teste é gerar um produto com o mínimo de erros.

     3) Functionality Testing:.

     Método para identificar bugs ou erros em um jogo que podem afetar a experiência do usuário.

     Características principais.

       • Determina se o aplicativo está funcionando de acordo com as especificações.

       • Leva mais tempo para ser executado, pois os testadores procuram por problemas de jogo, problemas gráficos, problemas audiovisuais etc.

       • Valida se a instalação ocorre sem problemas, o aplicativo funciona no modo minimizado, permite opções de redes sociais, suporta gateways de pagamento e muito mais.

     4) Compatibility Testing:.

     Isso é usado para descobrir se um jogo está funcionando corretamente ou não com relação à configuração de hardware, gráficos e software com a qual o dispositivo foi construído. É um dos serviços essenciais de teste de aplicativos para dispositivos móveis que verifica se um título de jogo pode ser executado em dispositivos específicos.

     Características principais.

       • Valide se a interface do usuário do aplicativo é de acordo com o tamanho da tela do dispositivo e garanta alta qualidade.

       • Verifique se o texto é legível para todos os usuários.

       • Esse teste garante que o produto atenda a todos os requisitos necessários definidos pelo desenvolvedor e pelo usuário final.

       • Garante compatibilidade real entre diferentes ambientes de teste.

     O processo de teste do jogo pode ser explicado em algumas etapas simples, como mencionado abaixo:

     1. Elicitação de requisitos: A primeira etapa do processo de teste de um jogo, inicia-se com a elicitação de requisitos é necessário entender o jogo em todos os seus aspectos. Isso inclui a sua arquitetura, história, personagens, as regras que serão aplicadas ao levels etc.

     2. Preparando a estratégia de teste do jogo Nessa etapa é elaborado um documento que contempla todas as estratégias de teste que serão utilizadas no jogo. Esse documento inclui detalhes de números de ciclos de teste, tipos de teste, processo para registrar erros etc.

     3. Projetando casos de teste: Os testadores preparam os casos de teste que seriam usados por eles para realizar o processo de teste. Isso incluiria a criação de casos de teste positivos e negativos. Algumas técnicas comuns e eficazes para projetar casos de teste eficazes são teste de caminho crítico, teste de caminho de exceção, particionamento de equivalência etc.

     4. Executando casos de teste de jogos: Essa etapa é extremamente crucial, pois envolve o teste de um produto em uma configuração diferente, o que, por sua vez, ajuda a identificar mais erros e bugs no produto. Algumas das técnicas de teste comuns usadas são alfa, beta, teste de conteúdo etc.

     5. Registro dos resultados do teste Esta é uma etapa extremamente importante, pois ajuda a garantir que o produto entregue ao cliente esteja livre de erros. Uma vez que os testes são realizados, seus resultados são, então, registrados na forma de filme ou como captura de tela. Isso, por sua vez, permite que os desenvolvedores analisem o comportamento dos produtos de maneira fácil e refinada.

     6. Manutenção do log de defeitos Todos os defeitos / bugs identificados durante o processo são mantidos como registros. Isso é feito para garantir que os defeitos encontrados sejam registrados, priorizados, categorizados e rastreados de maneira eficaz. Isso facilita para os desenvolvedores escolherem o próximo trabalho de título.