Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementação de testes funcionais #86

Closed
HaylaPBV opened this issue Dec 16, 2023 · 1 comment · Fixed by #87, #88 or #89
Closed

Implementação de testes funcionais #86

HaylaPBV opened this issue Dec 16, 2023 · 1 comment · Fixed by #87, #88 or #89
Labels
Avaliacao A5 Issue criada para a Avaliação A5 de MC426.

Comments

@HaylaPBV
Copy link
Contributor

Unidade 1: Login (Senha)

A senha do usuário apresenta uma série de regras de validação. Para essa unidade, podemos aplicar a divisão em classes de equivalência e a análise de valor limite.

Condição de Entrada Válida Inválida
Ter entre 8 e 50 caracteres 8 <= t <= 50 t < 8 ou t > 50
Conter letras maiúsculas Sim Não
Conter letras minúsculas Sim Não
Conter números Sim Não
Conter um caractere especial dentre '/"/!/@/#/$/%/&/*/-/_/=/+/;/:/? Sim Não

No caso do comprimento da senha, podemos aplicar a análise de valor limite. Assim, é possível testar o comprimento nos limites do intervalo válido (7, 8, 50 e 51 caracteres).

Unidade 2: Formulário de Denúncia (Data)

Para a unidade de denúncia, percebe-se que é possível aplicar uma análise de valor limite para sua data, definindo o caso mínimo como o timestamp inicial e a data máxima como sendo o dia atual do envio da denúncia.

Condição de Entrada Válida Inválida
Data entre timestamp inicial e dia atual 1970-01-01 <= t <= now() t < 1970-01-01 ou t > now()

Unidade 3: Resultado da Busca

Para a unidade de busca por empresas, podemos utilizar um grafo de causa-efeito com base no termo de busca utilizado pelo usuário. Se a query com o termo exato digitado pelo usuário tiver sucesso, a empresa retornada é um resultado válido. Caso a query com valor exato não retorne nenhuma empresa, é utilizado o Trigram (com score de 2) para determinar se uma empresa será um resultado válido ou não. O grafo pode ser visto abaixo:

Grafo de causa-efeito

Para o Trigram, podemos também utilizar análise do valor limite para verificar se o score está correto.

Note que, no pull request associado a essa unidade, apenas um caso de teste pré-existente foi alterado. Isso se dá porque, ao longo do desenvolvimento do projeto, os testes foram criados conforme as features eram implementadas. Desse modo, grande parte do grafo de causa-efeito já estava implementada nas classes TrigramTestCase e SearchTestCase e foi necessário apenas alterar um teste para implementar o valor limite.

@HaylaPBV HaylaPBV added the Avaliacao A5 Issue criada para a Avaliação A5 de MC426. label Dec 16, 2023
@Lozavival Lozavival linked a pull request Dec 16, 2023 that will close this issue
This was linked to pull requests Dec 16, 2023
@Lozavival
Copy link
Member

Prints mostrando o resultado dos teste:

Unidade Report

Unidade Search

Unidade Validator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Avaliacao A5 Issue criada para a Avaliação A5 de MC426.
Projects
None yet
2 participants