software testing schools (escolas de teste)
DESCRIPTION
Apresentação sobre as Escolas de Teste (Testing Schools).Todos os créditos para Rafael Oliveira Nóbrega (http://www.linkedin.com/in/rafaelnobrega)TRANSCRIPT
| 2Effektiv Solutions
Agenda
Motivaçã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ências
Melhorar 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ítica
Muito utilizado em: Indústrias de Telecom
Sistemas Críticos
Instituições Academia
| 13Effektiv Solutions
Principais Crenças
Software é 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ítica
Implicaçõ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 Exemplo
Testes 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 Convencional
Mais 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ças
Testes devem ser gerenciados Previsível, repetível, planejado
Testes deve ser lucrativo Trabalhadores com baixa capacitação precisam de
um direcionamento
Testes 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 Exemplo
Matriz de Rastreabilidade Ter certeza que todos os requistos foram
testados
| 20Effektiv Solutions
Escola Convencional
Implicaçõ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.
Desenvolvim
ento
Testes
Effektiv Solutions
Escola da Qualidade
| 22Effektiv Solutions
Principais Crenças
Qualidade 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
Exemplo
The Gatekeeper O software não está pronto até que o SQA
diga que está pronto!
| 24Effektiv Solutions
Escola da Qualidade
Implicaçõ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 Driven
Mais utilizado em Software Comerciais
Market-driven Software
Instituições LAWST Workshops
• Los Altos Workshop on Software Testing• StarEast/StarWest
| 27Effektiv Solutions
Principais Crenças
Software é 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 Exemplo
Exploratory 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ças
Software é 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 Exemplo
Testes Unitários Usados para Test-Driven Development
(TDD)
Testes unitários são projetados antes do desenvolvimento
Suportado por ferramentas
| 33Effektiv Solutions
Escola Ágil
Implicações Desenvolvedores devem fornecer
frameworks para automação dos testes
Demora para perceber o valor dos testes exploratórios
Mais utilizado em IT Consulting
Desenvolvimento por equipe menores
Instituições Agile Workshops
Effektiv Solutions
Comparativo entre as Escolas
| 35Effektiv Solutions
Escolas de Testes
Analytic 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ática
Standard School: Um processo gerenciado
Quality School: Um branch da garantia da qualidade
Context-Driven School: Um branch do desenvolvimento
Agile School: Parte do papel do cliente
| 37Effektiv Solutions
Testes sem Especificação
A 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ção
Quality School Porque ela força que
os desenvolvedores sigam o processo
| 38Effektiv Solutions
Certificação de Testes
A 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ões
Nã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ências
Context Driven School http://www.context-driven-testing.com/
http://www.testinglessons.com/
Lessons Learned in Software TestingKaner, Bach, and Pettichord
Agile School http://www.testing.com/agile/
http://www.qualitytree.com/
Testing Extreme ProgrammingLisa Crispin and Tip House.
| 42Effektiv Solutions
Referências
Standard School http://www.istqb.org
http://en.wikipedia.org/wiki/IEEE_829
Foundations of Software Testing: ISTQB Certification Graham, Veenendaal, Evans and Rex Black
Analitic School http://en.wikipedia.org/wiki/Model-based_testing
Practical Model-Based Testing: A Tools ApproachMark Utting , Bruno Legeard
Quality School http://en.wikipedia.org/wiki/Quality_assurance
Four Schools of Testing http://www.io.com/~wazmo/papers/four_schools.pdf