palestra teste de software: princípios, ferramentas e carreira

42
Teste de Software: princípios, ferramentas e carreira

Upload: tais-dalloca

Post on 20-Mar-2017

1.202 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Palestra Teste de Software: princípios, ferramentas e carreira

Teste de Software:

princípios, ferramentas e

carreira

Page 2: Palestra Teste de Software: princípios, ferramentas e carreira

• Formação acadêmica- Graduada em Engenharia da Computação- Pós-graduanda em Gerenciamento de Projetos

• Experiência Profissional- Analista de Teste no Grupo Assessor

Taís Dall’Oca

Page 3: Palestra Teste de Software: princípios, ferramentas e carreira

Agenda• Por que testar?

• O que é Teste de Software

• Processo de Teste

• Níveis de Teste

• Tipos de Teste

• Ferramentas

• Carreira

Page 4: Palestra Teste de Software: princípios, ferramentas e carreira

Os testes estão no nosso dia a dia

Page 5: Palestra Teste de Software: princípios, ferramentas e carreira

O que testar em um celular?

Page 6: Palestra Teste de Software: princípios, ferramentas e carreira

Mas por que testar?Somente o processo de desenvolvimento não garantirá que o

produto esteja livre de defeitos;

Os testes indicam a presença de defeitos no produto;

Gastos com retrabalho;

Maior tempo gasto devido à manutenção do produto;

Insatisfação dos clientes;

Imagem negativa da organização para presentes ou futuros

clientes;

Page 7: Palestra Teste de Software: princípios, ferramentas e carreira

Os usuários querem USAR o produto e não ENTENDÊ-LO!

Page 8: Palestra Teste de Software: princípios, ferramentas e carreira

MotivaçãoBug faz usuários descobrirem se são populares no Facebook.

Fonte: Olhar Digital

Page 9: Palestra Teste de Software: princípios, ferramentas e carreira

MotivaçãoFalha no site da American Airlines permite passagens de graça para o Brasil.

Fonte: Fábrica de Testes

Page 10: Palestra Teste de Software: princípios, ferramentas e carreira

MotivaçãoGalaxy S6 Edge tem falhas de segurança, inclusive no E-mail; Google alerta.

Fonte: Techtudo

Page 11: Palestra Teste de Software: princípios, ferramentas e carreira

Erro, defeito ou falha?

• O ser humano está sujeito a cometer um erro (engano)

Erro

• Que produz um defeito (bug) no código ou documento

Defeito • Se um defeito no código for executado, o sistema irá falhar

Falha

Page 12: Palestra Teste de Software: princípios, ferramentas e carreira

A importância...

Page 13: Palestra Teste de Software: princípios, ferramentas e carreira

Ou seja,

Page 14: Palestra Teste de Software: princípios, ferramentas e carreira

FUNCIONALIDADE –> SATISFAÇÃO DAS NECESSIDADES

EFICIÊNCIA –> RÁPIDO E ‘ENXUTO’

MANUTENIBILIDADE –> FACILIDADE DE MANUTENÇÃO

CONFIABILIDADE –> IMUNIDADE A FALHAS

USABILIDADE –> FACILIDADE DE USO

PORTABILIDADE –> USO EM OUTROS AMBIENTES

Dimensões da Qualidade

Page 15: Palestra Teste de Software: princípios, ferramentas e carreira

Teste de Software

Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Myers, 1979)

Testar é qualquer atividade que, a partir da avaliação de um atributo ou capacidade, permita determinar se o programa ou sistema obtém resultados desejados (Hetzel, 1988)

Page 16: Palestra Teste de Software: princípios, ferramentas e carreira

Teste de Software

Testes podem possuir objetivos diferentes: • Encontrar defeitos. • Ganhar confiança sobre o nível de qualidade.• Prover informações para tomada de decisão. • Prevenir defeitos.(Syllabus, 2011)

Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer. (Rios, Cristalli, Moreira e Souza, 2003)

Page 17: Palestra Teste de Software: princípios, ferramentas e carreira

#1: Equipe de Testes X Desenvolvimento e Analistas A equipe de testes não é inimiga da equipe de desenvolvimento e nem dos analistas de requisitos.

Alguns "pré-conceitos" e algumas dicas sobre testes de software

#2: Pessoas menos qualificadas A equipe de testes não pode ser composta por pessoas menos qualificadas ou servir como um trabalho temporário.

Teste de Software

Page 18: Palestra Teste de Software: princípios, ferramentas e carreira

Alguns "pré-conceitos" e algumas dicas sobre testes de software

Teste de Software

#3: No final do desenvolvimento Os testes não devem ser iniciados no final do desenvolvimento.

#4: Não há mais nenhum defeito Não é o objetivo da equipe de testes garantir que o sistema não tenha mais nenhum defeito.

Page 19: Palestra Teste de Software: princípios, ferramentas e carreira

#5: Não somos programadores Os membros da equipe de testes não são programadores, portanto a equipe de desenvolvimento deve tentar nos explicar da melhor forma o que está acontecendo no sistema. Nos ajudem. :)

#6: Comunicação entre as equipes é TUDO! Surgiu uma dúvida? Pergunte, esclareça, não deixe para depois. Isso serve para todas as equipes!

Alguns "pré-conceitos" e algumas dicas sobre testes de software

Teste de Software

Page 20: Palestra Teste de Software: princípios, ferramentas e carreira

Teste de SoftwareAs características de bons testadores:

• Aprendizado contínuo;• Capacidade analítica (ler nas entrelinhas, ter opinião crítica e

analítica sobre o assunto);• Boa comunicação (verbal e escrita);• Criativo;• Perfeccionista;• Observador;• Detalhista;

Page 21: Palestra Teste de Software: princípios, ferramentas e carreira

Processo de TesteRequisitos

Implementação

Design

Verificação e Validação

Operação e Manutenção

Modelo em cascata (modelo antigo)

Teste era custo!

Page 22: Palestra Teste de Software: princípios, ferramentas e carreira

Processo de Teste

Teste é investimento!

Desenvolvimento

Testes

Page 23: Palestra Teste de Software: princípios, ferramentas e carreira

Verificação Validação

Estamos desenvolvendo o produto corretamente?

Estamos desenvolvendo o produto correto?

Page 24: Palestra Teste de Software: princípios, ferramentas e carreira

Estratégias

Tipos de Teste (o que

testar)

Técnicas de Teste (como

testar)

Níveis de Teste

(quando testar)

Page 25: Palestra Teste de Software: princípios, ferramentas e carreira

Níveis de TesteUNIDADE

INTEGRAÇÃO

SISTEMA

ACEITAÇÃO

Testes unitários.Explorar a menor unidade do projeto.

Falhas associadas às interfaces entre os módulos.

Verificar se o produto satisfaz seus requisitos.

Realizado por grupo de usuários.Verificar se o produto está de acordo com o solicitado.

Page 26: Palestra Teste de Software: princípios, ferramentas e carreira

Técnicas de Teste

ESTRUTURAL

FUNCIONAL

Garantir que os softwares sejam estruturalmente sólidos e funcionem no contexto técnico onde serão instalados.

Garantir o atendimento aos requisitos, ou seja, que os requisitos foram corretamente codificados.

Page 27: Palestra Teste de Software: princípios, ferramentas e carreira

Tipos de TesteCARGA (STRESS)

RECUPERAÇÃO SEGURANÇA

CONFORMIDADE

OPERAÇÃO

EXECUÇÃO

REGRESSÃOREQUISITOS SUPORTE MANUAL

TRATAMENTO DE ERROS

INTEGRAÇÃO CONTROLE PARALELOS EXPLORATÓRIO

Page 28: Palestra Teste de Software: princípios, ferramentas e carreira

O “Quadrante Mágico” do Teste ÁgilCriado por Brian Marick que sugeriu uma série de técnicas de testes para

diferentes categorias.

Page 29: Palestra Teste de Software: princípios, ferramentas e carreira

ArtefatosPlanos de

teste Casos de teste Projetos de teste

Roteiros de teste Checklists Relatórios

Cenários de teste Incidentes Scripts

automatizados

Page 30: Palestra Teste de Software: princípios, ferramentas e carreira

Categorização das ferramentas:

1. Ferramentas de automação de testes de regressão;2. Ferramentas para gestão de defeitos;3. Ferramentas para testes de Performance/Stress;4. Ferramentas manuais;5. Ferramentas de rastreabilidade;6. Ferramentas de cobertura de código;7. Ferramentas para gestão de testes;8. Ferramentas de apoio à execução dos testes;

Ferramentas

Page 31: Palestra Teste de Software: princípios, ferramentas e carreira

Ferramentas no ciclo de vida dos testesDEFINIÇÃO DOS

REQUISITOSTESTEIMPLEMENTAÇÃOPROJETO IMPLANTAÇÃO

Ferramentas de apoio

Automação de testes

Gestão de defeitos

Gestão de testes

Gestão de projetos

Controle de versões

Page 32: Palestra Teste de Software: princípios, ferramentas e carreira

FerramentasAtualmente, existem muitas ferramentas open source e gratuitas.

Testes de performance

• JMeter•OpenSTA

Gestão de defeitos•Mantis•Bugzilla

Testes funcionais•Selenium (WEB)•Watir (WEB)•SoapUI

Gestão de testes

•TestLink•TestMaster•Testitool

Gestão de projetos•phpCollab•ProjectKoach

Gestão de requisitos•OSRMT•Plandora

Page 33: Palestra Teste de Software: princípios, ferramentas e carreira

FerramentasO TestComplete é uma solução completa para a automação de testes funcionais de aplicações desktop, mobile e aplicações Web para a plataforma Windows.

Algumas vantagens:Os testes não consomem muito tempo.Os testes repetitivos podem ser executados com maior facilidade.Testes em vários ambientes, navegadores, entre outros.Testes funcionais, de desempenho, estresse, segurança e muitos outros podem ser realizados.

Algumas desvantagens:Custo alto.Exige conhecimento em programação.Testes de usabilidade não serão possíveis.

Page 34: Palestra Teste de Software: princípios, ferramentas e carreira

CarreiraGerente de

Teste

Analista de Teste

Líder de Teste

Analista de Automação de Teste

Arquiteto de Teste

Tester

Page 35: Palestra Teste de Software: princípios, ferramentas e carreira

CertificaçõesALATS (Associação Latino Americana de Teste de Software)CBTS: Certificação Brasileira em Teste de Software

ISTQB (International Software Testing Qualification Board)CTFL : Certified Tester, Foundation Level CTAL-TA: Advanced Level Test AnalystCTAL-TM: Advanced Level Test ManagerCTAL-TTA: Advanced Level Technical Test Analyst

QAI (Quality Assurance Institute)CAST : Certified Associate in Software TestingCSTE : Certified Software TesterCSQA : Certified Software Quality AnalystCSPM : Certified Software Project Manager

Page 36: Palestra Teste de Software: princípios, ferramentas e carreira

CertificaçõesQuais são as vantagens?• Melhoria do prestígio e da imagem;• Aumento da competitividade e entrada em novos

mercados;• Aumento da confiança dos trabalhadores, clientes e

administração;• Redução de custos;• Melhoria das técnicas, conhecimentos e produtividade;• Mercados internacionais ou específicos;

Page 37: Palestra Teste de Software: princípios, ferramentas e carreira

Existem outros caminhos...Livros

Lisa Crispin e Janet GregoryEmerson RiosAnderson BastosRicardo CristalliTrayahú Moreira

Alexandre Bartié

Page 38: Palestra Teste de Software: princípios, ferramentas e carreira

Existem outros caminhos...Eventos

Page 39: Palestra Teste de Software: princípios, ferramentas e carreira

Existem outros caminhos...Blogs

Crowdtest -> crowdtest.me/blog

Qualister -> www.qualister.com.br/blog

Elias Nogueira -> eliasnogueira.com/blog

Qualidade de Software -> qualidade-de-software.blogspot.com.br

Page 41: Palestra Teste de Software: princípios, ferramentas e carreira

Pra descontrair!

Page 42: Palestra Teste de Software: princípios, ferramentas e carreira

OBRIGADA!