A componentização dos testes basicamente foca em dois conceitos, "dividir para conquistar" e "não reinvente a roda, reaproveite". Veremos como esta técnica pode aumentar a produtividade das equipes de QA.
Esta palestra foi apresentada no evento Testadores 2015
2. TESTADORES 2015
Marcelo Galvão
• Formado em Economia
• Mais de 25 anos de experiência
na TI, boa parte deles voltados
ao desenvolvimento de
aplicações
• Responsável na HP pelas
ferramentas que suportam o
processo de desenvolvimento e
qualidade de software
• Certificações CSM, CTAL-
TA/ISTQB e ITIL v3
4. TESTADORES 2015
PRODUÇÃO
CODIFICAÇÃO
INÍCIO DO PROJETO
DEMANDAS DE MARKETING
DEMANDAS DE NEGÓCIO
Análise de
Requisitos
Especificação de
Requisitos
Especificação de
Arquitetura
Especificação de
Sistema
Especificação de integração
de Componentes
Especificação de
Componentes
Validação de
Requisitos
Planejamento do
Planejamento dos
Testes integrados de sist.
Planejamento dos
Testes de sistema
Planejamento dos
Testes de integração
Planejamento dos
Testes de comp.
Testes de performance,
carga, stress e segurança
Testes de aceitação
Usuário
Testes de integração
de Sistemas
Testes de sistema
Testes de
integração.
Testes
de Comp.
Teste de aceitação
Modelo em V
5. TESTADORES 2015
Quais são os desafios
Pensando em Testes de Sistema e de Aceitação do Usuário,
normalmente …
• Os usuários são envolvidos apenas no final
• Não há documentação sobre os requisitos, casos de uso,
casos de testes, relatórios e evidências de execuções dos
testes, defeitos, etc
• Quando existem informações elas não são rastreáveis
• A maior parte dos testes são manuais!
6. TESTADORES 2015
E se …
• Fosse possível componentizar os testes?
– “dividir para conquistar”
• Fosse possível reutilizá-los?
– "não reinvente a roda, reaproveite"
7. TESTADORES 2015
Engenharia de Software Baseada em componentes é um
ramo de Engenharia de Software, com ênfase na
decomposição dos sistemas, em componentes
funcionais e lógicos com interfaces bem definidas,
usadas para comunicação entre os próprios
componentes.
Componentes são considerados como estando num nível
de abstração mais alto do que Objetos e, como tal, não
compartilham estado e comunicam-se por troca de
mensagens contendo dados.
http://pt.wikipedia.org/wiki/Engenharia_de_software_baseada_em_componentes
O que é um componente
11. TESTADORES 2015
Teste Manual
Automação
Tradicional
Componentes
(Manual e
automatizado)
Fim do projetoInício do projeto Aplicação disponível
Documentação dos
casos de teste
Execução e análise dos testes Alteração dos testes
Documentação dos
casos de teste
Gravação do testes
Execução
e análise
dos testes
Modify testsAlteração dos testes
Criação dos
fluxos e dos
componentes
Execução manual
Alteração
dos testes
Automação AutomateExec automatizada
Manual vs Automação vs Componentes
12. TESTADORES 2015
Número da
fatura
(via webservice)
Rejeitar
o pedido
30 DDPSem cond pagto
Em dinheiro
Ajuste no
estoque
Item
Informações
financeiras
Informações
do cliente
Processo
de envio
Envio
Registro
Contábil
Login
Example de um
fluxo de teste
Pedido de
Compra
Exemplo de um processo de negócio
13. TESTADORES 2015
Apagar o pedido
de compra
Apagar
o pedido
Procurar
o pedido
Login
Logout
Visualizar
o pedido
Criar o pedido
de compra
Criar o pedido
Visualizar
o pedido
Login
Logout
Atualizar o pedido
de compra
Atualizar
o pedido
Login
Logout
Visualizar
o pedido
Procurar
o pedido
Onde está o problema?
14. TESTADORES 2015
Criar o
pedido
Visualizar
o pedidoLogin Logout
Apagar
o pedido
Procurar
o pedido
Atualizar
o pedido
Apagar o pedido Atualizar o pedidoCriar o pedido
Dados para teste
Reduz o tempo de criação e manutenção
dos testes em 50% ou mais
Componentize e reutilize!
16. TESTADORES 2015
Analista de NegóciosAnalista de Testes
Define os
componentes de teste
Publica os componentes e os
testes dos processos de negócio
Executa os testes (UAT)
Define os processos de negócios
Define as condições de testes
Define os Testes dos
Processos de Negócio
Implementa os componentes
de teste do negócio(manuais/autom)
Foco em produtividade
Executa os testes
(testes de Sistema e de integração)
17. TESTADORES 2015
What is Business Process Modeling?
• Parte do ciclo de vida do gerenciamento dos processos
de negócio
• Representação gráfica e simples, para avaliar e otimizar
processos
• Ajuda na documentação
• Gerenciado pelos Analistas de Negócios
• Ferramentas de modelagem
(Aris, Provision, BizAgi, etc))
O que é Modelagem de Processo de Negócio
20. TESTADORES 2015
Visão da HP
HP BPT – Business Process Testing
Framework que implementa o conceito da componentização
para casos de testes manuais e automatizados.
Benefícios:
- Ajuda no planejamento dos testes
- Acelera a execução
- Aumenta a colaboração
- Reduz o esforço de manutenção dos casos de testes
- Integra os casos de testes manuais e automatizados
- Ajuda a manter a documentação dos artefatos e suas
dependências