TesteDotNet
O .NET Core 2.0 foi o framework escolhido para demonstrar minhas habilidades, o banco de dados utilizado foi MDF. É só baixar a solução e executar.
As funcionalidades implementadas nesse teste estão informadas e comentadas abaixo:
- Implementar a funcionalidade de adicionar item;
- Implementar a funcionalidade de alterar um item existente;
- Implementar a funcionalidade de deletar um item;
- Implementar a funcionalidade de visualizar;
- Implementar as funcionalidades dos botões de salvar, cancelar e voltar;
- Implementar a funcionalidade de não permitir o cadastro de mais de um item com o mesmo nome;
- Implementar a confirmação antes da exclusão de um item (pode ser um confirm do JavaScript);
- Foi utilizado o modal do bootstrap;
- Implementar a busca de itens por nome;
- Implementar busca por nome, código, categoria e data (tudo no mesmo campo de busca);
- Implementar um ou mais design patterns:
- DI - Dependency Injection;
- BDD - Behavior Driven Development:
Para implementar o BDD foi criado um documento utilizando a formatação gherkin com as especificação das funcionalidades, este documento no ciclo de desenvolvimento serve tanto como especificação e como guia para a criação dos cenários de teste, por isso esse documento ficou dentro do projeto de teste;
Recorte da primeira parte do documento:
#language: pt-br
Funcionalidade: TesteDotNet.Core2_0
Como um usuário do sistema
Quero utilizar as funções do cadastro simples de items
@CenarioTeste
Cenário: Implementar a funcionalidade de ADICIONAR
Dado que eu acesse a pagina "inicial"
Quando eu clicar no botão "Novo Item"
Então eu verei o texto "Adicionar Item"
Quando no campo "Nome" eu digitar "novoItem"
E no campo "Descricao" eu digitar "novaDescricao"
Quando eu selecionar no campo "CategoriaId" o valor "Renda Fixa"
Quando eu clicar no botão "Salvar"
Então eu verei o item digitado "novoItem"
- Implementar Testes
de Unidade e/ouIntegração (+ Regressão UI):- Para trabalhar com o teste guiado por BDD, foi utilizado o framework SpecFlow, o teste não se restringiu a somente a integração, mas sim um teste de regrassão de UI, para isso foi utilizado em conjunto o Selenium WebDriver
Com o arquivo criado para implementar o BDD, foi programados os steps dos cenários.
Depois a ferramenta SpecFlow gerar a lista dos testes para ser executado de dentro do Visual Studio como um teste qualquer.
Cada step do teste gera um screenshot de evidência e salva na pasta ResultadosTesteBDD
Obs: Para executar os testes de regressão na máquina é necessário que pelo menos uma vez tenha startado a aplicação do projeto principal, depois é só mandar executar os testes e acompanhar o selenium interagindo com o chrome ou olhar as evidências sendo gravadas na pasta local TesteDotNet/NetCore2/ResultadosTesteBDD