Como tornar o progresso dos testes visível

Os esforços de teste podem passar despercebidos ou ser difíceis de entender. É importante lembrar que o teste de software não é só executar testes: envolve várias facetas cruciais que contribuem para criar software cada vez melhor. Neste artigo, compartilhamos tudo o que fazemos para ajudar a equipe e os diferentes stakeholders a ficarem informados sobre o progresso dos testes.

O teste busca fornecer informação sobre a qualidade do nosso sistema e os riscos que podem afetar a experiência do usuário e o nosso negócio, para que decisões melhores possam ser tomadas. Tudo isso para mitigar esses riscos e melhorar a qualidade e a experiência dos nossos usuários.

Somos um parceiro de qualidade. Sabemos que a comunicação eficaz é essencial para otimizar o trabalho e alcançar os objetivos. Por isso, focamos em construir relações com os nossos clientes, por meio de processos transparentes que tornam o progresso dos testes visível no dia a dia. Descubra como fazemos isso neste artigo!

Definir metas e alinhar expectativas

O teste deve estar alinhado aos objetivos de negócio. Este é um erro comum de muitos testadores e provedores de teste. O desafio do teste não é só como testar, como desenhar casos de teste ou como testar uma funcionalidade específica. Uma das coisas mais desafiadoras no teste de software é decidir o que não testar. Precisamos entender os objetivos e os riscos de negócio para priorizar com critério. Com esse contexto, desenhamos a melhor estratégia de testes alinhada às necessidades do negócio, e isso define a expectativa da equipe sobre o progresso que ela vai querer ver.

A criação de software de qualidade é crucial para o desenvolvimento da sociedade e para a melhoria da qualidade de vida. Vivemos num mundo globalizado e quase totalmente interconectado, em que a transformação digital permanente é um fato e a tecnologia de boa qualidade faz diferença real no dia a dia das pessoas.

O nosso maior impacto está no que a tecnologia que criamos possibilita, e em que essa tecnologia seja de boa qualidade”, disse recentemente o meu amigo e CEO da Abstracta, Matias Reina.

“Potencializamos tecnologias que permitem fazer software mais rápido e com qualidade, ajudamos a criar tecnologia mais acessível, e mais pessoas têm acesso a infraestruturas de comunicação. Quando analisamos o que fazemos em cada projeto e com cada cliente, não pensamos só nos produtos em si, mas no que eles tornam possível, em como a tecnologia deles amplia e melhora a qualidade de vida de muitas pessoas”, continuou ele.

No fim, como testadores, o primeiro passo para dar visibilidade ao nosso trabalho e ao progresso é entender e alinhar a nossa estratégia de testes à do negócio.

Estratégia de comunicação

Quando os objetivos estão claros, começamos as atividades de teste. Como o restante dos membros da equipe costuma estar ocupado com as próprias responsabilidades, o desafio do dia a dia é manter todo mundo informado. Isso não significa contar a todos cada pequeno detalhe, cada teste ou cada resultado depois de cada teste. Pessoas diferentes têm necessidades diferentes de nível de detalhe, e isso é crucial para uma estratégia de comunicação eficaz.

Estamos convencidos de que a comunicação é essencial para um fluxo de trabalho fluido e eficaz. Por isso, prestamos muita atenção à comunicação com os nossos clientes e buscamos entender a fundo as necessidades deles.

A nossa experiência de quase 20 anos em testes reconfirma todos os dias que testar não é só desenhar testes! É dar o nosso melhor para melhorar a experiência de quem usa. E, claro, também é aproveitar o caminho colaborando com o restante da equipe.

Temos diferentes níveis de comunicação predefinidos para manter os stakeholders na mesma página. Vamos ver alguns deles.

Comunicação do dia a dia

Os testadores ficam inseridos tanto quanto os nossos clientes nos permitem. O cenário mais comum é que os testadores passem a fazer parte da equipe de desenvolvimento, então participam de todas as cerimônias, reuniões, canais de Slack etc. Desse modo, quase não há diferença entre a comunicação com os testadores (neste caso, membros da equipe da Abstracta) e os outros membros da equipe, sejam da equipe do cliente, de outros provedores etc.

Para tornar a comunicação mais eficaz e reduzir a chance de pontos cegos, todos os nossos testadores são orientados e mentorados por especialistas técnicos que os apoiam, de modo que sempre há alguém com mais experiência revisando o trabalho, ajudando a pensar ideias, desenhar testes, planejar, comunicar resultados etc.

Há uma camada extra de comunicação, que é a equipe de sucesso do cliente, que ajuda com a perspectiva de negócio e é um bom ponto de escalada se algo precisa ser ajustado, para ampliar a equipe etc. Nesse nível de comunicação, tentamos reunir a informação que pode impactar a nossa estratégia de testes, como decisões de negócio, mudanças na estratégia global etc. Assim, podemos alinhar e planejar com a equipe técnica, fazer os ajustes necessários e garantir que o nosso progresso esteja na direção certa.

Há coisas diferentes para compartilhar em cada nível, com frequências diferentes e com pessoas diferentes. Só para dar algumas ideias:

  • No dia a dia, você pode discutir as metas da semana ou as metas do sprint, e como está focando, priorizando e avançando, para que você e a equipe possam repriorizar se for preciso.
  • Todo mês, você pode discutir a estratégia de testes, como os diferentes riscos estão cobertos com a estratégia de testes atual, ou como os diferentes fatores de qualidade estão sendo priorizados (você pode adiar os testes de desempenho para enfrentá-los depois de resolver as questões de segurança).
  • A cada trimestre, você pode fazer um balanço do que vem fazendo e analisar se o trabalho está alinhado à estratégia de negócio, se a equipe está melhorando ou como você vai elevar o nível.

Claro, a frequência e o conteúdo vão ser diferentes para cada equipe, de acordo com o contexto. É importante destacar que estes são só exemplos. Não existe uma medida única. Tornamos tudo muito específico ao que é mais útil para cada cliente.

E as métricas?

Uma boa forma de dar visibilidade ao nosso teste é gerenciar e compartilhar métricas-chave, escolhidas com inteligência para serem úteis no objetivo de alinhar a equipe. O teste sempre busca fornecer mais informação para ter menos incerteza e mais controle sobre o risco, mas essa informação precisa ser analisada com cuidado.

Costumamos insistir nesta última ideia porque as métricas podem promover comportamentos indesejados, então temos que ter muito cuidado ao escolhê-las. Por exemplo, se medimos só o número de bugs, podemos estar motivando a equipe a focar nas áreas em que é fácil achar mais bugs, em vez das partes mais importantes do sistema. Também não queremos focar no número de casos de teste, porque isso não diz nada sobre a eficácia do teste.

O nosso foco está sempre nas métricas que importam para o negócio, algo que, se melhorar, levaria a uma melhoria real para o negócio. Também é importante notar que uma métrica só conta parte da história e o que é fundamentalmente importante é o compromisso da equipe com a qualidade, e não só as métricas.

Em geral, somos nós que insistimos em fornecer métricas. Para nós, é muito importante que todo mundo entenda o impacto da atividade de teste. Desse modo, podemos ajudar a melhorar a qualidade, a velocidade, a agilidade, o desempenho ou qualquer motivo que os levou a nos contratar.

Para ter métricas úteis, é importante ter clareza sobre os objetivos que buscamos e, então, selecionar as métricas que vão nos ajudar a ver se estamos chegando mais perto do sucesso ou não.

Vamos ver alguns exemplos:

– Se queremos melhorar a qualidade do nosso produto, vamos focar nos bugs que encontramos e resolvemos antes de lançar o software, não só no número puro (para evitar o mau comportamento que mencionamos), mas junto com a gravidade. Também devemos medir os bugs ou as reclamações reportados pelos usuários e medir a satisfação do usuário com os nossos produtos.

– Se estamos automatizando casos de teste, para ter um jeito eficiente de apoiar os esforços de teste de regressão, faz sentido medir o progresso pelo número de casos de teste. Temos a meta de automatizar todos os testes de fumaça, ou todas as suítes de regressão, e esse número vai nos ajudar a medir o progresso ao longo do tempo, se estamos entregando de acordo com o plano ou não.

– Se falamos de outros fatores de qualidade, como desempenho, é muito importante ficar de olho nos tempos de resposta das funcionalidades mais importantes, e também nos recursos necessários para responder à carga atual num tempo adequado. Assim, vamos garantir qualidade e controlar custos.

Em resumo, o teste sempre busca fornecer mais informação para ter menos incerteza e mais controle sobre o risco. É importante escolher métricas alinhadas aos objetivos de negócio e não depender só de métricas, já que o compromisso da equipe com a qualidade é crucial. Além disso, na Abstracta gostamos de falar de métricas, mas também de marcos que a equipe alcançou junta.

Saiba mais sobre este tema neste artigo.

Relatórios

Testamos software para reunir informação sobre a qualidade e os riscos, o produto, os usuários e as condições de uso. Essa informação ajuda os nossos clientes a tomar decisões informadas de forma empírica sobre o produto, o projeto ou o negócio. Uma forma de dar visibilidade aos resultados dos testes é compartilhá-los em relatórios de teste.

Claro, o propósito do nosso trabalho não é documentar, mas entregar software funcionando, como diz o Manifesto Ágil. Queremos aproveitar ao máximo o tempo gasto em relatórios.

Sabemos que não basta planejar uma estratégia de testes e executar com cuidado testes de desempenho, exploratórios, manuais ou automatizados. Compartilhar tudo isso com os nossos clientes é obrigatório para a nossa equipe. Assim, nós (a Abstracta e o cliente, como equipe, como colaboração entre parceiros) podemos estar informados e agir de acordo.

Nesse caminho, em geral combinamos diferentes tipos de relatórios de acordo com o que é melhor para a colaboração entre as partes envolvidas, que podem ser semanais, trimestrais ou com frequências e níveis de detalhe diferentes.

Vemos um relatório de teste como uma oportunidade de parar para refletir, retomar as conquistas, celebrá-las e também aprender sobre o processo e as dificuldades que tivemos que superar, para continuar melhorando dia após dia.

Ao preparar um relatório, você reúne mais informação, de outra perspectiva, fazendo uma análise retrospectiva. Isso pode levar a encontrar diferentes oportunidades de melhoria e discuti-las com a equipe. É outra oportunidade de aprender e compartilhar esses aprendizados com o restante. Quer saber como criamos relatórios de teste eficazes? Saiba mais sobre este tema neste artigo.

Na Abstracta, oferecemos soluções de teste holísticas e de primeira classe para entregar software de qualidade de forma contínua. Acima de tudo, sabemos que um software extraordinário melhora o desempenho, simplifica vidas e transforma comunidades. Entendemos a importância de tornar o progresso dos testes visível para construir confiança e relações de longo prazo com os nossos clientes e, assim, cocriar software cada vez melhor a cada dia.

Quais são as responsabilidades de um testador de software? Descubra neste artigo.

Dê uma olhada no nosso blog para ver mais conteúdo!

Fique conectado

com a Abstracta

Notícias, artigos e recursos para construir software melhor.

Este site é protegido por reCAPTCHA e se aplicam a Política de Privacidade e os Termos de Serviço do Google.

Leia sobre nossa política de privacidade.

Ilustração de duas pessoas conectadas por uma ponte, uma com um notebook e outra com um tablet, representando colaboração e comunicação. Fim do artigo sobre progresso dos testes.