1. Painel sobre Test Process
Improvement – TPI
SUCESU – RS
Outubro de 2010
André Gobbi Farina
Eduardo Pretz
2. Testing Process Improvement - TPI
O TPI foi proposto por Tim Koomen e Martin Pol e representa um
modelo de aumento de maturidade no processo de teste baseado em 3
níveis:
Controlado
Eficiente
Em otimização
2
3. Testing Process Improvement - TPI
Grupo de Áreas-chave
Áreas-
Descrição:
Tecnologia
O modelo é organizado considerando o
total de 20 áreas-chave, estruturadas
áreas-
em 4 grupos.
Os grupos correspondem às diversas
Ciclo de Vida
dimensões com as quais devemos
nos preocupar durante o
planejamento e execução dos Infraestrutura Organização
testes.
3
4. Testing Process Improvement - TPI
Avaliação
Gerenciamento
Estratégia
do processo
de teste
de Teste
Gerenciamento Modelo do
de testware Ciclo de Vida
Gerenciamento Momento do
de defeito Envolvimento
Estimativa e
Relato
Planejamento
Comunicações
Áreas-chave do Técnicas de
Especificação
Escopo da processo de teste Técnicas de
Metodologia Teste Estático
Funções e
Métricas
Treinamento
Comprometimento Ferramentas
e Motivação de Teste
Ambiente de Ambiente de
Escritório Teste
Teste de
Baixo-Nível
4
5. Testing Process Improvement - TPI
Níveis de evolução
O processo de teste evolui conforme
as áreas-chave são complementadas
áreas-
com a implementação de novas
características.
Estas características são
definidas através de
checkpoints.
Os checkpoints são avaliados
a partir de checklists.
checklists.
5
6. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Descrição:
O grupo Ciclo de Vida é responsável por identificar o planejamento
dos testes no seu nível mais alto, incluindo as atividades a serem
executadas e a relação entre o ciclo de vida de teste e o ciclo de
desenvolvimento.
Este grupo considera três áreas:
Estratégia de Teste
Modelo de Ciclo de Vida
Momento do envolvimento
6
7. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Estratégia de teste
A estratégia de teste precisa ser focada na detecção dos defeitos
mais importantes o mais cedo e com menor custo possível. A
estratégia de teste define que requisitos e riscos serão cobertos
por quais testes.
Cada nível de teste (unidade, integração, sistema, aceitação) define
(unidade, aceitação)
sua estratégia que será ajustada às estratégias dos demais níveis.
7
8. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Estratégia de teste
Níveis de evolução
Nível A - Estratégia apenas para o teste de alto nível
Nível B - Estratégia combinada para o testes de alto nível
Nível C - Estratégia combinada para o testes de alto nível,
baixo nível e avaliações (revisões)
Nível D - Estratégia combinada para todos níveis de teste e
revisão
8
9. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Modelo do Ciclo de vida
No processo de teste, várias fases podem ser definidas, tais como:
Planejamento
Preparação
Controle
Especificação
Execução
Encerramento
9
10. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Modelo do Ciclo de vida
Em cada fase, várias atividades são executadas. Para cada
atividade, os seguintes aspectos devem ser definidos: Proposta,
Proposta,
entrada, processo, saída, dependências,
entrada, processo, saída, dependências, papéis envolvidos,
envolvidos,
templates e modelos.
modelos.
A importância de usar um modelo de ciclo de vida é melhorar a
previsibilidade e controlabilidade do processo de teste, já que,
definidas, as diferentes atividades podem ser planejadas e
monitoradas de modo coeso.
10
11. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Modelo do Ciclo de vida
Níveis de evolução
Nível A – Planejamento, Especificação e Execução
Nível B – Planejamento, Preparação, Especificação,
Execução e Encerramento.
11
12. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Momento do Envolvimento
Ainda que a execução atual do teste normalmente inicie após a
teste, geral,
realização do software, o processo de teste, em geral, pode iniciar
muito antes.
antes.
O envolvimento precoce do teste no desenvolvimento do sistema
auxilia na detecção de defeitos o mais cedo possível e até mesmo
previne os defeitos.
defeitos.
Um melhor ajuste entre diferentes testes pode ser feito e o período
entre a realização dos testes deve ser o mais curto possível.
possível.
12
13. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Momento do Envolvimento
Planejamento dos testes e estimativa indica quais atividades devem
ser realizadas e os recursos necessários para executá-las.
executá-las.
Uma boa estimativa e planejamento são muito importantes, já que
são a base para a alocação de recursos para um determinado
período.
13
14. Testing Process Improvement - TPI
Grupo: Ciclo de Vida
Área: Momento do Envolvimento
Níveis de evolução
Nível A – Conclusão das bases de teste
Nível B – Início das bases de teste
Nível C – Início da definição de requisitos
Nível D – Início do projeto
14
15. Testing Process Improvement - TPI
Grupo: Técnicas
Descrição:
O grupo Técnicas define quais técnicas serão utilizadas, para
planejamento, especificação, execução e medição dos testes
Este grupo considera quatro áreas:
Estimativa e Planejamento
Técnicas de Especificação de Teste
Técnicas de Teste Estático
Métricas
15
16. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Estimativa e Planejamento
O planejamento e estimativa indicam quais atividades devem ser
realizadas, quando e quais os recursos necessários.
Uma boa estimativa e planejamento são muito importantes, já que
são a base para a alocação de recursos em um determinado
período.
16
17. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Estimativa e Planejamento
Níveis de evolução
Nível A – Estimativa e planejamento substanciado
Nível B – Estimativa e planejamento estatisticamente
substanciado
17
18. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Técnicas de Especificação de Teste
A definição das técnicas de especificação de teste é uma forma
padronizada para derivação de casos de testes partir de
informações de origem.
origem.
A aplicação das técnicas permite mostrar a qualidade e
profundidade dos testes e aumentar a reusabilidade dos testes.
18
19. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Técnicas de Especificação de Teste
Níveis de evolução
Nível A – Técnicas informais
Nível B – Técnicas formais
19
20. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Técnicas de Teste Estático
Nem tudo pode e deve ser testado dinamicamente, através da
dinamicamente,
execução dos programas.
programas.
A inspeção de produtos sem a execução dos programas, ou a
programas,
avaliação de medições que indicam o nível de qualidade é chamada
de Teste Estático.
Estático.
Checklists são muito úteis para este tipo de avaliação.
avaliação.
20
21. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Técnicas de Teste Estático
Níveis de evolução
Nível A – Inspeção das bases de teste
Nível B – Checklists
21
22. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Métricas
Métricas são observações quantificadas das características de um
produto ou processo.
processo.
Para o processo de teste, métricas do progresso do processo e da
teste,
qualidade do sistema testado são muito importantes.
importantes.
Elas são usadas para controlar o processo de teste, para dar
teste,
substância às recomendações do teste, e também para tornar
teste,
possível comparar sistemas ou processos.
processos.
22
23. Testing Process Improvement - TPI
Grupo: Técnicas
Área: Métricas
Níveis de evolução
Nível A – Métricas de projeto (produto)
Nível B –Métricas de projeto (processo)
Nível C –Métricas de sistema
Nível D –Métricas de organização
23
24. Testing Process Improvement - TPI
Grupo: Infraestrutura
Descrição:
O grupo Infraestrutura determina as características ambientais
onde os testes serão executados, incluindo hardware, software,
serviços necessários e estrutura física.
Este grupo considera três áreas:
Ferramentas de Teste
Ambiente de Teste
Ambiente de Escritório
24
25. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ferramentas de Teste
Ferramentas de Teste são apoios automatizados ao processo de
teste.
A automação dentro do processo de teste pode ocorrer em de
diversas formas e possui em geral um ou mais objetivos:
Necessidade de redução do número de horas de teste;
Necessidade de redução do tempo de condução dos testes;
Aumentar a profundidade dos testes;
Aumentar a flexibilidade dos testes;
Aumentar ou agilizar a percepção sobre o processo de teste;
Aumentar a motivação dos testadores.
25
26. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ferramentas de Teste
Níveis de Evolução
Nível A – Ferramentas de planejamento e controle
Nível B –Ferramentas de Execução e análise
Nível C –Automação extensiva do processo de teste
26
27. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ambiente de Teste
A execução dos testes ocorre no chamado ambiente de teste. Este
teste.
componentes:
ambiente compreende os seguintes componentes:
Hardware;
Software;
comuncação;
Meios de comuncação;
Facilidades para construção e utilização das bases de dados
e arquivos;
arquivos;
Procedimentos.
Procedimentos.
27
28. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ambiente de Teste
O ambiente deve ser composto e configurado de modo que, por
que,
meio dos resultados dos testes, ele possa ser otimamente
determinado para a extensão dos testes a serem executados, de
executados,
acordo com os requisitos.
requisitos.
O ambiente possui grande influência na qualidade, tempo de
qualidade,
condução e custo do processo de teste. Importantes aspectos do
teste.
ambiente são: Responsabilidades, gerenciamento do sistema,
são: Responsabilidades, sistema,
disponibilidade no momento e pelo tempo necessários,
necessários,
representatividade e flexibilidade.
flexibilidade.
28
29. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ambiente de Teste
Níveis de Evolução
Nível A – Ambiente de teste gerenciado e controlado
Nível B – Teste no ambiente melhor adaptado
Nível C – Ambiente amplo de teste
29
30. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ambiente de Escritório
A equipe de teste necessita de cadeiras, mesas, cmputadores,
cadeiras, cmputadores,
processadores de texto, impressoras, telefones etc.
texto, impressoras,
Uma organização boa e disponibilizada na hora certa possui
influência positiva na motivação da equipe de teste, na
teste,
comunicação interna e interna da equipe a na eficiência do
trabalho.
trabalho.
30
31. Testing Process Improvement - TPI
Grupo: Infraestrutura
Área: Ambiente de Escritório
Níveis de Evolução
Nível A – Ambiente de escritório adaptado e eficiente
31
32. Testing Process Improvement - TPI
Grupo: Organização
Descrição:
O grupo Organização considera as questões gerais da organização
de um processo de teste, incluindo questões relacionadas aos
papéis exercidos, abrangência da metodologia de teste e
gerenciamento de diversos aspectos do ambiente de teste.
Este grupo considera oito áreas-chave:
áreas-
Comprometimento e motivação Relato
Funções de teste e treinamento Gerenciamento de defeitos
Escopo da metodologia Gerenciamento de testware
Comunicação Gerenciamento do processo de teste
32
33. Testing Process Improvement - TPI
Grupo: Organização
Área: Comprometimento e motivação
O comprometimento e motivação do pessoal envolvido no teste é
um pré-requisito importante para a fácil execução do processo de
pré-
teste.
teste. As pessoas envolvidas não são apenas os testadores, mas
testadores,
também,
também, por exemplo, o gerente do projeto.
exemplo, projeto.
Também importante é a sensação de se ter boas condições. O
condições.
processo de teste deve possuir tempo, dinheiro e recursos
tempo,
(quantitativos e qualitativos) suficientes para executar um bom
qualitativos)
teste, no qual a cooperação e boa comunicação com o resto do
teste,
projeto resulta num processo com ótima eficiência.
eficiência.
33
34. Testing Process Improvement - TPI
Grupo: Organização
Área: Comprometimento e motivação
Níveis de evolução
Nível A – Disponibilização de recursos e tempo
Nível B – Teste integrado à organização do projeto
Nível C – Engenharia de teste
34
35. Testing Process Improvement - TPI
Grupo: Organização
Área: Funções e treinamento
Num processo de teste, a composição correta da equipe de teste é
teste,
muito importante.
importante.
Uma mistura de diferentes disciplinas, funções, conhecimentos e
disciplinas, funções,
habilidades são requeridas.
requeridas.
Além de experiência específica em teste, conhecimento sobre o
teste,
assunto,
assunto, sobre a organização e conhecimento geral sobre TI é
necessário. Para adquirir esta mistura, treinamento é essencial.
necessário. mistura, essencial.
35
36. Testing Process Improvement - TPI
Grupo: Organização
Área: Funções e treinamento
Níveis de evolução
Nível A – Gerente de teste e testadores
Nível B –Gerente de testes, analista de teste, arquiteto de
teste e testadores.
Nível C –Engenharia da qualidade
36
37. Testing Process Improvement - TPI
Grupo: Organização
Área: Escopo da Metodologia
Para cada processo de teste na organização, certa metodologia ou
organização,
método de trabalho é usado, compreendendo atividades,
usado, atividades,
procedimentos, regulações,
procedimentos, regulações, técnicas etc.
Quando estas metodologias são diferentes toda vez ou quando são
tão genéricas que muitas partes necessitam ser desenhadas
novamente toda vez que usadas, isto tem um efeito negativo no
usadas,
resto da eficiência do processo.
processo.
O objetivo é que a organização use metodologias que são
suficientemente genéricas para serem aplicadas am todas as
situações,
situações, mas que contenham detalhamento suficiente para que
não seja necessário repensar os mesmos itens toda vez.
vez.
37
38. Testing Process Improvement - TPI
Grupo: Organização
Área: Escopo da Metodologia
Níveis de evolução
Nível A –Específica para o projeto
Nível B –Organizacional
Nível C –Otimização da organização
38
39. Testing Process Improvement - TPI
Grupo: Organização
Área: Comunicação
No processo de teste, comunicação com as pessoas envolvidas
teste,
ocorre de diversas formas, tanto dentro da própria equipe de teste
formas,
quanto com outras partes, como desenvolvedores, usuário, cliente
partes, desenvolvedores, usuário,
etc.
Estas formas de comunicação são importantes para a execução
tranquila do processo de teste, não apenas para criar boas
teste,
condições e otimizar a estratégia de teste, mas também para
teste,
comunicar o progresso e a qualidade.
qualidade.
39
40. Testing Process Improvement - TPI
Grupo: Organização
Área: Comunicação
Níveis de evolução
Nível A – Comunicação interna
Nível B –Comunicação de projeto
Nível C – Comunicação organizacional sobre a qualidade do
processo de teste
40
41. Testing Process Improvement - TPI
Grupo: Organização
Área: Relato
Teste não é apenas ´detecção de defeitos´ mas também o
defeitos´
fornecimento de uma percepção sobre o nível de qualidade dos
produtos.
produtos.
O relato deve objetivar fornecer um aconselhamento bem
fundamentado ao cliente referente ao produto e ao processo de
desenvolvimento de sistemas.
sistemas.
41
42. Testing Process Improvement - TPI
Grupo: Organização
Área: Relato
Níveis de evolução
Nível A – Defeitos
Nível B – Progresso, atividades e defeitos prioritários
Nível C – Riscos e recomendações, substanciados por
métricas
Nível D – Recomendações possuem um caráter de melhoria
de processo de software
42
43. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento de Defeitos
Embora gerenciar defeitos seja um assunto relacionado ao projeto
e não apenas ao teste, os testadores geralmente estão envolvidos
teste,
com isso.
isso.
Um bom gerenciamento pode permitir rastrear o ciclo de vida de
um defeito e dar suporte à análise da tendência de qualidade nos
defeitos detectados.
detectados.
Tais análises são usadas para, por exemplo, fornecer um
para, exemplo,
aconselhamento bem fundamentado referente à qualidade.
qualidade.
43
44. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento de Defeitos
Níveis de evolução
Nível A – Gerenciamento de defeitos internos
Nível B –Gerenciamento extensivo de defeitos
Nível C –Gerenciamento dos defeitos do projeto
44
45. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento de Testware
Os produtos dos testes devem ser manuteníveis e reusáveis para
isto precisam ser gerenciados.
gerenciados.
Além dos próprios produtos de teste, como Plano de Teste,
teste, Teste,
Especificações,
Especificações, Bases de dados e arquivos, é importante que
arquivos,
produtos de processos prévios, como o Projeto funcional, sejam
prévios, funcional,
bem gerenciados, já que o processo de teste pode ser rompido se
gerenciados,
uma versão errada de programa for entregue.
entregue.
Se o testador reivindicar o gerenciamento de versões dos produtos,
produtos,
ele exerce uma influência positiva e a testabilidade do programa é
melhorada.
melhorada.
45
46. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento de Testware
Níveis de evolução
Nível A – Gerenciamento interno de testware
Nível B –Gerenciamento externo das bases de teste e
objetos sob teste
Nível C –Testware reusável
Nível D –Sistema de rastreamento de requisitos para casos
de teste
46
47. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento do processo de teste
Para gerenciar cada processo e atividade, os quatro passos do ciclo
atividade,
PDCA de Deming são essenciais:
essenciais:
Planejar (Plan)
Executar (Do)
Verificar (Check)
Agir (Act)
ou algum dos modelos derivados dele …
O gerenciamento do processo é de vital importância para a
realização de um teste ótimo num processo de teste
frequentemente turbulento.
turbulento.
47
48. Testing Process Improvement - TPI
Grupo: Organização
Área: Gerenciamento do processo de teste
Níveis de evolução
Nível A – Planejamento e execução
Nível B – Planejamento, execução, monitoramento e ajuste
Nível C – Monitoramento e ajuste em toda organização
48
49. Testing Process Improvement - TPI
Grupo: Todos
Área: Avaliação
Avaliar significa inspecionar os produtos, como requisitos e projeto
produtos,
funcional. A importência da avaliação é que defeitos são
funcional.
encontrados o mais cedo possível no processo de desenvolvimento.
desenvolvimento.
Isto faz com que o retrabalho custe muito menos.
menos.
A avaliação pode ser executada mais facilmente, já que ela não
facilmente,
necessita executar programas ou configurar um ambiente.
ambiente.
49
50. Testing Process Improvement - TPI
Grupo: Todos
Área: Avaliação
Níveis de evolução
Nível A – Técnicas de Avaliação
Nível B – Estratégias de avaliação
50
51. Testing Process Improvement - TPI
Grupo: Todos
Área: Teste de baixo nível
Os testes de baixo nível são, geralmente, executados pelos
são, geralmente,
desenvolvedores.
desenvolvedores.
Fazem parte destes testes o teste de unidade e o teste de
integração.
integração.
O teste de baixo nível é eficiente porque requer pouca
comunicação e porque quem identifica o defeito é também quem o
corrige.
corrige.
51
52. Testing Process Improvement - TPI
Grupo: Todos
Área: Teste de baixo nível
Níveis de evolução
Nível A – Teste de baixo nível para o modelo de ciclo de vida
Nível B – Técnicas de caixa-branca
Nível C – Estratégia de teste de baicxo nível
52
53. Testing Process Improvement - TPI Controlado Eficiente Otimizado
Escala 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Áreas-chave
1 Estratégia dos Testes A B C D
2 Matriz
Modelo de Ciclo de Vida A B
3 Momento do Envolvimento no Teste A B C D
4 Estimativa e Planejamento A B
5 Técnicas de Especificação dos Testes A B
6 Técnicas de Teste Estático A B
7 Métricas A B C D
8 Automação de Testes A B C
9 Ambiente de Teste A B C
10 Local de Trabalho dos Testadores A
11 Comprometimento e Motivação A B C
12 Funções de Teste e Treinamento A B C
13 Escopo da Metodologia A B C
14 Comunicação A B C
15 Reporte A B C D
16 Gerenciamento de Falhas A B C
17 Gerenciamento do Testware (Artefatos do teste) A B C D
18 Gerenciamento do Processo de Teste A B C
19 Avaliação dos Produtos Intermediários do Desenvolvimento A B
20 Testes "Low-level" (testes realizados pelos desenvolvedores) A B C
53
54. Testing Process Improvement - TPI
TPI Next
Áreas-
Áreas-chave
1. Comprometimento dos Stakeholders
2. Grau de envolvimento
3. Estratégia de Teste
4. Organização dos Testes
5. Comunicação
6. Relato
7. Gerenciamento do processo de teste
8. Estimativa e planejamento
9. Métricas
10. Gerenciamento dos defeitos
11. Gerenciamento de testware
12. Metodologia
13. Profissionalismo do testador
14. Projeto do caso de teste
15. Ferramentas de teste
16. Ambiente de Teste
54