O documento discute a importância dos testes de software, destacando que testar não é uma tarefa simples e requer conhecimento e habilidades específicas. Apresenta os principais tipos de testes realizados pela equipe, como teste funcional e de desempenho. Argumenta que testar é essencial para garantir a qualidade do software e evitar problemas que podem afetar os usuários e a imagem da empresa.
1. TESTAR É TÃO FÁCIL QUE ATÉ
MINHA MÃE TESTARIA!!!
Ciclo Mensal de Palestras:
Laís Camargo
Maíra Dutra
Equipe de Teste e Homologação 05/11/2010
2. Roteiro de Apresentação:
Introdução:
Definições: Teste x Qualidade
Os Testes:
Abordagem Histórica
A importância dos Testes para as instituições:
Os tipos de testes existentes
Os tipos de testes executados na Digicade
O perfil dos Testers
Floco de Flutuação
Considerações Finais:
“Testar é assim tão fácil?”
Equipe de Teste e Homologação 05/11/2010
3. Testes x Qualidade:
Teste e Controle de
Homologação Qualidade
de Software de Software
Equipe de Teste e Homologação 05/11/2010
4. TESTE:
Final de 1979 • “Um processo no qual se executa um
programa com a intenção de encontrar
Myers erros”.
• “O teste de programas pode ser usado
Dijkstra para mostrar a presença de defeitos, mas
nunca para mostrar a sua ausência”.
Validação • Testar é validar se um programa faz o que
se espera que ele faça e não faz o que se
dos Testes espera que não faça.
Equipe de Teste e Homologação 05/11/2010
5. QUALIDADE:
• “Qualquer atividade que tem como objetivo
Hetzel mensurar a qualidade do software e avaliar um
atributo de um programa ou sistema”.
• Garantir a qualidade é estabelecer processos e
Previsibilidade modelos que tornem o resultado do produto de
software previsível.
• Garantir a qualidade é estabelecer, colher e
Métricas de analisar métricas de produtividade, eficiência e
defeitos nos processos de desenvolvimento e
Produtividade teste de software.
Equipe de Teste e Homologação 05/11/2010
6. Como surgiram os
Testes nas Empresas:
Nos anos 80 e 90, iniciou-se o movimento da melhoria
dos Testes de Software
Os resultados obtidos foram ótimos e as empresas
começaram a investir em ferramentas de automação
Houve diminuição dos custos de correção dos
defeitos
Surgimento de uma área própria e aderente ao
processo de desenvolvimento
As atividades de Testes de Software começaram a
iniciar-se paralelamente e integradas com o
Desenvolvimento.
Equipe de Teste e Homologação 05/11/2010
8. POR QUE TESTAR?
O Celular Sem Sinal:
Falha no isolamento da antena
Cria problemas para ligar e/ou receber
Problema detectado após o lançamento
Milhões de clientes afetados
Sugestão do fabricante é que o cliente compre
uma capa para o aparelho
Risco de recall
Desgaste desnecessário da marca (telefone
que faz tudo, menos ligar).
Equipe de Teste e Homologação 05/11/2010
9. POR QUE TESTAR?
Companhia Aérea Atrasa:
Falha na adaptação dos turnos e férias de
pilotos e tripulações
Centenas de vôos atrasados
Milhares de passageiros insatisfeitos
Indenizações de alimentação, hotel, taxi, etc.
Exposição negativa na mídia
Desgaste da marca (perda de valor)
Multa de dezenas de milhões de reais
Pedido de desculpas público do presidente da
companhia
Equipe de Teste e Homologação 05/11/2010
10. POR QUE TESTAR?
Site Barato:
• Falha na carga da Lista de Produtos e Preços
• Produtos comercializados por 10% do preço real
• Milhares de transações em menos de 24h
• Parte das vendas deverão ser honradas
• Aumento dos gastos judiciais
• Exposição negativa na mídia
• Desgaste da marca (recorde de reclamações)
Equipe de Teste e Homologação 05/11/2010
11. Até minha mãe testaria!
Por que surgiu esse mito?
Falta de conhecimento sobre a área de
teste;
Visão de que teste é só uma etapa do
desenvolvimento;
Crença: “Tester é um desenvolvedor
frustrado”.
Equipe de Teste e Homologação 05/11/2010
15. Por aqui executamos:
Teste de Performance: Teste de Regressão:
Processo que determina o Teste realizado em um programa
desempenho de um produto de previamente testado após
software. alguma modificação
Tem por finalidade:
assegurar que defeitos não tenham
sido introduzidos ou mascarados
nas áreas não alteradas do
software.
Equipe de Teste e Homologação 05/11/2010
16. Por aqui executamos:
Teste Funcional: Teste Exploratório:
Teste baseado em uma análise Técnica de modelagem de teste
da especificação de informal
funcionalidade de um O testador controla ativamente a
componente ou sistema. modelagem dos testes
São realizados e utilizam as
informações obtidas durante o
teste para modelar testes novos
e melhores.
Equipe de Teste e Homologação 05/11/2010
17. Teste Funcional Automatizado
Vantagens x Desvantagens:
• Repetibilidade • Retorno de Investimento muito
longo
• É possível executar testes com
maior complexidade • Depende de mão de obra
especializada
• Pode-se executar testes em
período estendido • Quanto maior o volume de
mudanças, menos atrativo
• Pode-se escalar testes sem
escalar equipe • Forte mudança cultural impõe
modificações na forma de trabalho
• Custos dos testes planejáveis e de todos os envolvidos no
Previsíveis. processo de Construção e
Validação de Aplicativos.
Equipe de Teste e Homologação 05/11/2010
18. Teste de Desempenho
Vantagens x Desvantagens:
• Repetibilidade e definição de • Depende de ferramentas
quantidade específicas para execução, (muitas
vezes não “free”)
• Prevê e executa situações não
atingíveis com uma pequena • Depende de mão de obra
equipe de testadores especializada (estudar o programa
e os resultados)
• Pode-se executar testes em
período estendido
• Levantamento de insumos para
• Pode-se escalar testes sem execução dos testes.
escalar equipe.
Equipe de Teste e Homologação 05/11/2010
19. Testes Exploratórios
Vantagens x Desvantagens:
• Cultura predominante • Aumento da cobertura
• Fácil de Implementar. • Garantir qualidade da mão-de-
obra
• Metodologias distintas e de difícil
implementação
• Dificuldade no controle e
distribuição das informações
• Pouco escaláveis (volume)
• Pouco repetíveis (difícil
reprodução).
Equipe de Teste e Homologação 05/11/2010
20. E minha mãe, o que ela precisa para ser
Tester?
FLEXIBILIDADE
• O testador pragmático é
POSTURA
PRAGMÁTICA
realista e objetivo. • Pré-requisito básico para
• Suas decisões são baseadas: qualquer profissional de TI,
principalmente para os
• Conhecimento teórico, Testers, pois:
• Conhecimento prático, • Requisitos mudam,
• Técnicas de teste, • Prazos afunilam
• Ferramentas disponíveis no • Especialistas em teste devem
mercado. saber se adaptar com
• Contador de Histórias para facilidade às novas realidades.
compensar a falta de
requerimentos formais.
Equipe de Teste e Homologação 05/11/2010
21. E minha mãe, o que ela precisa para ser
Tester?
CRIATIVIDADE
PERFECCIONISMO
• Deve pensar em todas as • Cada detalhe conta na
situações possíveis de teste execução do seu trabalho
e até as que aparentam ser • No entanto, não se pode
impossíveis. trocar um ótimo resultado
• Sabedoria ao reportar os por um resultado perfeito (e
erros de modo a fazer com provavelmente impossível).
que os desenvolvedores
consigam reproduzir a
situação com clareza e
agilidade.
Equipe de Teste e Homologação 05/11/2010
22. E minha mãe, o que ela precisa para ser
Tester?
CRÍTICO
REALISTA
• Tomar decisões baseadas • Colocar sempre em dúvida
em fatos. aquilo que está em teste.
• Não forjar situações de erros
• Saber se adequar à situação • Não se contentar com
da empresa: resultados aparentes.
• Prazos,
• Demandas.
Equipe de Teste e Homologação 05/11/2010
23. E minha mãe, o que ela precisa para ser
Tester?
INCANSÁVEL
ASSERTIVO
• Sempre interrogar e • Nunca pressupõe ou se
investigar a causa raiz e a baseia em informações
razão dos problemas contidas nas entrelinhas,
• Testar a exaustão o software, todas as suas suposições
• Nunca acreditar que não há são aferidas a fim de
mais defeitos. garantir a sua veracidade.
Equipe de Teste e Homologação 05/11/2010
24. E minha mãe, o que ela precisa para ser
Tester?
DIPLOMATA
• A atividade de teste exige
GENERALISTA
• Seu foco está nos seus conhecimentos de
esforços nos problemas ao linguagens de programação,
invés de focar nas pessoas redes, sistemas
que os causaram. operacionais, banco de
dados e até de negócios.
• Deve saber se comunicar
com o desenvolvedor, nunca • Entendimento do processo
de teste
desprezar ou criticar
negativamente o • Estar sempre atento às
responsável pelo projeto. tendências de mercado
• Buscar atualização
constante.
Equipe de Teste e Homologação 05/11/2010
26. Concluindo...
Problemas na Entrega e
Implementação do Software
• São ocasionadas muito mais por falta de cultura
nas organizações do que pela falta de evolução
da tecnologia e metodologia que dá qualidade.
Tester x Desenvolvedor
• A visão de um desenvolvedor é diferente da visão
dos Testers.
• Geralmente desenvolvedores não gostam de
testar e não exercitam todas as condições. Já o
Testador tem uma visão mais crítica e detalhista.
Equipe de Teste e Homologação 05/11/2010
27. Concluindo...
A discliplina de Teste nas Faculdades
• Embora seja pouco explorada nas faculdades, a
disciplina de Testes de Software é essencial para
o desenvolvimento, pois garante:
• evidências da confiabilidade de produtos e
soluções,
• atendimento aos requisitos de negócios.
Sendo assim:
• Não pode ser considerada como qualquer
atividade.
Equipe de Teste e Homologação 05/11/2010