Este artigo foi traduzido por máquina.

Execução de teste

Medindo o progresso do esforço de teste com o EVM

James McCaffrey

Em muitos ambientes de desenvolvimento de software, uma parte importante do esforço de teste de software geral está tendo a capacidade de medir o progresso do esforço de teste. Uma técnica para fazer isso é uma técnica de gerenciamento de projeto chamada gerenciamento de valor acumulado (EVM).

EVM é uma técnica quantitativa simple que pode ser usada para medir o progresso de agenda — e, opcionalmente, o progresso do orçamento — de qualquer tipo de projeto, incluindo um esforço de teste de software ou em alguma parte do esforço geral. EVM tem sua origem em uma iniciativa de 1962 pelos EUA Departamento de defesa chamado PERT/custo. Embora EVM é simple de usar e pode ser aplicada para testar os esforços de qualquer porte, com base na minha experiência muitos engenheiros de software erroneamente acham que EVM é adequado para uso somente com os esforços de desenvolvimento de software grandes.

Na execução de teste deste mês, explicamos qual EVM de coluna é, orientá-lo por meio de um exemplo de uso EVM para medir o progresso do esforço de teste e descreva quando usar EVM e quando não usá-lo.

Preparando o gerenciamento do valor acumulado

É a melhor maneira de entender EVM percorrer um exemplo concreto. A primeira etapa no EVM é dividir a parte do esforço de teste que você deseja monitorar em tarefas menores. Na terminologia de gerenciamento de projeto padrão essas tarefas menores geralmente são chamadas de pacotes de trabalho, mas em um ambiente de desenvolvimento de software, muitas vezes são simplesmente chamados subtarefas.

Deixe-me enfatizar com antecedência que dividindo um esforço de teste de software ou qualquer projeto que geralmente é a parte mais difícil do processo EVM.

Agora vamos supor que você dividir seu esforço de teste em cinco subtarefas, rotulado como À E, como mostrado na a Figura 1 . O nível de detalhes ou granularidade, você dividir seu esforço de teste geral depende de muitos fatores. Como uma regra geral, em um ambiente de teste de software, as subtarefas individuais são freqüentemente escopo para que cada subtarefa requer aproximadamente entre quatro e 40 horas para ser concluída.

Figura 1 mapeamento de subtarefas para EVM

A topologia do diagrama na a Figura 1 indica dessa subtarefa teste a deve ser concluída antes do início de b e que as subtarefas c e d devem ambos ser concluídas antes da subtarefa E Iniciar.

A próxima etapa no EVM é estimar quanto do teste geral de alocação de recursos ou orçamento, está associado a cada subtarefa. Isso é chamado de valor planejado (VP) para cada subtarefa.

O exemplo na a Figura 2 pressupõe que você tenha um orçamento total de teste de 350 unidades. VP unidades com mais freqüência são medidas em dólares (ou Euros ou rublos e assim por diante). A magnitude absoluta de unidades de custo não é importante, para que o valor planejado 350 total em nosso exemplo poderia representar US $350 ou US $350000. Além das unidades monetárias, como dólares, as unidades de VP também podem ser unidades arbitrárias que medem o custo de alguma maneira.

Figura 2 agendamento subtarefas

Subtarefa Valor planejado Duração (dias) Concluir (dias)
A 50 1 1
B 60 2 3
C 90 3 6
D 80 1 4
E 70 2 8

Não há nenhuma mágica fórmulas para determinar a subtarefa VP, mas é importante observar que a precisão das métricas de andamento agenda produzidas pela EVM depende inteiramente a precisão de suas métricas VP iniciais. Em a Figura 2 , você pode ver o VP estimativas para subtarefas A, B, C, D e e são 50, 60, 90, 70 e 80, respectivamente.

Após a estimativa VP, a próxima etapa no EVM é estimar o quanto cada subtarefa levar e, em seguida, usar essas estimativas para determinar a hora de término de cada subtarefa. Em a Figura 2 , eu determinei (usando os dados históricos, ou experiência anterior ou técnicas quantitativas) que as subtarefas A, B, C, D e e são estimadas para levar 1, 2, 3, 1 e 2 dias cada. Neste exemplo, as unidades de tempo são dias, mas você pode utilizar os horários ou semanas ou qualquer medida desde que você esteja consistente em toda a análise EVM.

Começamos momento = 0, portanto, se a subtarefa estimada 1 dia, ele terminará no dia 1. Subtarefa B, em seguida, poderia começar no dia 1 e exigem 2 dias, terminando no dia 3. Observe que subtarefa e não pode começar enquanto subtarefas c e d ambos terminaram, o que seriam no dia 6 (o maior dos horários de término para c e D) e então terminaria no dia 8.

Depois de determinar qual seu esforço de teste de software subtarefas são, e estimado seus VP, durações e as horas de término, a próxima etapa é criar uma tabela de PVs cumulativas. Você pode começar criando uma tabela como a mostrada na a Figura 3 . A coluna mais à esquerda marca o final de cada unidade de tempo (neste exemplo, 1 a 8 dias). A segunda coluna é o VP cumulativa no final de cada dia, que pode ser determinado da tabela anterior do VP de dados.

Figura 3 andamento agenda com PV cumulativa

Dia Cum VP Atividade real Cum EV
1 50 A foi iniciado (mas ainda não terminou) 0
2 50 Terminou A, B foi iniciado. 50
3 110 Terminou de B, C e d foram iniciados. 110
4 190 (nenhuma alteração) 110
5 190 (nenhuma alteração) 110
6 280 Ambos os tem terminado de c e D, E foi iniciado. 280
7 280 (nenhuma alteração) 280
8 350 E tenha terminado. 280

No final do dia 1, A subtarefa deve ser concluída e o VP cumulativa deve ser 50, o VP para a. No final do dia 2, nenhum novas subtarefas devem ser concluídas para que o VP cumulativa ainda é 50. No final do dia 3, subtarefa b agora deve ser concluída e o VP cumulativa deve ser 50 para subtarefa um sinal de mais 60 para subtarefa B = 110. Da mesma forma que o PVs cumulativas no final de 4 a 8 dias pode ser determinado.

Medir o progresso do teste à agenda

Vamos supor que o esforço de teste é revelado conforme mostrado na terceira coluna da tabela a Figura 3 . Essas atividades representam o que realmente acontece em oposição a esperada acontecer. A diferença entre o que você planejou realizar (sua PV) e o que você realmente realizado é o valor acumulado (EV).

Por isso, no final do dia 1, A subtarefa iniciado mas não foi concluído conforme programado. Portanto o EV cumulativa na coluna 4 é 0. No final do dia 2, A subtarefa na verdade termine e então, ganhar 50 (o VP associado A) e colocar esse valor na coluna 4. No final do dia 3, termina de subtarefa b e então o EV cumulativa é 50 + 60 = 110. Mas no final do dia 4, nenhum novas subtarefas termine e então o EV cumulativa ainda é 110. No final de cada dia ou em qualquer unidade de tempo que você está usando, você atualiza a coluna EV cumulativa.

Seu progresso de agenda do esforço de teste é facilmente lido da tabela no a Figura 3 . Se o EV cumulativa é menor do que o VP cumulativa, você está atrasado. Se o EV cumulativa é exatamente igual ao VP cumulativa, você está em dia. E se o EV cumulativa é maior do que o VP cumulativa, em seguida, você está adiantado (que, aliás, não é necessariamente uma coisa boa).

EVM normalmente usa duas métricas específicas para quantificar quanto à frente, atrás ou na agenda é o esforço de teste. A variação da agenda supostas (VA) em qualquer ponto no tempo é simplesmente o EV cumulativa menos o VP cumulativa. Por exemplo, em a Figura 3 , no final do dia 4, VA = 110 – 190 = - 80 indicando o esforço de teste é 80 custo unidades (normalmente dólares) do VP atrasada. Uma VA negativa indica um projeto está atrasado no cronograma e VA positiva indica que um projeto está adiantado.

Porque a magnitude absoluta de VA varia de acordo com as unidades de VP, uma métrica alternativa chamada o índice de desempenho de agendamento (IDA) é freqüentemente usada em vez de VA. SPI é cumulativa EV dividido pelo VP. No meu exemplo, no final do dia 4, o SPI é 110 / 190 = 0.58.

Isso pode ser interpretado que eu apenas conquistaram 58% do meu VP — em outras palavras, eu sou 42% atrás minha PV agendada.

SPI valores menos de 1,00 significa o esforço de teste é atrasado, um valor SPI 1,00 significa o esforço de teste é exatamente na agenda e SPI valores superiores a 1,00 significa o esforço de teste está adiantado.

Conclusão

Como você viu nesta coluna, o monitoramento do progresso de agenda do esforço de teste de software com EVM é fácil. No entanto, assim como acontece com qualquer técnica quantitativa, seus resultados são apenas tão boas quanto os dados iniciais — nesse caso os PVs associado a cada subtarefa de esforço de teste. EVM é uma atividade dinâmica e você deve revisar as estimativas conforme o esforço de teste é revelado.

Na introdução a esta coluna, eu mencionei que EVM pode ser usado para medir o progresso de agendamento e andamento do orçamento. Avaliar o progresso de agendamento, como expliquei aqui é um pré-requisito para medir o progresso de orçamento. Avaliar o progresso de orçamento requer que você monitora ativamente quanto de seus recursos no final de cada unidade de tempo gasto. Isso geralmente é mais difícil de medir o progresso do trabalho, para que medir o progresso de orçamento com EVM geralmente só é usado em projetos de software maiores e será o assunto de uma coluna futura Test Run.

A abordagem EVM para mensurar o teste de esforço agenda progresso que apresentei aqui, que basicamente é uma técnica de papel e Lápis, é bem adequado para projetos pequenos e projetos que estão sendo desenvolvidos em um ambiente ágil. Ao desenvolver projetos de software grandes, ferramentas de software geralmente são necessários para gerenciar a complexidade introduzida pela existência de centenas ou até milhares de teste de esforço subtarefas.

Dr.James McCaffreytrabalha para a Volt Information Sciences Inc., onde gerencia o treinamento técnico para engenheiros de software, trabalhando com a Microsoft Redmond, Wash campus. Ele é trabalhou em vários produtos da Microsoft, incluindo o Internet Explorer e o MSN Search. Dr.McCaffrey é autor de ".NET Test Automation Recipes"(Apress, 2006) e pode ser contatado em jammc@microsoft.com .

Graças ao especialista técnico Microsoft seguir pela revisão deste artigo: James Oker