software test estimation techniques
Para o sucesso de qualquer projeto, a estimativa de teste e a execução adequada são tão importantes quanto o ciclo de desenvolvimento. Seguir a estimativa é muito importante para construir uma boa reputação com o cliente.
A experiência desempenha um papel importante na estimativa de “esforços de teste de software”. Trabalhar em projetos variados ajuda a preparar uma estimativa precisa do ciclo de teste. Obviamente, não se pode dedicar cegamente um certo número de dias a qualquer tarefa de teste. A estimativa do teste deve ser realista e precisa.
Neste artigo, estou tentando colocar alguns pontos de uma maneira muito simples, que são úteis para preparar uma estimativa de teste precisa.
O que você aprenderá:
- Breve descrição do processo de estimativa de teste
- Exemplos de estimativa de teste
- 9 dicas gerais sobre como estimar o tempo de teste com precisão
- Conclusão
- Leitura recomendada
Breve descrição do processo de estimativa de teste
“Estimativa é o processo de encontrar uma estimativa, ou aproximação, que é um valor que pode ser usado para alguma finalidade, mesmo que os dados de entrada possam ser incompletos, incertos ou instáveis.” (Referência: Wikipedia )
Todos nós nos deparamos com tarefas, deveres e prazos diferentes ao longo de nossas vidas como profissionais, agora existem duas abordagens para encontrar uma solução para um problema.
Uma primeira abordagem é uma abordagem reativa por meio da qual tentamos encontrar uma solução para o problema em questão somente depois que ele chega.
Na segunda abordagem, que pode ser chamada de abordagem proativa, em que primeiro nos preparamos muito antes que o problema chegue com nossas experiências anteriores e, em seguida, com nossa experiência anterior, tentamos encontrar uma solução para o desafio quando ele chegar.
A estimativa pode, portanto, ser considerada uma técnica que é aplicada quando adotamos uma abordagem proativa para o problema.
Assim, a estimativa pode ser usada para prever quanto esforço em relação ao tempo e custo seria necessário para concluir uma tarefa definida.
Uma vez que a equipe de teste é capaz de fazer uma estimativa do problema em questão, é mais fácil para eles chegarem a uma solução que seja ideal para o problema em questão.
A prática de estimativa pode ser definida então mais formalmente como um cálculo aproximado do custo provável de uma peça de trabalho.
Além disso, leia=> 7 fatores que afetam a estimativa de teste do projeto de automação Selenium
Os pré-requisitos básicos do processo de estimativa de teste
# 1) Insights obtidos do trabalho com experiências anteriores : É sempre uma boa prática passar algum tempo relembrando projetos anteriores que representaram desafios semelhantes ao esforço atual em mãos.
# 2) Os documentos ou artefatos disponíveis: O ferramentas de repositório de gerenciamento de teste vêm em úteis nesses tipos de cenários, pois armazenam os documentos de requisitos e esclarecimentos. Esses documentos podem ser consultados pela equipe de teste para definir claramente o escopo do projeto.
# 3) Hipóteses sobre o tipo de trabalho: A experiência anterior de trabalho ajuda a fazer suposições sobre o projeto. É aqui que a contratação de profissionais experientes é mais importante.
Os gerentes de teste podem pegar os cérebros dessas pessoas para entregar os resultados desejados.
# 4) Cálculo de riscos e ameaças potenciais: A equipe de teste também precisa visualizar os riscos e ameaças potenciais e as armadilhas que podem estar para a equipe no futuro.
# 5) Determinar se os documentos foram definidos como linha de base: A equipe de teste também precisa determinar se os requisitos foram definidos como linha de base ou não. Se os documentos não tiverem linha de base, é importante determinar a frequência das alterações.
# 6) Todas as responsabilidades e dependências devem ser claras: A organização deve definir claramente as funções e responsabilidades de todas as pessoas que executariam o processo de estimativa.
# 7) Documentação e rastreamento dos registros de estimativa: Todas as informações relevantes para o processo de estimativa devem ser documentadas.
# 8) Atividades que devem ser realizadas durante o processo de estimativa de teste
- Organize a equipe que faria as estimativas
- Decompor o projeto em fases do projeto e atividades constituintes subsequentes
- Calcule a estimativa com base em projetos anteriores e experiência profissional
- Priorize as possíveis ameaças e crie as abordagens para mitigar esses riscos
- Revise e documente a parte relevante do trabalho
- Envie o trabalho para as partes interessadas relevantes
Técnicas de estimativa de teste mais proeminentes
Algumas das técnicas mais importantes para estimativa de teste são:
- Estimativa de ponto de teste
- Estimativa baseada na fase de trabalho
- Estimativa de caso de uso
Como e onde usamos essas técnicas:
# 1) Estimativa de ponto de teste é uma técnica de estimativa simples e facilmente compreensível, amplamente usada em todo o espectro de teste de software. Fases iterativas e simplicidade são as características mais importantes desta técnica particular.
lista de empresas que usam computação em nuvem
# 2) Estimativa baseada na fase de trabalho é a técnica de estimativa usada por meio da qual uma estimativa de estimativa é feita em uma fase particular (normalmente a mais curta e mais simples das fases) e, em seguida, a equipe de teste gradualmente adiciona outras fases na estimativa inicial e, finalmente, chega a uma estimativa apropriada.
# 3) Técnica de estimativa de ponto de caso de uso é a estimativa sobre os casos de uso em que os pesos do ator não ajustados e os pesos dos casos de uso não ajustados são usados para determinar a estimativa de teste de software.
Detalhes da técnica de estimativa do ponto de teste
A técnica de estimativa de ponto de teste é feita seguindo as etapas listadas: -
(Os pesos a seguir, que podem variar de projeto para projeto, podem ser considerados sob este paradigma - Alguns desses pesos são o peso para a linguagem de programação com base na complexidade do código, o peso do aplicativo com base no tipo de aplicativo e os pesos de teste que são atribuído com base nas diferentes fases de teste de software.)
Os pontos de teste não processados são multiplicados por CWF para obter o tamanho do teste no tamanho do ponto de teste.
O fator de produtividade indica a quantidade de tempo para um engenheiro de teste concluir o teste de um ponto de teste
O esforço de teste em horas pessoais é calculado multiplicando o tamanho do Ponto de teste pelo fator de produtividade.
Para o cálculo da técnica de estimativa do ponto de teste, consideramos as seguintes variáveis.
- Complexidade do requisito de teste
- Interface com outros requisitos
- Número total de pontos de verificação
- Dados de teste de linha de base
Em seguida, precisamos considerar os vetores de peso para cada uma das variáveis de dados e organizá-los da seguinte maneira.
Fator de ajuste = Média de (produto do peso da complexidade e peso do fator) / 30
Ponto de teste de ajuste para design de caso de teste = Ponto de teste total X (1 + fator de ajuste para design de caso de teste)
c ++ em comparação com java
Ponto de teste ajustado para execução do caso de teste = Ponto de teste total X (1 + fator de ajuste para execução do caso de teste)
Ponto de teste total (normalizado) X (1 + fator de ajuste para projeto / execução de caso de teste) = Ponto de teste ajustado para projeto / execução de caso de teste
Esforço total em horas pessoais (PH) = Número de pontos de teste normalizados / Produtividade (em pontos de teste normalizados por horas pessoais)
Exemplos de estimativa de teste
Tentemos aplicar a formulação acima em outro uso prático.
Suponha que terminemos com um requisito de teste no qual temos 5 cenários de teste para testar.
Agora diga que o cenário de teste 1 obteve 5 resultados esperados de teste, cenário de teste 2 6 resultados de teste esperados, cenário de teste 3 apenas 2 resultados de teste esperados, cenário de teste 4 9 resultados de teste esperados, cenário de teste 5 também 9 resultados de teste esperados, respectivamente.
Portanto, classificamos os cenários de teste em três classes, ou seja, complexos, simples e moderados com base no número total de resultados esperados presentes nessas três classes.
As classes complexas terão mais de 7 resultados esperados, ao passo que as simples terão menos de 5 resultados esperados e os cenários moderados terão entre 4 a 7 resultados esperados.
Assim, classificamos o cenário de teste 1 e o cenário de teste 2 como cenários moderados, o cenário 5 e o cenário 6 como complexos e o cenário de teste 3 como simples.
Agora vamos aplicar pontos de teste a todos esses cenários. Aplicamos 5 pontos de teste para classes complexas, 3 para as moderadas e 2 para os cenários simples.
Multiplicamos os pontos de teste assumidos pelo número total de resultados esperados em todos esses cenários de teste. Portanto, terminamos com as seguintes aproximações.
Cenário 1: 3 pontos de teste * 5 resultados esperados de teste = Pontos de teste ajustados = 25
Cenário 2: 3 pontos de teste * 6 resultados esperados de teste = pontos de teste ajustados = 30
Cenário 3: 2 pontos de teste * 2 resultados esperados de teste = Pontos de teste ajustados = 4
Cenário 4: 5 pontos de teste * 9 resultados esperados de teste = Pontos de teste ajustados = 45
Cenário 5: 5 pontos de teste * 9 resultados esperados de teste = Pontos de teste ajustados = 45
Portanto, considerando que precisamos aplicar, digamos, 5 horas-pessoa para cada ponto de teste ajustado, acabamos obtendo o seguinte resultado aproximado.
Cenário de teste 1: 25 pontos de teste ajustados * 5 horas por pessoa = 125 horas por pessoa
Cenário de teste 2: 30 pontos de teste ajustados * 5 horas por pessoa = 150 horas por pessoa
Cenário de teste 3: 4 pontos de teste ajustados * 5 horas pessoais = 20 horas pessoais
Cenário de teste 4: 45 pontos de teste ajustados * 5 horas pessoais = 225 horas pessoais
Cenário de teste 5: 45 pontos de teste ajustados * 5 horas pessoais = 225 horas pessoais
Portanto, o total aproximado de horas por pessoa é: 745 horas por pessoa
Método de estimativa de ponto de caso de uso
O Método de Ponto de Caso de Uso é baseado nos casos de uso em que calculamos o esforço geral de estimativa de teste com base nos casos de uso ou nos requisitos.
Aqui está o processo detalhado do método de estimativa de ponto de caso de uso:
Um exemplo do mesmo é que digamos que em um requisito específico temos 5 casos de uso, caso de uso 1, caso de uso 2,…, caso de uso 5, respectivamente. Agora, vamos considerar que o caso de uso 1 consiste em 6 atores, o caso de uso 2 consiste em 15 atores, os casos de uso 3, 4 e 5, 3, 4 e 5 atores respectivamente.
Consideramos qualquer caso de uso que envolva o número total de atores menor que 5 como negativo, qualquer caso de uso com o número total de atores igual ou maior que 5 e menor ou igual a 10 como positivo e qualquer caso de uso com mais de 10 atores como excepcionais.
Decidimos atribuir 2 pontos para os casos de uso excepcionais, 1 para os positivos e -1 para os negativos.
Portanto, categorizamos os casos de uso 1 e 5 como positivos, o caso de uso 2 como excepcional e o caso de uso 3, 4 como negativo, respectivamente, com base em nossas suposições declaradas acima.
Portanto, os pesos dos atores não processados = Caso de uso 1 = (número total de atores) 5 * 1 (o ponto atribuído) = 5. Da mesma forma
Caso de uso 2 = 15 * 2 = 30.
Repetindo o processo para o restante dos casos de uso, recebemos os pesos do ator não processado = 33
Peso do caso de uso não processado = nº total. de casos de uso = 5
Ponto de caso de uso não processado = Peso do ator não ajustado + Peso do caso de uso não ajustado = 33 + 5 = 38
Ponto de caso de uso processado = 38 * (0,65+ (0,01 * 50) = 26,7 ou 28 horas-pessoa aproximadamente
Técnica de decomposição da fase de trabalho
A técnica de divisão da fase de trabalho pode ser descrita nas etapas a seguir.
- Divida o trabalho geral em fases.
- Comece com a fase mais simples e atribua um valor de estimativa aproximado a ela.
- Em seguida, prossiga com a identificação da próxima fase possível, que pode ser iniciada assim que esta fase for concluída.
- Derive um possível conjunto de valores de aproximação que podem ser aplicados a esta fase e escolha o valor máximo entre todos os valores de aproximação derivados.
- Some o valor aproximado da estimativa adicionando o valor da estimativa do esforço da fase atual ao valor já existente.
- Continue as etapas 3 a 5 até que todas as fases identificadas na primeira etapa sejam esgotadas.
- Aceite o valor final da estimativa aproximada como o último.
Suponha que em um requisito existam 5 fases obrigatórias. Portanto, na fase inicial 1, assumimos que os esforços totais necessários são de 35 horas por pessoa e então começamos a próxima fase 2 para a qual temos 4 premissas comparativas de 35, 45, 55 e 65, respectivamente.
Portanto, consideramos 65 pessoas-hora, que é o valor máximo aqui. Na fase 3, 4, 5, apresentamos estimativas (12, 33, 43, 54), (15, 10, 7, 8) e (2, 16, 5, 13), respectivamente. Ao aplicar o referido princípio, terminamos com 185 horas-pessoa, respectivamente.
Estou colocando informações sobre - Como estimar os esforços de teste para qualquer tarefa de teste, que aprendi com minha experiência.
garantia de qualidade vs. controle de qualidade
9 dicas gerais sobre como estimar o tempo de teste com precisão
Fatores que afetam a estimativa de teste de software e dicas gerais para estimar com precisão:
# 1) Pense em algum tempo de buffer
A estimativa deve incluir algum buffer. Mas não adicione um buffer, o que não é realista. Ter um buffer na estimativa permite lidar com quaisquer atrasos que possam ocorrer. Ter um buffer também ajuda a garantir a cobertura máxima do teste.
# 2) Considere o ciclo de bug
A estimativa de teste também inclui o ciclo do bug. O ciclo de teste real pode levar mais dias do que o estimado. Para evitar isso, devemos considerar o fato de que o ciclo de teste depende da estabilidade da construção. Se a compilação não for estável, os desenvolvedores podem precisar de mais tempo para consertar e, obviamente, o ciclo de teste é estendido automaticamente.
# 3) Disponibilidade de todos os recursos para o período estimado
A estimativa de teste deve considerar todas as licenças planejadas pelos membros da equipe (normalmente licenças longas) nas próximas semanas ou nos próximos meses. Isso garantirá que as estimativas sejam realistas.
A estimativa deve considerar algum número fixo de recursos para um ciclo de teste. Se o número de recursos reduzir, a estimativa deve ser revisada e atualizada de acordo.
# 4) Podemos fazer testes paralelos?
Você tem algumas versões anteriores do mesmo produto para poder comparar a saída? Se sim, isso pode tornar sua tarefa de teste um pouco mais fácil. Você deve pensar sobre a estimativa com base na versão do produto.
# 5) As estimativas podem dar errado - então, visite novamente as estimativas com frequência nos estágios iniciais antes de confirmá-las.
Nos estágios iniciais, devemos visitar novamente as estimativas de teste e fazer uma modificação, se necessário. Não devemos estender a estimativa depois de congelá-la, a menos que haja grandes mudanças nos requisitos.
# 6) Pense em sua experiência anterior para fazer julgamentos!
Experiências de projetos anteriores desempenham um papel vital na preparação de estimativas de tempo. Podemos tentar evitar todas as dificuldades ou problemas que enfrentamos em projetos anteriores. Podemos analisar como foram as estimativas anteriores e o quanto elas ajudaram a entregar o produto no prazo.
# 7) Considere o escopo do projeto
Saiba qual é o objetivo final do projeto e lista todas as entregas finais. Os fatores a serem considerados para projetos pequenos e grandes diferem muito.
O projeto Grande normalmente inclui a configuração de um banco de teste, a geração de dados de teste, scripts de teste, etc. Portanto, as estimativas devem ser baseadas em todos esses fatores. Já em projetos pequenos, normalmente o ciclo de teste inclui a escrita, execução e regressão de casos de teste.
# 8) Você vai realizar o teste de carga?
Se você precisa dedicar um tempo considerável aos testes de desempenho, faça uma estimativa adequada. As estimativas para projetos, que envolvem teste de carga, devem ser consideradas de forma diferente.
# 9) Você conhece sua equipe?
Se você conhece os pontos fortes e fracos dos indivíduos que trabalham em sua equipe, pode estimar as tarefas de teste com mais precisão. Ao fazer a estimativa, deve-se considerar o fato de que todos os recursos podem não render o mesmo nível de produtividade. Algumas pessoas podem executar mais rápido em comparação com outras. Embora este não seja um fator importante, ele se soma ao atraso total nas entregas.
Conclusão
A estimativa de teste de software é a prática que requer o envolvimento de profissionais experientes, bem como a introdução de práticas recomendadas para todo o setor, como ponto de caso de teste e métodos de ponto de caso de uso.
Também é importante adotar uma mente aberta para personalizar os processos necessários. A implementação bem-sucedida desses processos leva a uma melhoria geral no processo de teste.
Este é um artigo convidado do Autor “N. Sandhya Rani ”.
Leitura recomendada
- Os melhores serviços de teste de software de controle de qualidade da SoftwareTestingHelp
- Guia de terceirização de controle de qualidade: empresas de terceirização de teste de software
- Teste Alfa e Teste Beta (um guia completo)
- Guia de currículo de teste de software perfeito (com amostra de currículo de testador de software)
- Trabalhos de teste de software: um guia completo para trabalhos de teste de controle de qualidade
- Técnicas de estimativa ágil: uma estimativa verdadeira em um projeto ágil
- 68 Recursos essenciais para ser um testador de sucesso (não perca!)
- Tipos de teste de software: diferentes tipos de teste com detalhes