| Plano de Teste | ||
| Teste de Unidade e Integração | ||
| Teste e2e Cypress | ||
| README.md | ||
Disciplina de Teste de Software
- Conhecer os conceitos de teste de software;
Atividade de teste de software => “Os testes são destinados a mostrar o que um programa faz, o que pretende fazer e para descobrir os defeitos do programa antes desse ser colocado em uso” - Sommerville
Verificação => Fazer correto o software, Necessidade de especificação Validação => Fazer software correto, Necessidade dos stakeholders
Defeito => Um processo ou definição de dados incorretas Erro => Falha =>
Processo do Teste de Software =>
- Entender os conceitos de testes unitários, de integração, de sistemas e de aceitação
Testes estáticos => Voltados para analisar o código sem necessariamente executá-lo, verificando se algumas boas práticas e formatação padronizada foram adotadas na implementação;
Testes unitários => São utilizados para verificar o comportamento das menores unidades de código da aplicação (Jest Framework)
Teste de Integração => São as fases do teste de software em que módulos são combinados e testados como um conjunto;
Teste de Sistemas =>
Teste E2E (End-to-End) - é um método de teste utilizado para testar um fluxo da aplicação desde o começo até o fim.
Teste de Aceite => exemplo; Selenium
*Implementar testes de interface com Selenium; Prática no navegador
-> Pre requisitos
Node.js (Versão 16.0.0 LTS) https://nodejs.org/en/
Visual Studio Code (VSC) (Usaremos extensões do code para realizar o teste) https://code.visualstudio.com/
*ESlint para Teste Estático
npm init –y // para inicializar um projeto NPM. npm install --save-dev eslint@8.16.0 --save-exact npx eslint --init
- Instalar a extensão do ESlint
Jest => um framework de testes muito utilizado com o JavaScript
npm install --save-exact jest@28.1.0 -- save-dev
npm run test
Alterar o package.json na linha "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
Asserção => Asserção significa afirmação. É com as asserções que iremos afirmar o comportamento esperado do nosso código.
Assim como os blocos de describe (descrição) e it (um apelido), são funções que possuem uma nomenclatura semântica. Podemos pensar na utilização das asserções em duas partes: valor atual (ou de entrada/esperado);
valor a ser comparado (ou de saída/resultado). Com base nesses dois valores, conseguimos sempre organizar nossos testes.
Documentação => https://nodejs.org/dist/latest-v16.x/docs/api/assert.html
assert.strictEqual(atual, esperado, mensagem)
Praticando -Teste de Unidade-
https://github.com/alura-cursos/2495_node_testes/tree/aula-3-pre
Praticando -Teste Integração e de API- https://github.com/alura-cursos/2495_node_testes/tree/aula-4-pre