Upload
danilo-carreira-alcaide
View
214
Download
1
Embed Size (px)
Citation preview
| 2Effektiv Solutions
AgendaMotivaçãoEscolas de TestesComparativo entre as EscolasReferências
| 3Effektiv Solutions
Observação!Esta apresentação é baseada num artigo de Bret Pettichord Famoso Consultor de testes Líder do desenvolvimento da Watir Co-autor de um dos principais livros de
testes: Lessons Learned in Software Testing
Effektiv Solutions
Motivação
| 5Effektiv Solutions
Devemos usar IEEE 829?Padrão para Documentação de Testes PRESSMAN: SIM! Lisa Crispin: NÃO! James Bach: SIM e NÃO!
| 6Effektiv Solutions
Qual o papel dos Testes Exploratórios?
Testes onde o design e a execução ocorrem de forma simultânea: PRESSMAN: Complementar os testes
com roteiros! Lisa Crispin: Complementar os testes
unitários automatizados (TDD)! James Bach: A mais eficiente técnica de
testes!
| 7Effektiv Solutions
O que devemos usar para projetar os testes?
PRESSMAN: Apenas os requisitos documentados no SRS!Lisa Crispin: As histórias contadas pelo usuário!James Bach: Qualquer informação sobre o contexto da aplicação!
| 8Effektiv Solutions
Por que dividir Testes em Escolas?
Especialistas de testes não concordam entre si Não é por causa de suas personalidades ou
experiênciasMelhorar a base para o estudo Diferenças de valores explicam a
preferência por certas políticas de testes
| 9Effektiv Solutions
Definindo o termo “escola”
Definido por Afinidade
Intelectual Integração Social Objetivos em
Comum
Composto por Hierarquia de
Valores Técnicas
representativas Instituições
Organizadoras
Effektiv Solutions
Escolas de Testes
Effektiv Solutions
Escola Analítica
| 12Effektiv Solutions
Escola AnalíticaMuito utilizado em: Indústrias de Telecom Sistemas Críticos
Instituições Academia
| 13Effektiv Solutions
Principais CrençasSoftware é um artefato lógicoTeste é uma ciência baseada em Computação e Matemática Objetivo, rigoroso e compreensivo
Técnicas de testes devem ser objetivas “apenas uma resposta certa”
Teste é uma atividade técnicaPrincipal Pergunta: Quais técnicas deveremos utilizar?
| 14Effektiv Solutions
Escola AnalíticaImplicações Requer especificação precisa e detalhada Testadores verificam se o software está
conforme a sua especificação Qualquer outra coisa não é teste!
| 15Effektiv Solutions
Técnica ExemploTestes Caixa Branca Ou “Structural testing” Diversas métricas de cobertura de código
são utilizadas Provê uma medida objetiva dos testes
Effektiv Solutions
Escola Convencional
| 17Effektiv Solutions
Escola ConvencionalMais utilizado em Enterprise IT Desenvolvimento para Governo
Instituições IEEE Standards Boards Instituições certificadoras de Teste
• ISTQB, ALATS, IIST, etc...
| 18Effektiv Solutions
Principais CrençasTestes devem ser gerenciados Previsível, repetível, planejado
Testes deve ser lucrativo Trabalhadores com baixa capacitação precisam de
um direcionamentoTestes valida o produtoTestes medem o progresso do desenvolvimentoPrincipal Questão: Como podemos medir se estamos progredindo?
Quando teremos terminado o desenvolvimento?
| 19Effektiv Solutions
Técnica de ExemploMatriz de Rastreabilidade Ter certeza que todos os requistos foram
testados
| 20Effektiv Solutions
Escola ConvencionalImplicações Requer fronteiras claras entre testes e
outras atividades (start/stop criteria) Incentiva padrões, melhores práticas e
certificação Utilização de variações do V-model
• Atividades de testes ocorrem em paralelo.
Desenvolvimento
Testes
Effektiv Solutions
Escola da Qualidade
| 22Effektiv Solutions
Principais CrençasQualidade de Software requer disciplinaTestes determina se o processo de desenvolvimento está sendo seguido Cada bug é um problema do PROCESSO!
Testadores devem proteger os usuários dos software ruinsPrincipal Pergunta: Estamos seguindo um bom processo?
| 23Effektiv Solutions
ExemploThe Gatekeeper O software não está pronto até que o SQA
diga que está pronto!
| 24Effektiv Solutions
Escola da QualidadeImplicações Preferem Garantia da Qualidade aos Testes Testes é o ponto de partida para a Melhoria do
Processo Pode alienar os desenvolvedores
Mais utilizado em Empresas burocráticas Organizações sob estresse
Instituições American Society for Quality (ASQ) Software Engineering Institute (CMM) International Standards Organization (ISO)
Effektiv Solutions
Escola “Context Driven”
| 26Effektiv Solutions
Context DrivenMais utilizado em Software Comerciais Market-driven Software
Instituições LAWST Workshops
• Los Altos Workshop on Software Testing• StarEast/StarWest
| 27Effektiv Solutions
Principais CrençasSoftware é criado por Pessoas. Pessoas definem o contexto.Teste deve encontrar bugs. “A bug is anything that could bug a stakeholder”
Teste provê informações para o projetoTeste é uma atividade mental que requer habilidade Teste é multidisciplinarPrincipal Pergunta: Que teste é o mais valioso agora?
| 28Effektiv Solutions
Técnica de ExemploExploratory Testing Execução e Design feitos de forma
concorrente Rapid learning Execução baseada em Missão e Estratégias Difícil Gerenciamento Ótimo resultados práticos
• Eficiência• Eficácia
| 29Effektiv Solutions
Escola “Context Driven”Implicações Preparado para mudanças. Adapta o
planejamento dos testes baseado nos resultados.
Efetividade das estratégias são verificadas colocando-as em prática
Pesquisas de testes requerem estudos empíricos e psicológicos
Foco na habilidade ao invés da prática/método
Effektiv Solutions
Escola Ágil
| 31Effektiv Solutions
Principais CrençasSoftware é desenvolvido a partir de uma conversaTestes mostram que uma história está completaTestes devem ser automatizadosPrincipal Pergunta: A história está pronta?
| 32Effektiv Solutions
Técnica de ExemploTestes Unitários Usados para Test-Driven Development
(TDD) Testes unitários são projetados antes do
desenvolvimento Suportado por ferramentas
| 33Effektiv Solutions
Escola ÁgilImplicações Desenvolvedores devem fornecer
frameworks para automação dos testes Demora para perceber o valor dos testes
exploratóriosMais utilizado em IT Consulting Desenvolvimento por equipe menores
Instituições Agile Workshops
Effektiv Solutions
Comparativo entre as Escolas
| 35Effektiv Solutions
Escolas de TestesAnalytic School Encara os testes como
uma atividade técnica e rigorosa. Possui muitos proponentes na academia;
Standard School Encara os testes como
uma maneira de medir o progresso com ênfase nos custos e em padrões repetíveis
Quality School Ênfase no processo,
monitoramento dos desenvolvedores, agindo como o gatekeeper
Context-Driven School Ênfase nas pessoas,
procurando os bugs mais importantes para os stakeholders
Agile School Usa os testes para provar
que o desenvolvimento está completo. Ênfase nos testes automatizados
| 36Effektiv Solutions
O que é Teste?Analytic School: Um branch da ciência da computação e
matemáticaStandard School: Um processo gerenciadoQuality School: Um branch da garantia da qualidadeContext-Driven School: Um branch do desenvolvimentoAgile School: Parte do papel do cliente
| 37Effektiv Solutions
Testes sem EspecificaçãoA FAVORContext-Driven School Faça o que for possível
para ser útil Fazem
questionamentos e entrevistas se necessário
Descobrem especificações
Agile School Conversa é mais
importante do que documentação
CONTRAAnalytical School Impossível
Standard School Necessário algum tipo
de especificaçãoQuality School Porque ela força que
os desenvolvedores sigam o processo
| 38Effektiv Solutions
Certificação de TestesA FAVORStandard School Torna os testadores
mais fáceis para contratar, treinar e gerenciar
Quality School Aumenta o Status
CONTRAContext-Driven and Agile School Certificações
Existentes são baseados em doutrinas ao invés de habilidades
Analytic School Preferem [pós-]
graduações às certificações
| 39Effektiv Solutions
ConclusõesNão existe escola MELHOR do que outra!Cada escola tem o seu contextoAnalise o seu, e escolha as práticas de cada uma para montar a sua própria solução!
| 40Effektiv Solutions
Perguntas?
| 41Effektiv Solutions
ReferênciasContext Driven School http://www.context-driven-testing.com/ http://www.testinglessons.com/ Lessons Learned in Software Testing
Kaner, Bach, and Pettichord Agile School http://www.testing.com/agile/ http://www.qualitytree.com/ Testing Extreme Programming
Lisa Crispin and Tip House.
| 42Effektiv Solutions
ReferênciasStandard School http://www.istqb.org http://en.wikipedia.org/wiki/IEEE_829 Foundations of Software Testing: ISTQB Certification
Graham, Veenendaal, Evans and Rex BlackAnalitic School http://en.wikipedia.org/wiki/Model-based_testing Practical Model-Based Testing: A Tools Approach
Mark Utting , Bruno LegeardQuality School http://en.wikipedia.org/wiki/Quality_assurance
Four Schools of Testing http://www.io.com/~wazmo/papers/four_schools.pdf