0% acharam este documento útil (0 voto)
37 visualizações41 páginas

3 Testes

haba
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
37 visualizações41 páginas

3 Testes

haba
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 41

3º Módulo – Técnico em Desenvolvimento de Sistema

Professoras Caroline e Angela


É o responsável por identificar e definir os testes exigidos, monitorar o
processo de teste em detalhes e os resultados em cada ciclo de teste e
avaliar a qualidade geral. Deve garantir a qualidade dos componentes
produzidos por meio da verificação de evidência de testes e utilização de
técnicas especializadas em testes de programas e sistemas.

https://www.trt9.jus.br/pds/pdstrt9/roles/tests_analyst_7DF07642.html
https://www.catho.com.br/profissoes/analista-de-testes
https://www.vagas.com.br/cargo/analista-de-testes
O QUE É TESTE DE SOFTWARE?

É a verificação feita sobre um sistema ou parte dele para


garantir que uma determinada entrada produza, sempre,
uma saída esperada.

Questões:

1) Quando testar?
2) Como testar?
3) O que testar?
TESTE DE SOFTWARE
QUANDO TESTAR?
NÍVEIS DE TESTE
QUANDO TESTAR?

TESTE DE REGRESSÃO

TESTE BETA

NÍVEIS DE TESTE TESTE ALFA

TESTE DE ACEITAÇÃO

TESTE SISTEMA

TESTE INTEGRAÇÃO

TESTE DE UNIDADE
TESTE DE UNIDADE
 Objetivo: encontrar falhas de funcionamento dentro de uma pequena
parte do sistema funcionando independentemente do todo.

 Feitos pelo programador.

 O alvo são sub-rotinas, métodos, classes, i.e., as menores unidades do


sistema.

 Geralmente é automatizado, através de ferramentas como Junit,


PHPUnit, XXXUnit e outras.

 Precisa estar sempre atualizado, coerente com as regras de negócio


atuais do sistema.
TESTE DE UNIDADE
Criação de classe de teste que compara os resultados obtidos na
execução dos métodos das classes.
TESTE DE INTEGRAÇÃO
 Objetivo: validar a comunicação entre os componentes de um sistema.

 Feitos pelo programador

 O alvo são funcionalidades que envolvem a integração de componente.

 Geralmente os tipos de falhas encontradas são de transmissão de dados


 Ex.: um componente A invoca um método de um componente B espera
um valor inteiro, porém, vem um valor decimal, causando uma falha no
componente A.

 Geralmente é automatizado, através de ferramentas como Junit, PHPUnit...

 Podem ser feitos antes de o sistema estar concluído, à medida em que os


componentes vão ficando prontos
TESTE DE INTEGRAÇÃO
Ex.: Componente de geração de boleto bancário, com a integração de
3 componentes.
-Conexão com Banco de Dados

Calculadora
• Retorno: Juros • Retorno: foi
quantidade de • Retorno: possível ou não
dias percentual de gerar boleto
• Tipo: inteiro juros por dia • Tipo: booleano
• Tipo: decimal
Calculadora Processadora
Atraso Pagamentos
TESTE DE SISTEMA

 Objetivo: executar o sistema sob ponto de vista de seu usuário final,


varrendo as funcionalidades em busca de falhas em relação aos
objetivos originais.

 Planejados e executados pela equipe de teste

 Cenários de teste coerentes com os requisitos especificados para o


sistema.

 São realizados após a codificação do sistema estar concluída


TESTE DE SISTEMA
Ex.: Cadastro de usuário, via navegador, inserindo dados inválidos ou
incorretos para testar a resposta do sistema.
TESTE DE ACEITAÇÃO
 Objetivo: executar o sistema sob ponto de vista de seu usuário final,
varrendo as funcionalidades em busca de falhas em relação aos
objetivos originais.

 Planejados e executados por um grupo restrito de usuários finais do


sistema, que simulam operações de rotina do sistema de modo a
verificar se seu comportamento está de acordo com o solicitado.

 Visa permitir ao cliente determinar se aceita ou não o sistema.


TESTE ALFA
 Objetivo: executar o sistema de forma não planejada, sob ponto de
vista de seu usuário final, porém, apenas por um grupo pequeno de
pessoas.

 Visa a identificação de possíveis erros não detectados até o


momento, encontrados enquanto mais usuários finais utilizam o
sistema de forma natural, não planejada.

 Representantes do time de programadores irão acompanhar de


perto estes testes para coletar possíveis falhas a serem corrigidas e
melhorias a serem implementadas
TESTE ALFA
 O grupo restrito de usuários que testarão geralmente é
composto por membros da própria organização e
também do cliente.
TESTE BETA
 Objetivo: executar o sistema de forma não planejada, sob ponto de
vista de seu usuário final, porém, por um grupo grande de pessoas.

 Visa a identificação de possíveis erros não detectados até o momento,


encontrados enquanto ainda mais usuários finais utilizam o sistema de
forma natural, não planejada.

 Representantes do time de programadores não irão fazer


acompanhamento e coleta de erros. No teste Beta, os usuários é que
reportam os erros encontrados.
TESTE BETA

O grupo de usuários
que testarão
geralmente são
usuários reais e
desconhecidos, sendo
de uma determinada
localidade, idioma ou
que satisfizeram
determinados critérios
definidos pelo
fornecedor do sistema.
TESTE DE REGRESSÃO
 Objetivo: reexecutar testes após alterações serem realizadas no
sistema, para conferir se tudo continua funcionando corretamente
(detectar efeitos colaterais):

• Após mudanças de regras durante o desenvolvimento


• Após a correção de uma falha encontrada
• Após a implementação de melhorias para lançamento de novas
versões.

 Consiste em se aplicar, a cada nova versão do software ou a cada


ciclo, todos os testes que já foram aplicados nas versões ou ciclos de
teste anteriores do sistema.
TESTE DE REGRESSÃO

Ex.: correções de erros em atualizações do Windows: os testes


anteriormente escritos devem ser novamente aplicados para ter
certeza que a atualização não impactou o restante dos recursos.
O QUE É TESTE DE SOFTWARE?

É a verificação feita sobre um sistema ou parte dele para


garantir que uma determinada entrada produza, sempre,
uma saída esperada.

Questões:

1) Quando testar?
2) Como testar?
3) O que testar?
TESTE DE SOFTWARE
COMO TESTAR?
TÉCNICAS DE TESTE
TESTE DE SOFTWARE
TÉCNICAS DE TESTE

• Teste de Métodos e Classes Teste baseado em


• Teste de Comandos de Repetição entradas e saídas de
• Teste de Condições Cenários Macro
A análise estática de código é uma das práticas que verifica a
qualidade do código-fonte. Esta verificação é realizada antes
mesmo que haja execução do software.

Está relacionada à verificação, pois analisa como o código-fonte


foi construído internamente e é realizada com base num
conjunto de regras pré-estabelecidas.
Verificação por estilo: Considera
elementos como indentação,
espaços e tabs, convenção de
nomes, número de parâmetros,
alinhamento na vertical, formato e
presença de comentários, dentre
outros. São todos os aspectos que
contribuem para tornar o código
mais padronizado, organizado e
legível. Considerar a
documentação de padronização da
linguagem de programação.
Verificação por bugs: Trata de encontrar erros no sistema. Isto é
importante para antecipar a identificação de problemas no software (até
antes mesmo de sua execução pelo cliente).
Verificação por boas
práticas: Aplica uma gama de
regras para verificar se práticas
corretas estão sendo realizadas,
como evitar duplicação de código,
tamanho de métodos e classes,
tamanho de parâmetros, criação
desnecessária de variáveis locais e
muitas outras.

https://www.youtube.com/watch?v=kfFEulG6qkI

http://www.devwilliam.com.br/extra/profissional/10-boas-praticas-de-programacao
TESTE ESTÁTICO (ANÁLISE ESTÁTICA)

 Objetivo: analisar o código sem executá-lo e verificar se as boas


práticas adotadas foram obedecidas.

 Existem ferramentas conhecidas como lint ou linter que fazem a


análise estática do código.
• Ex.: Findbugs, PHP CodeSniffer, Ndepend, entre outras.

 Outra opção é configurar a IDE ou adicionar extensões no editor que


podem indicar correções de erros da linguagem ou de estilo de
codificação.

https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
TESTE ESTÁTICO (ANÁLISE ESTÁTICA)

 Perguntas importantes:

• Código está documentado?


• Variáveis e constantes possuem boa nomenclatura?
• Código está organizado e com boa legibilidade?
• Existem possíveis variáveis não inicializadas ou nulas não tratadas
pelo programador?
• O programador obedeceu à arquitetura do sistema ao codificar?
• As conexões com o banco de dados estão sendo fechadas após
utilizadas?
TESTE ESTÁTICO (ANÁLISE ESTÁTICA)
TESTE DINÂMICO

 Objetivo: validar o sistema


através de sua execução.

 É o método tradicional: insere


uma entrada, executa o
sistema e confere a saída.

 As análises estáticas e
dinâmicas se complementam
TÉCNICAS DE TESTE
VELOCIDADE DE EXECUÇÃO BAIXA EXECUÇÃO MUITO RÁPIDA
MANUAIS AUTOMÁTICOS

REPETITIVO E CANSATIVO NÃO CANSAM E NÃO SEMTEM PREGUIÇA

NÃO EXIGE TECNOLOGIAS EXIGE DOMÍNIO DAS TECNOLOGIAS

ALTO CUSTO A CADA EXECUÇÃO ALTO CUSTO APENAS NA CRIAÇÃO

POSSUEM LIMITAÇÕES QUANDO ENVOLVE PERMITE TESTAR SITUAÇÕES IMPOSSÍVEIS


GRANDE PARALELISMO DE TESTAR MANUALMENTE

PODEM EXPLORAR ALÉM DO CENÁRIO DE FAZ APENAS O PROGRAMADO


TESTE

PODEM AVALIAR QUESTÕES VISUAIS NÃO AVALIAM QUESTÕES VISUAIS

PODEM AVALIAR QUESTÕES DE


NÃO AVALIAM USABILIDADE
USABILIDADE
O QUE É TESTE DE SOFTWARE?

É a verificação feita sobre um sistema ou parte dele para


garantir que uma determinada entrada produza, sempre,
uma saída esperada.

Questões:

1) Quando testar?
2) Como testar?
3) O que testar?
TESTE DE SOFTWARE
O QUE TESTAR?
TIPOS DE TESTE
TESTE DE FUNCIONALIDADE
 Objetivo: validar que as funcionalidades do sistema estão
funcionando corretamente.

 Envolve:
• Unidade
• Integração
• Sistema
• Aceitação
• Alfa
• Beta
• Regressão
TESTE DE DESEMPENHO
 Objetivo: validar o desempenho do sistema no que diz respeito ao
seu tempo de resposta para determinadas operações.

 Exemplos:
• Tempo de resposta de um sistema bancário para processar uma
operação
• Tempo de resposta do whatsapp para fazer upload de fotos
• Tempo de resposta de um robô médico para responder a
comandos

 Ferramenta: Jmeter
TESTE DE USABILIDADE
 Objetivo: validam aspectos que envolvem a experiência do
usuário ao utilizar o sistema.

 Exemplos:
• Estética de um website
• Definição e disposição de cores da interface do aplicativo
• Tipo de interface a ser utilizada: Touch screen? Gestos?
Sensível ao som?
• Ajuda on-line e contextual
• Manual do usuário
TESTE DE SEGURANÇA
 Objetivo: validam a proteção do sistema contra invasões ou
acesso não autorizado a informações.

 Exemplos:
• Sites com acesso restrito
• Tráfego de informações criptografadas
TESTE DE PORTABILIDADE
 Objetivo: valida o funcionamento do sistema em diferentes
plataformas e dispositivos, nas quais o sistema está proposto a
funcionar.

 Exemplos:
• IOS,
• Android,
• Windows,
• Linux,
• Smarphones,
• Tablets,
• Notebooks, etc.
TESTE DE STRESS
 Objetivo: validam o comportamento do sistema em condições extremas.

 O stress no sistema pode abranger cargas de trabalho extremas, memória


insuficiente, hardware e serviços indisponíveis ou recursos compartilhados
limitados.

 Executados o quanto antes para se ter o tempo necessário para corrigir ou


melhorar o desempenho do sistema conforme necessário.

 Exemplos:
• Sobrecarga de acesso a um website.
• Sobrecarga de processamento em um sistema de gestão de clientes.
Ex.: extração de relatórios grandes em paralelo
ETAPAS DE DESENVOLVIMENTO DE TESTE

CENÁRIOS DE
EXECUÇÃO DOS
TESTE DE
• REQUISITOS • ARQUITETURA TESTES
SISTEMA
• EX: cadastro de • TECNOLOGIAS
cliente, login,
• ESPECIFICAÇÃO • SISTEMA
TÉCNICA DAS • CODIFICAÇÃO • ACEITAÇÃO
locação de filmes, FUNCIONALIDADES
etc • OPERAÇÕES DO • ALFA
CENÁRIOS DE SISTEMA
TESTES DE
• BETA
TESTE DE UNIDADE E
ACEITAÇÃO INTEGRAÇÃO

Você também pode gostar