Qualidade de software na SMAR APD

Qualidade de software na SMAR APD - Por Olivia Dalchiavon

Neste artigo abordaremos um pouco sobre o trabalho desempenhado pelo Time da Qualidade de software na SMAR APD mas, antes de começar, é importante explicarmos de maneira sucinta o que é qualidade.

A qualidade é, segundo dicionário Online (Dicio) uma “Característica particular de um objeto ou de um indivíduo (bom ou mau)”.

Uma frase pequena para uma palavra de sentido tão amplo, isso porque, qualidade está ligada a cada situação, jeito ou ação, depende de ponto de vista, regra ou cultura.

Cada vez mais as pessoas procuram por qualidade, como por exemplo, qualidade de vida, de roupas, equipamentos, alimentação, ambientes, segurança, entre outros, como Qualidade de software: um destaque para esse outro termo de ampla explanação, pois existe todo um processo para que essa qualidade esteja garantida.

E não se trata de luxo: a importância é tanta e tão complexa, que se fez necessário criar padrões e normas para garantir a qualidade, nascendo assim uma ‘Organização Internacional para padronização (ISO)’, assunto no qual não entraremos, pois não é o foco deste artigo.

Agora que falamos um pouco sobre o que é qualidade, falaremos sobre o que nós, do time de qualidade de software da SMAR fazemos. Hoje contamos com um time de oito colaboradores e atuamos no setor de P&D, que utiliza a metodologia SCRUM para gerar entregáveis. De acordo com a Scrum.org a definição desta metodologia é “Scrum é uma estrutura dentro da qual as pessoas podem abordar problemas adaptativos complexos, enquanto entregam de forma produtiva e criativa produtos do mais alto valor possível.”

Por se tratar de uma metodologia ágil, o papel do analista de tester é de coparticipação; cada tester integra uma equipe e utilizamos uma abordagem originada do Manifesto Ágil, chamada Manisfeto do Teste.

Nossa participação ocorre desde o primeiro momento, buscando analisar os requisitos descritos pelos gestores de negócio ou Product Owner (PO), com o objetivo de prever possíveis problemas. Por exemplo, um documento bem escrito facilita o entendimento do desenvolvedor, o que por sua vez minimiza possibilidade de erros. Também é possível, ‘prever alguns erros’, já que muitas vezes nesses requisitos existe um protótipo dando uma visibilidade melhor do que será desenvolvido.

Após os requisitos, participamos ativamente de cada ritual scrum, analisando e opinando sobre determinada funcionalidade, e só então seguimos aos testes, nos quais buscamos estar mais próximos da visão do usuário, de acordo com a perspectiva passada pelo gestor de negócio ou PO.

Essa é uma visão resumida; dentre estes processos é possível utilizar técnicas variadas, que chamamos de tipos de testeonde são utilizadas algumas ferramentas.

Atualmente utilizamos as seguintes na SMAR APD:

Testes manuais e exploratórios

Teste de API

Teste de acessibilidade

Teste de Carga

Teste de performance

Além das ferramentas de testes, temos outros processos do dia-a-dia, como o devbox, e para validar a fazer manutenção, do Cheklist.

Costumamos dizer que um Analista de teste, nesse contexto SCRUM e QA agile, atua como termômetro, ou seja, estamos sempre entre o PO/ScrumMaster e os Desenvolvedores.

Desta forma, conseguimos perceber quando aquilo que foi planejado não sairá exatamente como o planejado, buscamos e conseguimos identificar o porquê, como uma questão no critério de aceite ou uma falta de entendimento do desenvolvedor, por exemplo.

Outro ponto extremamente importante é sempre manter a chama da cultura da qualidade, criando e mantendo padrões de documentação, tanto nosso quanto do desenvolvedor.