Mentoria 1.0
Dia 2: Principais
conceitos da área
Agenda
Dia 1:
Quem sou EU e Quem são vocês.
História da Qualidade de Software. Como
tudo começou até os dias atuais.
Dia 2:
Principais conceitos na área
Dia 3:
Principais ferramentas da área e
Metodologias
Dia 4:
Mão na massa: cenários de testes e
gerência de bug.
Dia 5:
Mão na massa: testes automatizado de
interface web
Dia 6:
Qualidade web versus Qualidade mobile
Dia 7:
Atualizando o currículo/linkedin
Dia 8:
Simulação de entrevista
2
Conjunto de passos ao qual é possível alocar
técnicas e estratégias. Pode ser planejado e
realizado sistematicamente
*O processo de testes deve ser revisado continuamente de
maneira a ampliar sua atuação e assim dar uma maior visibilidade a
organização do seu trabalho
Processo de Testes
Exemplo
Criar cenários
de Testes
Executar os
testes
Registrar
bugs
Tem
bugs?
Comunicar
equipe
Preparar
entrada em
PRD
SIM
NÃO
Técnicas de testes
caixa branca caixa preta
+
caixa cinza
Verificação e Validação
Verificação: estamos construindo certo o
produto?
Ex.: Está igual a lista de requisitos
Validação: estamos construindo o produto
certo
Ex.: nosso produto serve para o usuário
Teste e Qualidade
Teste: é a ação. Uma fase. gera informação sobre a
qualidade do produto
Ex.: teste de unidade, teste de interface
Qualidade: é uma forma de pensar. É um conceito
mais amplo. Envolve produto, processo e pessoas.
Ex.: O produto possui muitos bugs em produção
Tipos de Testes
Unidade: verifica a menor unidade do projeto. Ex:
método, classe, variável.
#
Integração: verifica a estrutura do programa. A
arquitetura. A conexão entre as partes
#
Interface: verifica o sistema diante uma interface
#
Tipos de Testes
Segurança: verifica verifica se todos os mecanismos de
proteção ao sistema o protegerão (LGPD - lei de proteção
aos dados, virus, malware..).
#
Performance: existem três tipos
Carga: aumento gradativo da carga (5, 10, 15…)
Desempenho: capacidade da aplicação
Estresse: maior que o esperado
#
Projeto de testes
Todos os elementos que estarão envolvidos na
abordagem dos testes
Ex.: plano de testes, estratégia de testes, casos
de testes...
Plano de testes / Estratégia de Testes
Quem irá testar?
Quando?
Que ferramentas
iremos utilizar?
Qual o ambiente?
Onde ficarão os
cenários de testes?
Onde registra os
bugs?
Qual a forma de
registrar?
Que tipo de testes
faremos?
Suíte de testes
Conjunto de cenários de testes
Cenários de testes / Casos de testes
Passo a passo do que testar
Testlink
Ferramenta open source para gerenciamento
de testes:
Suite, cenários, plano de testes...
Evidência
Comprovação em formato de imagem, áudio
ou vídeo de alguma afirmação:
Ex.: os cenários de testes estão concluídos e
todos funcionando
Existe um bug nesta tela
Testes manuais
Execução dos testes por uma ou mais pessoa
Testes automatizados
Execução dos testes por “máquina”
Os testes foram programados por uma pessoa mas quem executa é uma
máquina
Ambientes
1 - Desenvolvimento (ou local): ambiente mais
simples, suficiente para começar a programar.
2 - Homologação (UAT): ambiente de testes
semelhante ao ambiente real.
2.1 - Qualidade: ambiente onde os Tester
realizam as atividades de testes.
3 - Produção: ambiente real.
Testes de Regressão
Testar tudo o que já estava pronto antes de
novas mudanças.
Pirâmide de testes
Processo de Desenvolvimento
Estratégia de fluxo durante o desenvolvimento
desde o início até a mão do usuário final e/ou
manutenção.
Tradicional: Cascata
Ágil: Scrum, Kanban, Lean..
Testes funcionais e não-funcionais
Funcionais: faz referência as funções
identificadas do sistema.
Ex.: Cadastrar usuário, Fazer login
Não- funcionais: não é uma função do sistema
mas, pode afetar o sistema.
Ex.: browsers, segurança, performance...
Bug
Inconsistência encontrada no sistema.
Cliente e Usuário Final
Cliente: quem paga as contas. Quem contratou
a equipe
Usuário Final: quem vai usar de fato o sistema
*Stakeholders: todos as pessoas envolvidas ou
atingidas pelo projeto.
Mais coisas..
Risco: fator que pode resultar em
consequências futuras negativas
Script de testes: sequência de instruções para
executar os testes. Um grupo de comandos
API: camada de aplicação do programa sem
interface gráfica e que funciona através de
requisições
Mais coisas...
Teste ágil: abordagem de testes adaptada ao modelo
Ágil
Testes tradicional: abordagem de testes adaptada ao
modelo tradicional
Cobertura de testes: quantidade de testes
Testes de aceitação: testa se o sistema será aceito
Testes exaustivos: bateria de testes que contém todas as
combinações de entradas e pré-condições
Mais coisas...
Análise estática: analisar itens que compõe o software
sem a sua real execução.
Analise dinâmica: analisar itens que compõe o software
após sua execução
Critérios de aceite: item ou lista de itens que o sistema
deve apresentar para ser considerado pronto

Principais conceitos em testes de software

  • 1.
    Mentoria 1.0 Dia 2:Principais conceitos da área
  • 2.
    Agenda Dia 1: Quem souEU e Quem são vocês. História da Qualidade de Software. Como tudo começou até os dias atuais. Dia 2: Principais conceitos na área Dia 3: Principais ferramentas da área e Metodologias Dia 4: Mão na massa: cenários de testes e gerência de bug. Dia 5: Mão na massa: testes automatizado de interface web Dia 6: Qualidade web versus Qualidade mobile Dia 7: Atualizando o currículo/linkedin Dia 8: Simulação de entrevista 2
  • 3.
    Conjunto de passosao qual é possível alocar técnicas e estratégias. Pode ser planejado e realizado sistematicamente *O processo de testes deve ser revisado continuamente de maneira a ampliar sua atuação e assim dar uma maior visibilidade a organização do seu trabalho Processo de Testes
  • 4.
    Exemplo Criar cenários de Testes Executaros testes Registrar bugs Tem bugs? Comunicar equipe Preparar entrada em PRD SIM NÃO
  • 5.
    Técnicas de testes caixabranca caixa preta + caixa cinza
  • 6.
    Verificação e Validação Verificação:estamos construindo certo o produto? Ex.: Está igual a lista de requisitos Validação: estamos construindo o produto certo Ex.: nosso produto serve para o usuário
  • 7.
    Teste e Qualidade Teste:é a ação. Uma fase. gera informação sobre a qualidade do produto Ex.: teste de unidade, teste de interface Qualidade: é uma forma de pensar. É um conceito mais amplo. Envolve produto, processo e pessoas. Ex.: O produto possui muitos bugs em produção
  • 8.
    Tipos de Testes Unidade:verifica a menor unidade do projeto. Ex: método, classe, variável. # Integração: verifica a estrutura do programa. A arquitetura. A conexão entre as partes # Interface: verifica o sistema diante uma interface #
  • 9.
    Tipos de Testes Segurança:verifica verifica se todos os mecanismos de proteção ao sistema o protegerão (LGPD - lei de proteção aos dados, virus, malware..). # Performance: existem três tipos Carga: aumento gradativo da carga (5, 10, 15…) Desempenho: capacidade da aplicação Estresse: maior que o esperado #
  • 10.
    Projeto de testes Todosos elementos que estarão envolvidos na abordagem dos testes Ex.: plano de testes, estratégia de testes, casos de testes...
  • 11.
    Plano de testes/ Estratégia de Testes Quem irá testar? Quando? Que ferramentas iremos utilizar? Qual o ambiente? Onde ficarão os cenários de testes? Onde registra os bugs? Qual a forma de registrar? Que tipo de testes faremos?
  • 12.
    Suíte de testes Conjuntode cenários de testes
  • 13.
    Cenários de testes/ Casos de testes Passo a passo do que testar
  • 14.
    Testlink Ferramenta open sourcepara gerenciamento de testes: Suite, cenários, plano de testes...
  • 15.
    Evidência Comprovação em formatode imagem, áudio ou vídeo de alguma afirmação: Ex.: os cenários de testes estão concluídos e todos funcionando Existe um bug nesta tela
  • 16.
    Testes manuais Execução dostestes por uma ou mais pessoa
  • 17.
    Testes automatizados Execução dostestes por “máquina” Os testes foram programados por uma pessoa mas quem executa é uma máquina
  • 18.
    Ambientes 1 - Desenvolvimento(ou local): ambiente mais simples, suficiente para começar a programar. 2 - Homologação (UAT): ambiente de testes semelhante ao ambiente real. 2.1 - Qualidade: ambiente onde os Tester realizam as atividades de testes. 3 - Produção: ambiente real.
  • 19.
    Testes de Regressão Testartudo o que já estava pronto antes de novas mudanças.
  • 20.
  • 21.
    Processo de Desenvolvimento Estratégiade fluxo durante o desenvolvimento desde o início até a mão do usuário final e/ou manutenção. Tradicional: Cascata Ágil: Scrum, Kanban, Lean..
  • 22.
    Testes funcionais enão-funcionais Funcionais: faz referência as funções identificadas do sistema. Ex.: Cadastrar usuário, Fazer login Não- funcionais: não é uma função do sistema mas, pode afetar o sistema. Ex.: browsers, segurança, performance...
  • 23.
  • 24.
    Cliente e UsuárioFinal Cliente: quem paga as contas. Quem contratou a equipe Usuário Final: quem vai usar de fato o sistema *Stakeholders: todos as pessoas envolvidas ou atingidas pelo projeto.
  • 25.
    Mais coisas.. Risco: fatorque pode resultar em consequências futuras negativas Script de testes: sequência de instruções para executar os testes. Um grupo de comandos API: camada de aplicação do programa sem interface gráfica e que funciona através de requisições
  • 26.
    Mais coisas... Teste ágil:abordagem de testes adaptada ao modelo Ágil Testes tradicional: abordagem de testes adaptada ao modelo tradicional Cobertura de testes: quantidade de testes Testes de aceitação: testa se o sistema será aceito Testes exaustivos: bateria de testes que contém todas as combinações de entradas e pré-condições
  • 27.
    Mais coisas... Análise estática:analisar itens que compõe o software sem a sua real execução. Analise dinâmica: analisar itens que compõe o software após sua execução Critérios de aceite: item ou lista de itens que o sistema deve apresentar para ser considerado pronto