Falando em qualidade

Contextualização

Este artigo foi elaborado a partir de um estudo empírico, baseado na troca de experiências dos autores, e de pessoas de diferentes empresas que atuam com QA. Nosso objetivo foi entender a visão do mercado em relação a área de qualidade de software, e quais conceitos estão sendo aplicados no dia-a-dia.

O que é qualidade?

Vale dizer que:

  • Coluna de testing no board não garante qualidade;
  • O máximo de cobertura de testes de UI (automatizado ou manual), por si só também não — assim como apenas testes unitários;
  • Ter um QA no time, por melhor que execute seu trabalho, ainda não garante qualidade.

Qualidade é um conjunto de ações e pensamentos, uma cultura, e entendendo isto, a mesma deve ser absorvida por todos, de maneira cíclica e contínua, sendo importante que os valores e objetivos da organização fortaleçam a construção desta cultura, ou seja, deve ser um direcionamento top-down.

Qual o papel do quality assurance?

O papel do QA vai além de executar testes, escrever cenários ou automatizar, ele é responsável por encontrar mecanismos que viabilizem a estabilização da qualidade como cultura, e promover a melhoria contínua dos processos utilizados ao longo do ciclo de desenvolvimento, ou seja, o QA pode ser considerado um agente, mas não é ele o único responsável por garantir a qualidade do produto.

Quais as atribuições do QA em cada etapa?

Concepção — na etapa de descoberta e idealização de um produto o QA é o cara que poderá:

  • Auxiliar o PO e o UX com a visão macro do negócio;
  • Validar artefatos (requisitos funcionais e não funcionais, layout, teste de usabilidade, entre outros);
  • Identificar cenários não cobertos pelos critérios de aceite;
  • Auxiliar o PO a categorizar cenários para automação.

- Como assim o QA auxilia o PO a categorizar cenários para automação?

- Estranho não é? Mas calma, a gente explica.

Sendo o PO o principal representante do negócio e de seus stakeholders, faz sentido que ele identifique os maiores riscos do seu produto, apontando os cenários que não podem falhar de jeito nenhum, desta forma o QA poderá concentrar mais atenção a estes pontos.

Desenvolvimento — vale lembrar que o QA não está aqui para apontar erro de ninguém, mas sim:

  • Auxiliar o time a criar e executar testes unitários, integrados e de UI;
  • Estabelecer quality gates das pipelines de CI;
  • Validar as entregas junto a área de negócios;
  • Agendar testes de regressão no CI.

- O QA não vai testar, ele não automatiza, ele não faz NADA?

- Calma, vamos explicar isso também!

Todos somos responsáveis pela qualidade, logo, o desenvolvedor deve escrever testes de unidade, de componente e até de interface, afim de garantir a qualidade da sua entrega, e o QA é responsável por gerenciar tudo isso, estando sempre alinhado com as perspectivas do time e da empresa.

Produção — aqui vale uma máxima:

Aquilo que não se pode medir, não se pode melhorar — (William Thomson).

Cabe ao QA junto ao time, analisar as métricas geradas em produção, e criar um plano de melhoria no processo para garantir que dado um incidente, o mesmo seja detectado antes de realizar o deploy.

Todo bug pode ser considerado uma lição aprendida, ou seja, o time pode analisar e identificar a causa raiz com a finalidade de prevenir incidentes semelhantes, e é papel do QA fazer estas provocações.

Quais os principais testes devo aplicar para melhorar a qualidade do meu produto?

Cremos que a pirâmide de automação não seja uma grande novidade, de qualquer forma, se podemos dar alguma sugestão, usem-na como inspiração.

Tipologia sugerida:

Image for post
Image for post

E como posso acompanhar a saúde das minhas entregas?

Tente avaliar a qualidade dos componentes sistêmicos de acordo com os testes que serão aplicados. Para tal, é possível criar uma régua de avaliação de acordo com a realidade de cada empresa.

Observação: É importante lembrar que sendo qualidade uma cultura, nada deve ser imposto, mas sim, apresentado como objetivos a serem atingidos.

Exemplificando a régua:

A régua nada mais é que os tipos de testes a serem aplicados, onde os níveis são dados pela cobertura que cada teste tem no CI. Os valores apresentados são meramente ilustrativos, não temos um estudo que comprove a efetividade destes valores.

Aplicando:

Image for post
Image for post

A aplicação da régua consiste em levantar a cobertura de testes aplicados a cada componente sistêmico que compõe o produto.

Nota por componente: soma dos níveis atingidos (de acordo com a régua) em cada tipo de teste dividida pela quantidade de testes aplicados.

SNA/ STA = NC

Onde:

SNA = somatória dos níveis atingidos

STA = somatória dos testes aplicado

NC = Nota do componente.

Nota da aplicação: soma das notas de cada componente dividida pela quantidade de componentes da aplicação.

SNC/ SC = NA

Onde:

SNC = somatória das notas dos componentes

SC = somatória de todos os componentes do sistema

NA = Nota da aplicação.

Senhoras e senhores, é importante reforçar que este método não tem como objetivo cobrar ou expor as áreas, mas sim identificar oportunidades para aumentar a cobertura de testes de um produto.

Ressaltamos ainda que testar, manualmente ou de forma automática, é uma atividade que auxilia na garantia da qualidade, trazendo mais segurança ao time e ao produto em si, mas não é o único meio e tão pouco será tão efetivo se antes de qualquer coisa, não houver uma mudança de mindset, onde qualidade seja uma questão de cultura presente em todas as etapas de desenvolvimento e absorvida por todos os envolvidos.

Comunidades recomendadas:

Você pode obter ajuda no nosso site ‘Falando em testes’ ou no nosso grupo do WhatsApp: https://chat.whatsapp.com/Bt0B7trqGvi8TESb89su1E

Sudeste:

Sul:

Conhece outros grupos ou comunidades?

Compartilhe com a gente!

Conheça os autores:

Eleandra Bruna S. Monqueiro

Há 8 anos atuo como agente da qualidade, com expertise em análise, qualificação, desenvolvimento e implantação de processos, além de desempenhar papéis de execução, planejamento e liderança times de qualidade de software.

https://www.linkedin.com/in/eleandra-monq/

Matheus Fernandes Dias

Certificado CTFL e CTFL-AT que aprecia muito mais o conhecimento adquirido com o estudo do que os certificados por si só. Formado em Gestão de Tecnologia da Informação, defensor da qualidade como cultura e pesquisador das diversas formas que ela junto com um kit adequado de ferramentas podem impactar na melhoria contínua de processos e produtos de tecnologia.

https://www.linkedin.com/in/matheus-fernandes-dias-ctfl-ctfl-at-b3a717100/

Thiago Lucena

Graduado em Analise de Sistemas — Unicastelo, há 13 anos atuando como agente da qualidade, desempenhando papéis de execução, planejamento e liderança em times de qualidade de software para dispositivos móveis (Mobile e Web). Apaixonado pela metodologia ágil, atuando como Scrum Master/Agilista nas horas vagas.

https://www.linkedin.com/in/thiago-lucena-9234ba6a/

Originally published at http://ftstblog.wordpress.com on August 2, 2019.

Falando em testes…

Falando em testes…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store