Top Banner
ESCOLAS TESTES DE SOFTWARE
46

Escolas de testes de software

Jan 10, 2017

Download

Documents

Alan Carlos
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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