Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By AsEspecialistas

Nas edições 92 e 94 da Revista Java Magazine, publicamos (respectivamente) os artigos “Estimativa x Teste de Software” e “Gestão de Defeitos no Teste de Software“.

Nesses artigos, falamos da importância de utilizar uma estimativa específica para o Teste dentro do ciclo de desenvolvimento de software para evitar que o mesmo seja colocado em segundo plano. Apresentamos também, conceitos, melhores práticas, vantagens e ferramentas que propiciam um melhor gerenciamento dos defeitos no Teste.

Atualmente o Teste de Software vem ganhando cada vez mais espaço no cenário dos projetos de software, porém, quando ocorre um atraso em alguma das fases do ciclo de desenvolvimento, o Teste acaba prejudicado, tornando-se assim uma atividade secundária e comprometendo a qualidade final do produto.

Uma maneira de contornar essa situação é criando uma estimativa específica para a fase de Teste dentro do ciclo de vida do desenvolvimento de software. O grande objetivo dessa estimativa voltada para o Teste é garantir mais qualidade em um tempo hábil, conforme planejado para o projeto como um todo.

Com o segundo artigo, apresentamos a Gestão de Defeitos, que também é uma outra maneira de contornar essa situação, pois possibilita uma visão geral e consequentemente um melhor acompanhamento do andamento do projeto, através da verificação dos bugs registrados.

Mas a questão é, depois de estimar e gerenciar os defeitos, como mensurar as atividades?
O objetivo desse nosso post é apresentar como as Métricas de Teste podem complementar as Estimativas e o Gerenciamento dos Defeitos, agregando ainda mais qualidade ao Processo de Teste de Software.

Afinal, o que são métricas de teste de software?
Uma métrica é um indicador de qualidade. Através da sua utilização, questões relacionadas ao software poderão ser respondidas. É uma excelente forma de verificar se os objetivos traçados para o processo de testes estão sendo alcançados, desde os pequenos projetos até mesmo nos casos em que o projeto é extenso e complexo. Através das métricas de teste, é possível traduzir a visão do negócio.

Dica: ao escolher uma métrica, três fatores devem ser priorizados: a simplicidade, a facilidade na coleta e a relevância que terá dentro do seu processo de teste.

Outro ponto importante na utilização de uma métrica é que deve estar claro para a equipe envolvida que as métricas não são uma ameaça. O propósito delas não é necessariamente avaliar cada integrante. Muito pelo contrário, de uma maneira simples, o objetivo de uma métrica de teste é coletar dados para analisar e propor melhorias.

Ao definir uma métrica, esteja certo de que as informações obtidas sejam consistentes, compreensíveis e claras. Não basta utilizá-las, é crucial que a análise das mesmas seja bem realizada. O foco deve se voltar sempre para trazer melhorias no processo, priorizar as ações preventivas, corretivas, e claro, agregar qualidade ao software.

A aplicação de uma métrica é realizada através da análise dos dados coletados, fazendo o levantamento das possíveis recomendações de mudanças para melhoria, comunicando os resultados aos interessados e por fim definindo as ações a serem tomadas.

Alguns exemplos práticos
As métricas utilizadas pela equipe de Teste visam adicionar mais qualidade ao produto final. Afinal, muitos são os relatórios gerados a partir da utilização de uma métrica. Esses dados são importantes para a avaliação da qualidade do software. Através deles é possível analisar a confiabilidade, a estabilidade e o desempenho do software. Algumas métricas podem ser coletadas de forma simples, sem alterar efetivamente o dia a dia de trabalho dos testadores, por exemplo:

– Base histórica: existe um registro histórico contendo informações detalhadas de projetos passados? Através desses dados é possível mensurar, para os próximos projetos a complexidade, a qualidade da especificação de requisitos e a experiência da equipe?- Número de Ocorrências: das issues encontradas quantas são melhoria, quantas são efetivamente um erro e quantas não passam de sugestão?- Gravidade dos Defeitos: qual a importância do bug encontrado? Ou melhor, qual o impacto pode sofrer o negócio em relação ao bug encontrado? É trivial, média ou obstáculo?- Tempo Médio para Encontrar um Defeito: quais foram os esforços necessários para encontrar o bug?- Efetividade de Caso de Teste: os casos de teste estão encontrando defeitos efetivamente?- Número de Casos de Teste: qual a quantidade de casos de teste criados, executados, passaram, falharam e foram bloqueados? Qual o tempo de execução da baseline?

E quais as vantagens?
As vantagens de se utilizar uma métrica, no seu processo de Teste de Software são consideráveis:
– Apoio ao Gerenciamento: possibilita ao gerente visualizar o status atual dos testes e priorizar as atividades, na tentativa de reduzir os riscos e ultrapassar os prazos definidos para os mesmos.- Analisar Defeitos: verificar que tipo de issues estão sendo encontrados nos testes.- Analisar cobertura dos Testes: analisar qual a amplitude dos testes planejados.- Avaliar o andamento dos testes: avaliar quais requisitos já foram testados.- Identificar Riscos: é possível identificar área de risco que necessita de mais testes.- Viabilizar a tomada de decisão: possibilita identificar quais ações devem ser tomadas na fase de teste.- Avaliar produtividade do processo: avaliar se o processo está sendo seguido e se o mesmo está gerando o resultado esperado.- Reduzir frustrações e pressões de cronograma: a medida que os problemas vão sendo identificados e as ações estão sendo tomadas para a solução dos mesmos, as previsões dos prazos de execução das tarefas vão fluindo com pouca ou sem nenhuma interferência. Reduzindo atrasos no cronograma.

E quem utilizará as métricas de teste?
Definir quem fará uso dos dados coletados pelas métricas de teste é tão importante quanto implantá-las. O stakeholder deverá ter em mente exatamente o que busca, para fazer uma leitura correta de tantos dados abstraídos do projeto. É possível buscar questões como:
– Quais os componentes que possuem defeitos que estão bloqueando o andamento dos testes?
– Como estão priorizadas as correções dos defeitos encontrados?
– Onde estão sendo encontrados mais defeitos?
– Qual a cobertura dos testes realizados até agora?

Será que no meu trabalho isso vai funcionar?
Tente visualizar a sua realidade, e analise a viabilidade da implantação de uma métrica.

a) Pense duas vezes antes de tentar implantar uma métrica, se:
– A sua equipe acredita que agilidade é tudo, e descrever mais detalhadamente um bug, por exemplo, vai só demandar mais tempo.
– Para a sua equipe apenas entender o problema de forma objetiva e sem “frescuras”, já é o suficiente.
– Sua equipe, antes mesmo de tentar utilizar uma métrica, se recusa a preencher corretamente os dados necessários para levantamento das métricas, por acreditar que isso apenas torna o trabalho mais burocrático.

b) Por outro lado, por que não funcionaria, caso:
– As informações coletadas realmente serão analisadas, buscando a melhoria do processo.
– A equipe está engajada, e disposta a preencher coerentemente os dados necessários para o levantamento da métrica

Enfim, depois de analisar se vale a pena utilizar, surgiria um novo dilema: Qual métrica utilizar? Existem diversas métricas que podem ser utilizadas, mas na realidade, a escolha dependerá da experiência da equipe envolvida, bem como da necessidade e do tamanho do projeto. Não existe nenhuma restrição quanto à utilização de mais de uma métrica em um mesmo projeto. Às vezes, a junção de algumas delas pode agregar ainda mais qualidade ao produto. Inclusive, é muito interessante que diferentes métricas sejam comparadas visando fornecer um parecer confiável dos testes.
E aí, acha interessante experimentar?

Source: http://asespecialistas.blog.com/2011/08/17/metrics/

Category: Estimativas, Gestão de Defeitos, Métricas, Estimar Testes, Mensurar, Métricas do Teste

Você também pode querer ler

Comments are off for this post.