Skip to content

AndersonCosta08/unittest_req

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trabalho: Teste unitário

O trabalho faz parte de uma pesquisa em que envolve geração de código de teste unitário por uma LLM, a partir de um documento de Casos de Uso de um projeto. A fim de gerar o código de teste unitário, são gerados dois artefatos intermediários, os quais são: requisitos de um Caso de Uso e Casos de Teste de todos os requisitos gerados previamente. Finalmente, a LLM é instruída a escrever o código de teste unitário de um Caso De Teste.

O documento de Casos de Uso é de um projeto web chamado "SuperFrog Scheduler". SuperFrog é o mascote da Universidade Cristã de Texas, e tem participação em vários eventos anualmente, como esportes, mídia e caridades. O projeto tem a função de facilitar o agendamento e administração dos aparecimentos dos alunos que participam como SuperFrog.

O Caso de Uso que será analisado neste trabalho será o Caso de Uso 18: The Spirit Director generates TCU Honorarium (Payment for services) Request Forms.

Instruções

O trabalho consiste em escrever 2 testes unitários, usando a biblioteca pytest, para dois casos de teste diferentes. Será providenciado o documento de Casos de Uso (superfrog.pdf) e todos os artefatos intermediários gerados - requisitos e casos de teste - (trabalho_artefatos.md). Também deverá ser entregue código de teste unitário gerado por LLM para cada caso. Logo, deverá ser entregue:

  • Código de teste unitário escrito manualmente para cada caso de teste
  • Codigo de teste unitário gerado por LLM para cada caso de teste

Nomeie os arquivos de acordo com seu conteúdo: Por exemplo: teste_llm.py. teste_manual.py.

O código deve passar no teste. O código de teste precisa da implementação do código principal para que rode. Este código pode ser puramente para o teste passe, e não precisa ser uma implementação real.

Vou saber identificar se os códigos são escritos por LLM. Não tente a sorte!

Os Casos de Testes para serem estudados são: Test Case 3: Retrieve Completed Appearance Requests e Test Case 5: Generate TCU Honorarium Request Forms.

Leia o caso de uso e todos os artefatos intermediários (requisitos e casos de testes), e não apenas os casos escolhidos! Será necessário entender sobre o que se trata o Caso de Uso, o fluxo do processo e o contexto para escrever os testes. Os artefatos intermediários são a chave da construção do código.

Instalando e rodando o pytest

Caso não tenha o python instalado, baixe o executável do site. Depois da instalação, baixe o pytest usando pip install pytest no terminal ou no terminal do VSCode (ou outra ferramenta de sua escolha).

Para rodar o código de teste, use pytest nome_do_arquivo.py.

A pesquisa

A pesquisa em que esta atividade está incluída tem o objetivo de tirar conclusões de código de teste unitário escrito por LLM e por humanos e fazer uma análise qualitativa. Esta primeira etapa consiste da produção do código de teste unitário humano. As próximas etapas envolverão a permutação dos códigos dos alunos, e um questionário para fins de pesquisa. Para isso, é essencial que o código escrito seja escrito manualmente, para que os dados obtidos sejam relevantes para a condução da pesquisa.

DÚVIDAS: janine.m@poli.ufrj.br

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published