“Durante o processo de desenvolvimento de software sabemos que teste de software é uma forma essencial para garantir a qualidade do produto, através da antecipação de inconsistências que podem ser encontrados por usuários finais do produto que é desenvolvido.
Contudo, o papel da pessoa responsável por disseminar a qualidade não é somente por executar testes e detectar discrepâncias entre o que era esperado e o estado atual. Essa pessoa também se envolve nas atividades para garantir a qualidade no processo como um todo, incluindo papéis e tarefas bem definidos e também qualidade nos artefatos gerados.
Dentre os diversos artefatos gerados durante um projeto de desenvolvimento de software, temos plano de projeto, requisitos, códigos, casos de testes, entre outros. Os casos de testes são descritos e definidos de acordo com o produto que está sendo desenvolvido, e são artefatos escritos por um ser humano, logo, podem estar sujeitos à inconsistências tais como: erros ortográficos, erros gramaticais, estrutura de escrita, ambiguidade de informações, duplicidade de dados, ou até mesmo descrição incompleta de requisitos.
Um caso de teste é um algoritmo ou procedimento, no qual o testador deve seguir com o intuito de validar se o produto em desenvolvimento está de acordo com os requisitos definidos, e como consequência pode antecipar as possíveis inconsistências das quais o produto é suscetível..
Atualmente, a ISO/IEC/IEEE 29119–3 descreve um padrão de como os artefatos produzidos pela atividade de teste de software podem ser definidos.
É importante salientar que dependendo da quantidade de pessoas envolvidas na escrita dos casos de testes, cada pessoa tem formas diferentes de se expressar, o que pode ser gerados diferentes entendimentos de como o caso de teste deve ser escrito. Agora, imagine um cenário que a pessoa que escreveu o caso de teste não é a mesma que executa o caso de teste, e a pessoa que está executando o caso de teste não tem o mesmo entendimento de quem escreveu. Com isso, algumas consequências podem acontecer, como:
Como podemos observar, vários problemas podem acontecer quando o caso de teste não fornece a informação e dados adequados para assegurar a qualidade do produto desenvolvido. Por isso, a comunicação através da escrita do caso de teste precisa ser bem efetiva e clara para evitar os problemas mencionados ou até mesmo outros que venham a acontecer.
Uma estratégia que pode mitigar os riscos mencionados é através da realização de uma revisão do caso de teste. O processo de revisão pode ser realizado de diversas maneiras (revisão por pares, revisão formal, revisão informal, revisão por inspeção, e muitas outras técnicas existentes)…
Essa técnica de processo de revisão é através de checklists, que pode ser utilizada com intuito de revisar um artefato conhecido como documento de requisitos, mas também podemos adaptá-la para a escrita de casos de testes, pois a validação dos requisitos acontece através da execução de casos de testes. Com base nisso, há itens que podem ajudar na revisão dos casos de testes, como no checklist a seguir:
Esse checklist … foi adaptado para ser utilizado como uma estratégia de revisão de casos de teste. Através do processo de revisão de um caso de teste, espera-se que:
…Teste de software não é somente testar para antecipar inconsistências, mas também somos responsáveis por garantir a qualidade dos artefatos gerados pela atividade de teste. Dessa forma, através de boas práticas de escrita de casos de testes (revisão por checklist), podemos melhorar a comunicação entre quem executa e quem escreve casos de teste, além de entendermos os requisitos, evitarmos falhas e melhorarmos a confiança do cliente quanto ao trabalho que fazemos em teste de software.”
Para quem deseja se aprofundar e conhecer mais sobre a Norma, indicamos o curso DPTS que é ministrado por Emerson Rios autor dos livros: Teste de software (2006), Base de conhecimento em teste de software (2007) e Documentação em projeto de teste de software (2020).
Fonte: Medium