2. O que é TPI (Test Process Improvement)
TPI é a sigla para Test Process Improvement, que
significa Melhoria no Processo de Testes.
Trata-se de um modelo de maturidade de testes criado
em 1997 por Tim Koomen e Martin Pol.
O objetivo principal do TPI é avaliar o nível de
maturidade do processo de testes de uma organização.
A partir dessa avaliação, é possível realizar uma
melhoria contínua das atividades de teste.
O modelo também ajuda a controlar gradualmente as
melhorias, ou seja, acompanhar o progresso em
direção a processos de teste mais eficientes.
3. Finalidade de TPI
Permite que uma organização:
Entenda o seu estágio atual no processo de
testes.
Identifique pontos fortes e fracos da
abordagem de teste atual.
Planeje ações de melhoria com base em
resultados concretos.
Ele também mostra, sob diversos pontos de
vista, como o processo está funcionando — por
exemplo:
O uso de ferramentas de teste.
A aplicação de técnicas de especificação de
testes.
A qualidade dos relatórios de teste gerados.
4. Matriz de Maturidade e Níveis
O modelo TPI utiliza uma matriz de
maturidade de testes para representar a
evolução do processo.
Essa matriz é composta por diversos pontos-
chave que representam diferentes áreas do
processo de teste.
Para cada ponto-chave, existem
níveis de maturidade, classificados
da letra A até D:
Nível A: nível mais básico (inicial).
Nível D: nível mais avançado
(otimizado).
5. Checkpoints (Verificações de Conformidade)
Cada nível dentro de um ponto-chave possui requisitos específicos,
chamados de checkpoints.
Esses checkpoints funcionam como critérios que o processo de teste
precisa atender para ser classificado naquele nível.
Exemplo: Para atingir o nível B em uma área, é necessário que todos os
checkpoints do nível A e do nível B sejam cumpridos.
6. Áreas Chave do TPI
EXISTEM 20 ÁREAS QUE SãO DIVIDIDAS EM GRUPOS
8. Estratégia de teste:
A Estratégia de Teste é uma área fundamental do TPI,
responsável por definir quais requisitos e riscos serão
abordados durante o processo de testes. Seu
principal objetivo é identificar as exigências de
qualidade e os riscos associados ao produto,
focando na detecção precoce dos defeitos mais
críticos, de forma eficiente e com o menor custo
possível.
Momento do envolvimento:
O envolvimento dos testes deve ocorrer o mais cedo possível no
desenvolvimento, pois atrasos aumentam os riscos e os custos de
correção de defeitos. Quanto antes os testes forem iniciados, mais
eficiente será a detecção e correção de falhas no início do processo.
Modelo de ciclo de vida:
O ciclo de vida do processo de testes é composto por fases como
planejamento, preparação, especificação, execução e entrega.
Cada fase envolve atividades com objetivos e entregas
específicas, incluindo propostas, entradas, saídas, dependências,
técnicas, ferramentas e documentação. O uso de um modelo de
ciclo de vida permite prever, planejar e controlar melhorias no
processo de testes.
Grupo Ciclo de vida
9. Planejamento e
estimativa:
O planejamento e estimativa indicam quais atividades
devem ser realizadas, quais recursos (pessoas) são
necessários para a execução das atividades de testes
no período de tempo previsto.
Técnicas de especificação
de testes:
A técnica de especificação de testes é uma forma
padronizada na obtenção dos casos de testes a
partir de fontes de informação (entrevistas,
documentações).
Técnicas estáticas de teste:
Inspecionar produtos sem execução de programas por meio de
Checklists e com certo grau de qualidade é chamado de testes
estáticos. A avaliação pode ser realizada nas documentações do
sistema.
Métricas são dados quantificados sobre o produto ou processo. No
teste de software, são essenciais para acompanhar o progresso e a
qualidade do sistema, controlar o processo e comparar resultados.
Também ajudam a avaliar os efeitos de melhorias, comparando dados
antes e depois das mudanças.
Métricas:
Grupo Técnicas
10. Ferramentas de Teste
A automação contribui para a execução das
atividades de teste como planejamento, controle,
especificação, execução e análise em menos tempo,
obtendo maior produtividade e testes mais
profundos.
Ambiente de Testes
Composto por hardware, softwares de apoio, formas
de comunicação e facilidades para banco de dados,
possui grande influência na qualidade, tempo e
custo do processo.
Local de Trabalho
O local adequado tem forte influência no
rendimento da equipe, sendo importante que os
profissionais tenham equipamentos adequados
como mesas, cadeiras, computadores e
softwares.
Grupo Infraestrutura e
ferramentas
11. Motivação e Comprometimento
O comprometimento e motivação do pessoal envolvido no teste é um pré-
requisito importante para a fácil execução das atividades. Um ambiente
organizado e estruturado é uma grande motivação para a equipe.
Atividades e Treinamentos
Uma equipe treinada e capacitada é fundamental. Diferentes formações,
conhecimentos e habilidades dos profissionais são essenciais, além da
experiência e conhecimento do negócio.
Escopo da Metodologia
É necessário utilizar uma metodologia suficientemente genérica, aplicável
em qualquer situação, mas com detalhes suficientes para evitar retrabalho a
cada utilização.
Grupo Organização
12. Grupo Organização
Comunicação
Num processo de teste, a comunicação com todas as pessoas envolvidas
(testadores, desenvolvedores, usuários e clientes) é muito importante. Com a
comunicação todos ficarão informados sobre o progresso e qualidade do
produto.
Relatórios
Os relatórios são fundamentais na identificação das falhas e melhorias na
qualidade do produto. O objetivo principal é fornecer critérios de avaliação
fundamentada do produto e do processo de desenvolvimento.
Gerenciamento dos Defeitos
Um bom gerenciamento deve ser capaz de mostrar o ciclo de vida dos
defeitos, suporte à análise e resolução dos mesmos.
Gerenciamento dos Produtos de
Teste
Os produtos de teste como planos, casos,
especificações e relatórios devem ser
controlados e administrados corretamente
para possível reutilização em projetos
semelhantes.
13. Grupo Organização
Plan (Planejar)
Elaborar um plano de ação
estabelecendo os objetivos a serem
alcançados, o caminho a ser traçado e
definir o método que deve ser utilizado.
Do (Executar)
É a parte da execução propriamente
dita e o seu acompanhamento com
base em relatórios para uma posterior
análise.
Check (Verificar)
Monitorar e avaliar periodicamente os
resultados, avaliar processos e
confrontá-los com o resultado
planejado.
Act (Agir)
Agir de acordo com o avaliado,
determinando novos planos de ação
para melhorar a qualidade, eficiência e
eficácia, corrigindo eventuais falhas.
O PDCA, também conhecido como ciclo de Shewhart ou ciclo de Deming, é um método de desenvolvimento com foco na melhoria
contínua. Este ciclo é essencial para gerenciar cada processo e atividade de teste, sendo de vital importância para a realização de
um teste ótimo num processo frequentemente turbulento.
14. Grupo Todos
Avaliação
A avaliação dos produtos intermediários do desenvolvimento
refere-se ao processo de inspeção dos requisitos funcionais ou
negócios da Organização. Tem como objetivo encontrar
defeitos em estágios iniciais, reduzindo significativamente os
custos de retrabalhos.
Este processo é fundamental para garantir que os requisitos
estejam alinhados com as necessidades do negócio antes
mesmo de iniciar o desenvolvimento propriamente dito.
Testes de Baixo Nível
Os testes de baixo nível são executados diretamente nos
códigos fontes pelo próprio desenvolvedor, incluindo testes
unitários e de integração. Seu objetivo principal é encontrar
defeitos ainda no processo de desenvolvimento do produto.
Ao identificar problemas nesta fase inicial, evita-se que os
defeitos sejam localizados apenas nos testes de alto nível, o
que reduziria a eficiência do processo como um todo.
15. Níveis de maturidade TPI
os níveis de maturidade do TPI para cada área-chave, que são
classificados em quatro níveis: A, B, C e D. Cada área-chave
tem um número específico de níveis, e para alcançar um nível,
é necessário cumprir os pontos de verificação definidos como
requisitos.
Para avançar para um nível superior, é preciso atender a todos
os requisitos do nível anterior. Se o processo de teste não
atingir os requisitos do nível A ou B, ele é classificado como
nível Inicial, com pontuação zero na matriz de maturidade.
16. Matriz de maturidade
O objetivo da matriz de maturidade de testes é avaliar os
relacionamentos entre as áreas-chave e os níveis de
maturidade, identificando ações para alcançar níveis mais
elevados no processo de testes. Ela possui uma escala de 13
itens e 3 níveis de melhorias: Controlado, Eficiente e
Otimizado.
A evolução do processo de teste é representada por essa
escala, onde quanto maior o nível na matriz, melhor será o
processo de testes. Embora existam dependências entre
alguns níveis e áreas-chave, essas não interferem na decisão
de uma área alcançar um certo nível.
17. Categorias das escalas de maturidade
Controlado:
As escalas da maturidade de 1 a 5 têm foco no controle do processo de
teste. O propósito dos níveis é proporcionar um processo de teste
controlado e ter uma visão da qualidade do sistema testado. O
processo do teste tem uma estratégia previamente definida, técnicas de
especificação de teste, os defeitos são registrados e relatados. Os
produtos e ambiente de teste estão bem controlados e os testadores
são adequadamente treinados.
Eficiente:
Nos níveis de 6 a 10, o foco está na eficiência do processo de
teste, alcançada por meio de melhor integração entre os
processos de teste e outras áreas do desenvolvimento. A
eficiência é refletida na consolidação do método de trabalho
no processo de testes.
Otimizado:
Nos níveis de 11 a 13, o foco é na otimização e melhoria
contínua do processo de testes, garantindo a evolução
constante e o aprimoramento do processo dentro da
organização.
19. Pontos de verificação
Os pontos de verificação são usados para medir o nível de uma área-chave no processo de teste. Cada nível de uma área-chave
possui pontos de verificação específicos que devem ser atingidos para classificar o processo naquele nível. Com base nesses
pontos de verificação, um processo de teste pode ser avaliado, e o nível seguinte corresponde a uma melhoria que orienta o
processo a avançar para o próximo nível.
20. Sugestões de melhoria
As sugestões de melhorias são definidas com base nos níveis mais altos de maturidade e são obtidas por meio da verificação
dos níveis de maturidade dos testes. Essas sugestões visam fornecer melhorias para processos que possuem maturidade mais
baixa.