escolas de testes de software

46
ESCOLAS TESTES DE SOFTWARE

Upload: alan-carlos

Post on 10-Jan-2017

182 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Escolas de testes de software

ESCOLAS TESTES DE SOFTWARE

Page 2: Escolas de testes de software

| 2

Agenda

Motivação do estudo Breve descrição dos autores Escolas de Testes Quadro comparativo entre as Escolas Bibliografia

Page 3: Escolas de testes de software

| 3

Detalhes importantes!

Esta apresentação é baseada num artigo de Bret PettichordFamoso Consultor de testesLíder do desenvolvimento da Watir Co-autor de um dos principais livros de testes:

“Lessons Learned in Software Testing”

Page 4: Escolas de testes de software

BREVE DESCRIÇÃO AUTORES

Page 5: Escolas de testes de software

Roger S. Pressman é em engenheiro de software, escritor e consultor, norte-americano, presidente da R.S. Pressman & Associates.

Livros:

1977. Numerical control and computer-aided manufacturing1988. Making software engineering happen: a guide for instituting the technology.1988. Software engineering: a beginner's guide.1991. Software shock: the danger & the opportunity2005. Software engineering: a practitioner's approach2009. Web engineering: a practitioner's approach

Lisa Crispin renomada autora na comunidade de Teste de Software, escritora do livro “Agile Testing” e blogueira no site http://lisacrispin.com/.

James Marcos Bach é testador de software, escritor, consultor e membro do “Board of Directors of the Association for Software Testing”. Também é co-escritor do livro “Lessons Learned in Software Testing”.

Page 6: Escolas de testes de software

MOTIVAÇÃO DO ESTUDO

Page 7: Escolas de testes de software

Devemos usar IEEE 829? Padrão para Documentação de Testes

PRESSMAN: SIM!Lisa Crispin: NÃO!James Bach: SIM e NÃO!

| 7

Page 8: Escolas de testes de software

Qual o papel dos Testes Exploratórios?

Testes onde o design e a execução ocorrem de forma simultânea.PRESSMAN: Complementa os testes com

roteiros!Lisa Crispin: Complementa os testes unitários

automatizados (TDD)!James Bach: A mais eficiente técnica de testes!

| 8

Page 9: Escolas de testes de software

O que devemos usar para projetar os testes? PRESSMAN: Apenas os requisitos

documentados! Lisa Crispin: As histórias contadas pelo

usuário! James Bach: Qualquer informação sobre o

contexto da aplicação!

| 9

Page 10: Escolas de testes de software

| 10

Por que dividir Testes em Escolas? Especialistas de testes não concordam

entre siNã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

Page 11: Escolas de testes de software

| 11

Definindo o termo “escola” Definido por

Afinidade IntelectualIntegração SocialObjetivos em Comum

Composto porHierarquia de ValoresTécnicas

representativasInstituições

Organizadoras

Page 12: Escolas de testes de software

5ESCOLAS DE TESTES

Page 13: Escolas de testes de software

1ESCOLA ANALÍTICA

Page 14: Escolas de testes de software

Escola Analítica Muito utilizado em:

Indústrias de TelecomSistemas Críticos (Aviões, Navios)

Instituições que defendem:Academias

| 14

Page 15: Escolas de testes de software

| 15

Principais Crenças Software é um artefato lógico Teste é uma ciência baseada em

Computação e MatemáticaObjetivo, rigoroso e compreensivo

Técnicas de testes devem ser objetivas“apenas uma resposta certa”

Teste é uma atividade técnica Principal Pergunta:

Quais técnicas deveremos utilizar?

Page 16: Escolas de testes de software

| 16

Escola Analítica Implicações

Requer especificação precisa e detalhadaTestadores verificam se o software está

conforme a sua especificaçãoQualquer outra coisa não é teste!

Page 17: Escolas de testes de software

| 17

Técnica Exemplo Testes Caixa Branca

Ou “Structural testing”Diversas métricas de cobertura de código são

utilizadasProvê uma medida objetiva dos testes

Page 18: Escolas de testes de software

2ESCOLA CONVENCIONAL

Page 19: Escolas de testes de software

| 19

Escola Convencional

Mais utilizado emEnterprise ITDesenvolvimento para Governo

InstituiçõesIEEE Standards BoardsInstituições certificadoras de Teste

○ ISTQB, ALATS, etc...

Page 20: Escolas de testes de software

| 20

Principais Crenças Testes devem ser gerenciados

Previsível, repetível, planejado Testes devem ser lucrativos

Trabalhadores com pouco conhecimento precisam de um direcionamento

Testes valida o produto Testes medem o progresso do desenvolvimento Principal Questão:

Como podemos medir se estamos progredindo? Quando teremos terminado o desenvolvimento?

Page 21: Escolas de testes de software

| 21

Técnica de Exemplo Matriz de Rastreabilidade

Ter certeza que todos os requistos foram testados

Page 22: Escolas de testes de software

| 22

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.

Desenvolvimento

Test

es

Page 23: Escolas de testes de software

3ESCOLA DA QUALIDADE

Page 24: Escolas de testes de software

| 24

Principais Crenças Qualidade de Software requer disciplina Testes determina se o processo de

desenvolvimento está sendo seguidoCada bug é um problema do PROCESSO!

Testadores devem proteger os usuários dos software ruins

Principal Pergunta:Estamos seguindo um bom processo?

Page 25: Escolas de testes de software

| 25

Técnica de Exemplo The Gatekeeper (O Porteiro)

O software não está pronto até que o SQA (Controle de Qualidade de Software) diga que está pronto!

Page 26: Escolas de testes de software

| 26

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 leis e obrigatoriedades

Instituições American Society for Quality (ASQ) Software Engineering Institute (CMM) International Standards Organization (ISO)

Page 27: Escolas de testes de software

4ESCOLA “CONTEXT DRIVEN”

Page 28: Escolas de testes de software

Context Driven (Dirigido ao Contexto)

Mais utilizado emSoftware ComerciaisMarket-driven Software (Software dirigido ao

Mercado) Instituições

LAWST Workshops ○ Los Altos Workshop on Software Testing○ StarEast/StarWest

| 28

Page 29: Escolas de testes de software

| 29

Principais Crenças Software é criado por Pessoas. Pessoas definem o

contexto. Possui 07 princípios básicos. Teste deve encontrar bugs. Teste provê informações para o projeto Teste é uma atividade mental que requer habilidade Teste é multidisciplinar Principal Pergunta:

Que teste é o mais valioso agora?

Page 30: Escolas de testes de software

| 30

07 Princípios Básicos

1. O valor de qualquer prática depende de seu contexto. 2. Existem boas práticas em determinado contexto, mas não existem

melhores práticas. 3. As pessoas, trabalhando em conjunto, são a parte mais importante do

contexto de qualquer projeto. 4. Projetos se desdobram ao longo do tempo de maneiras normalmente

imprevisíveis. 5. O produto é uma solução. Se o problema não foi resolvido, então o

produto não funciona. 6. O bom teste de software é um processo intelectual desafiador. 7. Somente por meio de julgamento e habilidade, realizados

cooperativamente ao longo de todo projeto, somos capazes de fazer as coisas certas nos momentos certos para testar nossos produtos de forma efetiva.

Page 31: Escolas de testes de software

| 31

Técnica de Exemplo Exploratory Testing

Execução e Design feitos de forma concorrenteRapid learningExecução baseada em Missão e EstratégiasDifícil GerenciamentoÓtimo resultados práticos

○ Eficiência○ Eficácia

Page 32: Escolas de testes de software

| 32

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 33: Escolas de testes de software

5ESCOLA ÁGIL

Page 34: Escolas de testes de software

| 34

Principais Crenças Software é desenvolvido a partir de uma

conversa Testes mostram que uma história está

completa Testes devem ser automatizados Principal Pergunta:

A história está pronta?

Page 35: Escolas de testes de software

| 35

Técnica de Exemplo Testes Unitários

Usados para Test-Driven Development (TDD)Testes unitários são projetados antes do

desenvolvimentoSuportado por ferramentas

Page 36: Escolas de testes de software

| 36

Escola Ágil

ImplicaçõesDesenvolvedores devem fornecer frameworks

para automação dos testesDemora para perceber o valor dos testes

exploratórios Mais utilizado em

IT ConsultingDesenvolvimento por equipe menores

InstituiçõesAgile Workshops

Page 37: Escolas de testes de software

COMPARATIVO ENTRE AS ESCOLAS

Page 38: Escolas de testes de software

Escolas de Testes

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.

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;

| 38

Page 39: Escolas de testes de software

| 39

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

Page 40: Escolas de testes de software

| 40

Testes sem Especificação A FAVOR Context-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

CONTRA Analytical School

Impossível Standard School

Necessário algum tipo de especificação

Quality School Porque ela força que os

desenvolvedores sigam o processo

Page 41: Escolas de testes de software

| 41

Certificação de Testes A FAVOR Standard School

Torna os testadores mais fáceis para contratar, treinar e gerenciar

Quality School Aumenta o Status

CONTRA Context-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 42: Escolas de testes de software

Conclusões Não existe escola MELHOR do que outra! Cada escola tem o seu contexto Analise o seu, e escolha as práticas de cada

uma para montar a sua própria solução!

| 42

Page 43: Escolas de testes de software

| 43

Page 44: Escolas de testes de software

| 44

Referências Context Driven School

http://www.context-driven-testing.com/http://www.testinglessons.com/Lessons Learned in Software Testing

Kaner, Bach, and Pettichord

Agile Schoolhttp://www.testing.com/agile/http://www.qualitytree.com/Testing Extreme Programming

Lisa Crispin and Tip House.

Page 45: Escolas de testes de software

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 Approach

Mark 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

| 45

Page 46: Escolas de testes de software

Obrigado...

| 46