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

Post on 20-Mar-2017

1.202 views 3 download

Transcript of Palestra Teste de Software: princípios, ferramentas e carreira

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

Agenda• Por que testar?

• O que é Teste de Software

• Processo de Teste

• Níveis de Teste

• Tipos de Teste

• Ferramentas

• Carreira

Os testes estão no nosso dia a dia

O que testar em um celular?

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;

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

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

Fonte: Olhar Digital

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

Fonte: Fábrica de Testes

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

Fonte: Techtudo

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

A importância...

Ou seja,

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

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)

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)

#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

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.

#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

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;

Processo de TesteRequisitos

Implementação

Design

Verificação e Validação

Operação e Manutenção

Modelo em cascata (modelo antigo)

Teste era custo!

Processo de Teste

Teste é investimento!

Desenvolvimento

Testes

Verificação Validação

Estamos desenvolvendo o produto corretamente?

Estamos desenvolvendo o produto correto?

Estratégias

Tipos de Teste (o que

testar)

Técnicas de Teste (como

testar)

Níveis de Teste

(quando testar)

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.

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.

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

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

diferentes categorias.

ArtefatosPlanos de

teste Casos de teste Projetos de teste

Roteiros de teste Checklists Relatórios

Cenários de teste Incidentes Scripts

automatizados

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

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

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

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.

CarreiraGerente de

Teste

Analista de Teste

Líder de Teste

Analista de Automação de Teste

Arquiteto de Teste

Tester

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

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;

Existem outros caminhos...Livros

Lisa Crispin e Janet GregoryEmerson RiosAnderson BastosRicardo CristalliTrayahú Moreira

Alexandre Bartié

Existem outros caminhos...Eventos

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

taisdalloca.blogspot.com.brtaisdalloca@assessorpublico.com.br

Pra descontrair!

OBRIGADA!