Introdução
Em algum momento, você pode achar necessário gerenciar o seu esforço de teste através da criação de suítes de teste para os seus recursos de teste. A manutenção de suítes de teste pode assumir várias formas diferentes. Para facilitar o seu processo de teste, você pode querer definir algum nível de automação na sua suíte de teste. Entretanto, o fato de você automatizar as suas suítes de teste não torna necessariamente os testes mais fáceis. Ele pode, de fato, aumentar o peso da manutenção de suas suítes.
Esta diretriz lhe apresenta heurísticas úteis sobre a forma de facilitar a manutenção das suas suítes de teste automatizado.
Planeje as suas suítes de teste
Automatizar o teste sem planejamento aumenta as chances de eles serem ineficazes e ineficientes. Algum nível de planejamento deve ser executado de forma implícita ou explícita. Uma parte essencial de qualquer plano de teste é a definição de uma estratégia para automação de teste. Use o seu plano para articular com a equipe de desenvolvimento como você pretende manter os seus recursos de teste. Em muitos casos, isso nunca é feito. O resto da equipe de desenvolvimento pode não saber como você pretende manter os testes. Também é uma boa prática fazer com que o resto da equipe de desenvolvimento entenda que esta manutenção pode ser uma parte substancial de todo o esforço de desenvolvimento. Utilize as suas ferramentas de teste para capturar essas informações e trate este plano exatamente como você trataria qualquer outro recurso de teste do seu repositório de testes.
Organize seus recursos de teste de forma centralizada
Para facilitar a manutenção das suas suítes de teste automatizado, coloque seus recursos de teste em um repositório que possa ser acessado pela equipe de desenvolvimento. Muitos ambientes de automação de teste fornecem ferramentas de gerenciamento que facilitam a organização e o acesso aos recursos de teste (casos de teste, scripts de teste e suítes de teste), mantendo-os em um repositório comum.
Além disso, alguma forma de controle de acesso é proporcionada pela ferramenta de automação de teste. Isto facilita a carga de manutenção, assegurando a integridade das suas suítes de teste. Você pode optar em conceder acesso somente de leitura para os Stakeholders e gerentes, e de leitura e gravação para os desenvolvedores e testadores.
Trate os seus recursos de teste como qualquer outro software
O software deve ser mantido. Isto também se aplica ao software em suas suítes de teste. Os casos de teste e seus scripts de teste associados, tanto gravados como programados, devem ser mantidos. Assim como o software tem diferentes tipos de manutenção (ex. corretiva, preventiva ou adaptativa), os recursos das suas suítes de teste automatizado também têm. Da mesma forma que você trata suas suítes de teste em um ciclo de vida, identifique para as suas suítes de teste, mesmo que informalmente, como você pretende tratar a manutenção corretiva (ex. erros sintáticos em seus scripts), a manutenção preventiva (ex. sempre que possível escrever scripts de teste genéricos) e a manutenção adaptativa (ex. como você pode usar as ferramentas de teste para atribuir recursos de teste de uma suíte para outras suítes). Isto pode ser capturado em seu plano de teste, conforme está descrito na seção Planeje as suas suítes de teste acima.
Melhore a facilidade de execução da sua suíte de testes através da colaboração com os desenvolvedores
Suas suítes de teste terão que ser modificadas devido às alterações na aplicação, nos alvo de teste, etc. Isto é outra coisa que realmente determina se uma suíte de teste precisa ser melhorada e, se isso acontecer, quais recursos de teste associados a ela, precisam ser tratados.
Uma forma para facilitar isso é a utilização das suítes de teste como uma forma de comunicar as decisões de teste para os desenvolvedores. Uma forma de executar manutenção perfectiva contínua das suítes de teste é entender que as suas suítes de teste são recursos que pertencem também a equipe de desenvolvimento e não somente aos testadores. Você pode executar uma espécie de manutenção perfectiva nos testes das seguintes formas:
- use suítes de teste para elevar o nível de abstração
- use suítes de teste para fornecer foco ao desenvolvedor
- use suítes de teste para articular áreas que os desenvolvedores gostariam que os testadores focassem
- torne a construção e a manutenção das suítes de teste mais eficientes entendendo quais áreas os desenvolvedores desejam que sejam focadas
- use suítes de teste para esclarecer aos desenvolvedores os alvos de teste
Não tenha medo de limpar suas suítes
Seus recursos de teste irão evoluir tal como a aplicação sob teste irá. À medida que os requisitos para o sistema alterem a aplicação também irá alterar. Para manter as suas suítes de teste atualizadas, você deve verificar continuamente se os recursos de teste são válidos. Se possível, devem ser realizadas verificações de validade após cada nova liberação do software, de preferência frequentemente. Manter as suas suítes de teste relevantes é um trabalho de tempo integral. Assuma que as mudanças no software acarretarão numa certa quantidade de testes inválidos na sua suíte de teste. Uma vez que estes recursos de teste tenham sido identificados como inválidos, concerte-os ou livre-se deles. Isto tornará a carga de manutenção muito mais tolerável. Algumas ferramentas de teste automatizado facilitam esta tarefa, fornecendo meios para empacotar testes desatualizados ou inválidos. Em alguns casos, você pode não ter certeza se quer se livrar completamente dos testes ou mesmo de toda a suíte de teste. Para aliviar esta carga, você pode criar pacotes para testes ou suítes de teste obsoletos e dispensa-los, colocando-os em pacotes etiquetados para esta finalidade. |