Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega [email protected].

42
Effektiv Solution Software Testing Schools Rafael Oliveira Nóbrega [email protected]

Transcript of Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega [email protected].

Page 1: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Software Testing Schools

Rafael Oliveira Nó[email protected]

Page 2: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 2Effektiv Solutions

AgendaMotivaçãoEscolas de TestesComparativo entre as EscolasReferências

Page 3: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 4: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Motivação

Page 5: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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!

Page 6: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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!

Page 7: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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!

Page 8: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 9: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 10: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escolas de Testes

Page 11: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escola Analítica

Page 12: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 12Effektiv Solutions

Escola AnalíticaMuito utilizado em: Indústrias de Telecom Sistemas Críticos

Instituições Academia

Page 13: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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?

Page 14: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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!

Page 15: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 16: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escola Convencional

Page 17: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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...

Page 18: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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?

Page 19: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 19Effektiv Solutions

Técnica de ExemploMatriz de Rastreabilidade Ter certeza que todos os requistos foram

testados

Page 20: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 21: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escola da Qualidade

Page 22: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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?

Page 23: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 23Effektiv Solutions

ExemploThe Gatekeeper O software não está pronto até que o SQA

diga que está pronto!

Page 24: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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)

Page 25: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escola “Context Driven”

Page 26: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 26Effektiv Solutions

Context DrivenMais utilizado em Software Comerciais Market-driven Software

Instituições LAWST Workshops

• Los Altos Workshop on Software Testing• StarEast/StarWest

Page 27: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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?

Page 28: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 29: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 30: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Escola Ágil

Page 31: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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?

Page 32: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 33: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 34: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

Effektiv Solutions

Comparativo entre as Escolas

Page 35: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 36: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 37: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 38: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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

Page 39: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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!

Page 40: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 40Effektiv Solutions

Perguntas?

Page 41: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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.

Page 42: Effektiv Solutions Software Testing Schools Rafael Oliveira Nóbrega ron@cin.ufpe.br.

| 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