Avaliação do teste: como calcular o tempo exato para testar o sistema ou "Quando os testes estarão prontos?!"

imagem

Bom Dia a todos! Meu nome é Denis, sou o chefe do serviço de testes do BARS Group. Este é o meu primeiro post no Habré.

Depois de ler muitos artigos interessantes e obter muitas informações úteis de lá, eu queria dar algo em troca. Então comecei a analisar os tópicos: alguns já eram dublados, outros eram muito simples ("como entrar na TI?"). PS: Eu não queria magoar os sentimentos de ninguém :)

Como calcular o tempo para testes - problema e solução


Como chefe do serviço, deparo-me constantemente com uma pergunta dos gerentes: "Quando estará pronto?" ou "Quanto tempo leva para testar?" Parece que isso é complicado, faça uma avaliação do projeto anterior e mais ou menos a mesma coisa ... mas não. Percebi que a tarefa não é trivial e requer estudo detalhado. E eu quero compartilhar sua decisão.

Nossa empresa possui muitos centros de negócios e cada um tem sua própria abordagem de desenvolvimento - principalmente Kanban e Scrum. Portanto, as equipes de testadores automatizados foram escolhidas, sincronizadas com a equipe de desenvolvimento com sua metodologia.

Devido a diferentes abordagens ao gerenciamento de desenvolvimento, surgem dificuldades na uniformidade da formação e planejamento de tarefas. O uso de Kanban e Scrum em sua forma pura não deu uma resposta quanto tempo levaria para testar. Nas decisões de design, cada vez é necessário avaliar a nova funcionalidade e cobri-la com testes. Levei muito tempo para calcular. Portanto, decidi tomar os métodos para estimar os custos de tempo para o desenvolvimento de software (para testar a automação) como base e modificá-los para se ajustarem às minhas realidades. O princípio da avaliação e cálculo da média ponderada com base na digitação formou a base. As estimativas serão indicadores temporários para a automação de elementos típicos do sistema, e o nível de treinamento especializado será usado como pesos. Ao formar os valores dos pesos, escolhi a precisão da avaliação ao executar a tarefa, ou seja, quanto mais experiente o especialista,quanto menor o erro de estimativa. Os seguintes valores foram obtidos:

  • "Senior" - precisão de 95%, fator 1,05
  • "Médio +" - precisão de 80%, fator 1.2
  • "Médio" - precisão de 70%, coeficiente 1,3
  • "Junior +" - precisão de 60%, coeficiente 1,4
  • Junior - precisão de 50%, fator 1.5

Em seguida, precisaremos multiplicar a estimativa de tempo t n pelo coeficiente correspondente W n . Nosso método de cálculo é realizado de acordo com a fórmula, em que a soma dos pesos não é igual a 1 (100%).

imagem

W avg = (W 1 * t 1 + w 2 * t 2 ... + w n * t n ) / (w 1 + w 2 + ... + w n )

Para o cálculo, fiz dois testes - funcional e de interface do usuário, porque totalizam cerca de 85%.

Para obter o resultado final, precisamos coletar uma pontuação média ponderada para cada elemento em um objeto maior para cálculos - uma categoria.

Teste de interface do usuário


Ao testar a interface do usuário, você precisa emular o trabalho do usuário por meio da estrutura Selenium.Webdriver. Ao usar essa abordagem, é difícil construir elementos em formulários: guias, documentos com edição on-line, grandes grades com linhas, uma estrutura em árvore etc. Além desses elementos, também existem fatores que afetam o tempo de desenvolvimento do teste:

  • Estrutura de formulários (construtor típico ou personalizado)
  • Solicitações AJAX (seu número)

Com base nisso, três categorias de formulários de interface do usuário foram distinguidas pela dificuldade em implementar testes:

1 categoria



2 categoria



3 categoria



Como resultado, recebi os seguintes resultados, os quais são apresentados na tabela:



Teste funcional


Para testes funcionais, a situação é semelhante à interface do usuário - as categorias para sistematização de casos são destacadas. Além dos serviços REST, vale ressaltar o SOAP, que será semelhante às 3 categorias de REST.

O teste de integração envolve o teste de vários métodos em um serviço. Para uma avaliação aproximada, tivemos a presença de 5 métodos por 1 serviço.

1 categoria



2 categoria



3 categoria



Semelhante à tabela da interface do usuário:



O teste de integração verifica a operação dos serviços criados no REST e no SOAP. Ao projetar um serviço, o número de métodos usados ​​dentro pode variar. Para os cálculos, adotamos uma média de 5 métodos.



Com esse cálculo do tempo gasto no projeto, o percentual de participação nessa estimativa foi de 81.

Em vez de uma conclusão


Demorou uma semana de trabalho duro para contar pela primeira vez. Portanto, fiz a avaliação após o teste e depois comparei os resultados com os custos em tempo real.

Basta fazer o trabalho principal uma vez e depois considerá-lo de acordo com a "fórmula" pronta. Mas você precisa levar em consideração o fato de que o nível de funcionários está aumentando; portanto, é necessário entender o peso de cada funcionário para saber se deve recalcular os indicadores.
Todas as opções acima são a minha experiência e não afirmam ser verdade.

All Articles