Este documento fornece um resumo das atividades e serviços oferecidos pela Qualister, uma empresa especializada em testes e qualidade de software. Em três frases ou menos, o documento descreve que a Qualister oferece terceirização de profissionais de teste, consultoria em teste, avaliação de usabilidade e treinamentos em teste e qualidade de software.
3. Instrutor
Cristiano Caetano
Email: cristiano.caetano@qualister.com.br
Apresentações: slideshare.net/cristianocaetano
Blog: cristianocaetano.wordpress.com
É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já
trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent.
É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS:
Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de
Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo
da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua
comunidade gratuita de teste e qualidade de software (www.testexpert.com.br).
www.qualister.com.br
5. Sobre a Qualister
• Fundação: 2007.
• Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
de profissionais qualificados e certificados na área de testes e qualidade de
software, com o objetivo de integrar, implementar e implantar soluções com base nas
melhores práticas do mercado e normas internacionais.
• Colaboradores: A Qualister é composta por colaboradores pós-graduados e
certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
Tecnologia da Informação.
• Área de atuação: A Qualister é uma empresa especializada em serviços de
qualidade e teste de software. Tem como linhas de atuação consultoria em
teste/qualidade de software, outsourcing (terceirização dos serviços através da
alocação de profissionais) e treinamentos.
• Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e
está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da
universidade UNIVALI.
www.qualister.com.br
7. Parcerias internacionais
Soluções para automação, profilling e gestão de testes
Soluções para testes de performance
Soluções de apoio a avaliação de usabilidade
www.qualister.com.br
10. Sopa de letrinhas
• Tópico 1
– Sub tópico 1
• Sub tópico 2
www.qualister.com.br
11. Manifesto Ágil
• Manifesto ágil - http://agilemanifesto.org
– Princípios básicos
• Indivíduos e interações são mais importantes que processos e
ferramentas.
• Software funcionando é mais importante do que documentação
completa e detalhada.
• Colaboração com o cliente é mais importante do que
negociação de contratos.
• Adaptação a mudanças é mais importante do que seguir
estritamente um plano.
www.qualister.com.br
13. Extreme Programming
Valores Princípios Práticas primárias Práticas corolárias
• Comunicação • Auto-semelhança • Ambiente Informativo •Análise da Raiz do Problema
• Coragem • Benefício Mútuo • Build de Dez Minutos • Base de Código Unificada
• Feedback • Diversidade • Ciclo Semanal • Código Coletivo
• Respeito • Economia • Ciclo Trimestral • Código e Testes
• Simplicidade • Falha • Desenvolvimento Orientado a • Continuidade da Equipe
• Fluidez Testes • Contrato de Escopo
• Humanismo • Design Incremental Negociável
• Melhoria • Equipe Integral • Envolvimento do Cliente Real
• Oportunidade • Folga • Equipes que Encolhem
• Passos de Bebê • Histórias • Implantação Diária
• Qualidade • Integração Contínua • Implantação Incremental
• Redundância • Programação em Par • Pagar Por Uso
• Reflexão • Sentar-se Junto
• Responsabilidade Aceita • Trabalho Energizado
http://www.extremeprogramming.org/map/project.html
www.qualister.com.br
14. Características do teste de software tradicional
BOEHM, Barry. Software Engineering
Economics. Prentice Hall PTR, 1981
CRAIG, R.D., JASKIEL, S. P., “Systematic Software Testing”, Artech House Publishers, Boston, 2002.
www.qualister.com.br
15. Características do teste de software tradicional
• É uma fase separada do desenvolvimento
• É realizado por um equipe independente
• Manual
• Informal
• Superficial
• Enfoque apenas na interface gráfica
• Ocorre no final de uma liberação ou no final do projeto
• Última (ou única) peneira da qualidade
• Os programadores desenvolvem e os testadores testam
www.qualister.com.br
17. Características do teste de software ágil
• Teste faz parte do processo de desenvolvimento
• Teste usado para complementar a documentação
• Teste usado para compartilhar o conhecimento
• Testes em todas as camadas da arquitetura (de
dentro para fora e de fora para dentro)
• Os programadores testam, os testadores testam,
os usuários testam (Test-Infected)
www.qualister.com.br
18. Características do teste de software ágil
• Cultura: A qualidade é responsabilidade de todos
www.motivatedphotos.com
www.qualister.com.br
19. Qualidade e teste de software sob a perspectiva ágil
• Práticas/Princípios mais relevantes:
– Desenvolvimento orientado a testes
– Refactoring
– Testes unitários
– TDD
– BDD
– Programação em par
– Integração contínua
– Testes de aceitação
www.qualister.com.br
20. Tópico
O papel do testador em
projetos ágeis
www.qualister.com.br
21. Papel do testador em projetos ágeis
• As metodologias ágeis foram criadas sob a perspectiva do
desenvolvimento.
• As práticas de testes são todas sob a perspectiva do
desenvolvimento:
– Testes unitários
– Programação em par
– Integração continua
– Etc
O papel do testador não é claramente definido
www.qualister.com.br
22. Papel do testador em projetos ágeis
• As principais atividades desempenhadas por um
testador num projeto ágil:
– Clarificar estórias e esclarecer suposições;
– Apoiar na escrita dos testes de aceitação;
– Prover estimativas para as atividades de testes;
– Automatizar os testes funcionais;
– Planejar//Executar testes avançados (performance, segurança,
usabilidade, etc);
– Prover feedback contínuo sobre os níveis de qualidade.
XP Testing Without XP: Taking Advantage of Agile Testing Practices
www.qualister.com.br
23. Desafios do testador ágil
• Papel não
reconhecido
• Tentar usar as
práticas tradicionais
de testes em projetos
ágeis
• Dificuldade em
interagir ou colaborar
com um time
multifuncional
www.qualister.com.br
24. Tópico
• Testes manuais em
projetos ágeis
www.qualister.com.br
26. As duas faces do teste ágil
Testes confirmatórios
Testes unitários
Testes de aceitação automatizados
Integração contínua
Testes exploratórios
Testes de cenários/transações de uso
Usabilidade/Performance/Segurança/Etc
Testes investigativos
Adaptado de: Agile Testing and Quality Strategies: Discipline Over Rhetoric por Scott W. Ambler
Adaptado de: Agile testing quadrants por Brian Marick
www.qualister.com.br
27. Testes exploratórios
• O teste exploratório é, na sua definição mais
básica, a criação e a execução ao mesmo
tempo de um teste. Quando se realiza um teste
exploratório, normalmente o testador não tem
informações detalhadas sobre o que vai testar e
como vai testar. O testador se baseia na sua
experiência, assim como no conhecimento que ele
vai adquirindo sobre o aplicativo durante a
execução do teste exploratório. A partir dessa
perspectiva, podemos afirmar que o teste
exploratório é uma atividade iterativa e empírica
de exploração que exige idas e vindas num
processo de investigação contínuo onde a
intuição, a criatividade e a experiência do testador
são indispensáveis para garantir a eficiência do
teste.
Cristiano Caetano: Testes exploratórios de A a Z
http://www.linhadecodigo.com.br/artigo/1102/Testes-Explorat%C3%B3rios-de-A-a-Z.aspx
www.qualister.com.br
28. Tópico
• Automação de testes em
projetos ágeis
www.qualister.com.br
29. Teste de software ágil: Cedo, freqüente e automatizado
“Cada minuto entre,
quando um
programador achar
que uma estória está
terminada e realmente
provar que a estória
está terminada de
verdade por meio de
testes de aceitação, é
um minuto em que o
projeto está fora de
controle”
Ron Jeffries
(tradução livre)
http://www.extremeprogramming.org/map/loops.html
www.qualister.com.br
30. Teste de software ágil: Cedo, freqüente e automatizado
Teste é mais do que uma fase separada, é uma atividade
que se integra ao desenvolvimento. Teste contínuo é a
única maneira de garantir progresso contínuo.
Wikipédia sobre Agile Testing
Tradução Livre
www.qualister.com.br
31. Pirâmide dos testes tradicionais
Testes funcionais manuais
Foco na interface gráfica
Baseado no modelo V ou Cascata
Testes automatizados
Foco na interface gráfica via
capture/playback
Testes unitários e de integracão
Poucos ou inexistentes
Baseado em: Mike Cohn - Test Automation Pyramid
www.qualister.com.br
32. Pirâmide dos testes ágeis
Testes funcionais manuais
Poucos ou nenhum
Testes automatizados
Foco em testes de API
Poucos testes baseados na
interface gráfica
Testes unitários e de integracão
Abundantes (100% de cobertura)
Criados pelos desenvolvedores
Baseado em: Mike Cohn - Test Automation Pyramid
www.qualister.com.br
33. Testando em camadas diferentes
• Testando camadas diferentes
www.qualister.com.br
34. Testando em camadas diferentes
• Testes em todas as camadas da arquitetura (de dentro para
fora e de fora para dentro)
Código
API
Interface gráfica
www.qualister.com.br
35. Automação de testes
• Tipos de testes automatizados
– Record-Playback testing
– Data-driven testing
– Picture-driven testing
– Model based-driven testing
– Keyword-driven testing
– Behavior-driven testing
www.qualister.com.br