(untitled) (Encontros Universitários da UFC, 2019)
Teste de Software é o processo de executar um programa com a intenção de encontrar erros, sendo uma atividade essencial para a garantia da qualidade de um sistema. Para a execução dos testes, é necessário a elaboração de casos de teste - que consistem na especificação das entradas, condições de execução, procedimento de teste e resultados esperados e que definem um teste a ser executado, visando validar um fluxo específico do sistema. Os casos de teste podem ser definidos baseados nos casos de uso, documentos que especificam o funcionamento do sistema. Diante disso, foi desenvolvida uma ferramenta que gera casos de teste e exporta para a ferramenta Testlink, a partir de casos de uso documentados no Jira. Essa ferramenta foi utilizada em um projeto de desenvolvimento de software realizado pelo (GREat)/UFC em parceria com uma empresa privada. Nesse projeto, foram selecionados 7 casos de uso, especificados com o mesmo padrão. Para cada caso de uso, foram gerados testes de forma manual e testes gerados automaticamente a partir do uso da ferramenta desenvolvida. Como resultado, em 1h 51min foram gerados 44 casos de teste manuais, enquanto em 38 minutos foram gerados 47 casos de teste de forma automatizada. Desse total, quanto ao esforço, o ganho foi significativo para 6 casos de teste (maior do que 90% do tempo manual). Quanto à cobertura de testes, em 3 casos de uso o analista precisou criar manualmente fluxos que não foram identificados pela ferramenta. Dessa forma, foi observado que, com o auxílio da ferramenta desenvolvida, é possível ter uma redução significativa no esforço de modelagem de casos de teste. Entretanto, a geração está fortemente ligada ao padrão do documento do caso de uso. Assim, em alguns casos, uma geração automática baseada nos casos de uso pode não compensar o esforço. Além disso, observou-se que mesmo com apoio da ferramenta, é importante a presença de um testador para identificar os fluxos implícitos e realizar uma boa cobertura de teste.