palestra teste de software: princípios, ferramentas e carreira
Post on 20-Mar-2017
1.202 Views
Preview:
TRANSCRIPT
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!
top related