by Luiz Lins
A palavra "teste" é um anglicismo, vindo do inglês "test", que se refere a uma prova ou experimento.
A sigla QA significa “Quality Assurance” (ou, do português: garantia de qualidade) e se carateriza pelo processo sistemático para que produtos ou serviços atendam a padrões de qualidade estabelecidos.
Fonte: https://softdesign.com.br/blog/o-papel-do-qa-no-time-de-produto/#:~:text=A%20sigla%20QA%20significa%20%E2%80%9CQuality,a%20padr%C3%B5es%20de%20qualidade%20estabelecidos.
Uma forma de analisar a usabilidade de um produto com pessoas reais.
O que é teste de usabilidade?
moderado
não moderado
características:
- presencial ou remoto
- supervisão direta
- aberto para conversas
- geram mais insights
- podem ser mais caros
características:
- presencial ou remoto
- sem supervisão
- fácil de elaborar
- rápido de aplicar
- baixo custo
Não existe o melhor!
os métodos de um teste de usabilidade, quais são?
características:
- debate entre participantes
- feedbacks imediatos
características:
- verificar as funções gerais do produto
- analisar a satisfação
características:
- propõe duas soluções
- identificar qual é o cenário ideal
Nem todos os fluxos são importantes
se você não tem certeza se aquilo está intuitivo
se existem várias formas de concluir o objetivo
se você precisa verificar se um cenário está melhor
porque estou querendo testar isso?
Digitar nome
Digitar senha
Confirmar
Redirecionar para página
Não digitar campo obrigatório
Senha incorreta
Sempre ficar atendo ao fluxo de teste.
– Alura
Ao tentar se logar e falhar 3 vezes consecutivas o usuário terá que esperar 15 minutos para tentar logar novamente.
Digitar nome
Digitar senha
Confirmar
Redirecionar para página
Não digitar a senha
Senha
incorreta 3x
Bloqueio de
15 minutos
Outra regra
Cenário
Senha
incorreta 3x
Usuário inexistente
Senha incorreta
Senha obrigatória
Usuário obrigatório
Criar um fluxograma dos cenários de acesso à plataforma que será apresentada ao professor Chistiano.
Vamos testar o cypress
>> npm install cypress --save-dev
>> npx cypress open
Vamos testar o cypress
FrontEnd
>> https://github.com/alura-cursos/vollmedclient
BackEnd
>> https://github.com/alura-cursos/3745-cypress-volserver
Vamos versionar nosso código
branchs
>> producao
>> main
>> desenvolvimento
>> testes
rodar
BackEnd
npm install && npm start
FrontEnd
npm install && npm start
Configurar baseurl
const { defineConfig } = require("cypress");
module.exports = defineConfig({
e2e: {
setupNodeEvents(on, config) {
// implement node event listeners here
},
baseUrl: 'http://localhost:3000/',
video: true,
reporter: 'mochawesome',
reporterOptions: {
reportDir: 'cypress/results',
overwrite: false,
html: true,
json: false,
timestamp: "mmddyyyy_HHMMss"
}
},
});
.get(element)
it('Clica no link "Cadastra-se" e redireciona para a página de cadastro da clínia', () => {
cy.get('[href="/cadastro"]').click()
})
.location(path)
.should(conditions, path)
it('Clica no link "Cadastra-se" e redireciona para a página de cadastro da clínica', () => {
cy.get('[href="/cadastro"]').click()
cy.location('pathname').should('equal', '/cadastro')
})
it('Digita dados da clinica e exibe a área para inserção de dados técnicos', () => {
cy.get('[href="/cadastro"]').click()
cy.get('[data-test="inputNome"]').type('Catarina P')
cy.get('[data-test="inputCNPJ"]').type('123598432')
cy.get('[data-test="inputEmail"]').type('catarina@email.com')
cy.get('[data-test="inputSenha"]').type('Senha123')
cy.get('[data-test="inputSenhaVerificada"]').type('Senha123')
cy.get('.sc-bcXHqe').click()
cy.contains('h2', 'Agora, os dados técnicos:').should('be.visible')
cy.get('.sc-laZRCg').should('exist').should('be.visible')
})
Desenvolvimento guiado por comportamentos
como definir isso?
Todo mundo é responsável pela qualidade.
– Alura
https://cucumber.io/docs/gherkin/reference
Precisam de testes de pré-lançamento?
SIM
Podem apresentar bugs?
NÃO/SIM
Precisam passar outra validação além do QA?
SIM
Definição de pronto;
* Define se uma atividade foi concluída ou não;
* Vale para todas as funcionalidades;