Quality Assurance – conceitos básicos, na voz do especialista.

Quality Assurance – conceitos básicos, na voz do especialista.

Confira a entrevista com o especialista Rafael Krug, executivo fundador e CEO da empresa Tech Seller Zero Defect, que atua com testes de garantia da qualidade de sistemas de TI, realizando diversos testes de softwares há mais de 18 anos, com formação na PUC-RS e MBA pela ESPM.

O que considerar na hora de escolher um serviço de testes de softwares

Uma área de testes pode ser considerada como o “goleiro” de um projeto. É a barreira que não deixa passar uma “bola errada” no jogo, defendendo o time de erros para ganhar a partida. As equipes de testes são responsáveis pela validação de todos os requisitos dos sistemas, em linha com o planejado pelo gerente de produto e equipe do projeto. 

Os testes são avaliações preventivas de problemas que permitem corrigir potenciais falhas dos sistemas no futuro. Eles podem ser realizados por equipes treinadas e também de forma automatizada, e podem ser classificados em perfis diferentes:

  1. Testes funcionais: para a realização desse tipo de testes, é essencial que a equipe tenha entendimento dos impactos do produto digital para o negócio. Requer um olhar que vai além dos testes técnicos, agregando a visão da experiência do usuário e dos resultados para a empresa. Nesse tipo de teste, busca-se avaliar o cumprimento da solução às regras de negócios, a adequação do sistema à boa experiência do usuário e a validação dos campos de uso.
  2. Testes não funcionais: avalia-se a performance do sistema, inclusive sua capacidade em situações de estresse e alto volume de acessos.
  3. Testes de segurança: testam-se requisitos de segurança dos sistemas, avaliando a susceptibilidade do software a ataques mal-intencionados (simulando a ação de hackers) que buscam vazamento de dados. Acontece sob demanda, não necessariamente relacionado a um lançamento de funcionalidade.
  4. Testes regressivos: à medida que se evolui um software, agregando novas funcionalidades, é comum que um novo desenvolvimento afete uma parte do sistema que antes já estava validada. No teste regressivo faz-se uma testagem completa, de ponta a ponta, passando por todas as funcionalidades a cada lançamento de uma evolução do software, garantindo que a qualidade não se perdeu em uma nova release.

Os testes em geral são realizados em ambiente de desenvolvimento ou homologação, porém alguns testes como os de performance e o de segurança devem ser realizados no ambiente de produção.

Rafael Krug, formado pela PUC-RS com MBA pela ESPM, é empresário na área de testes de softwares há mais de 18 anos. Sua empresa, a Zero-Defect, tem origem na HP. 

Seu DNA vem da prática de testes para softwares da HP, atuando na avaliação de sistemas que acompanhavam suas impressoras, por exemplo. A empresa nasceu de um processo de incubação e até hoje, com mindset de startup e inovação, sempre busca aliar novas tecnologias à experiência do time para agregar mais valor aos clientes. A proposta da Zero-Defect é atuar como a área de qualidade terceirizada de uma empresa cliente, agindo de forma isenta na validação da qualidade dos sistemas.

Um time interno x externo à equipe

Hoje é comum se trabalhar em squads, e a Zero Defect atua estruturando squads de testes e também alocando profissionais de testes em squads de seus clientes. Tem também um modelo chamado “aceleração de squads” pelo qual aporta automatização de testes para seus clientes ganhando bastante em escala e acurácia das avaliações, apoiando o testador que está alocado nas squads.

O objetivo dos profissionais terceirizados é sempre identificar gaps e ajudar a priorizar a solução dos problemas. Também podem ser alocados para predizer a taxa de entrega de um projeto em relação ao atendimento dos prazos previstos, empregando para isso análises de taxas de reaberturas de incidentes preventivos identificados pelo time de quality assurance.

Rafael comenta que, ao trabalhar com empresas grandes, usualmente é chamado para atuar como uma empresa de validação independente. 

Grandes Buyers contratam equipes externas de desenvolvimento e a equipe de quality assurance faz a validação das entregas dessa terceira empresa, evitando que numa situação de disputa fiquem a empresa Buyer com a Seller de desenvolvimento se questionando mutuamente, podendo ambas as empresas contar com um parceiro neutro, um validador independente, para a avaliação da qualidade das entregas em relação ao que foi contratado. 

Com isso, evita-se atritos entre as empresas envolvidas, sem ruídos na relação entre Buyers e Sellers.

 

Indicadores de qualidade em contratos de desenvolvimento

Os indicadores de qualidade podem ser avaliados por uma empresa de testes comparando o que foi acordado em contrato com o que está sendo entregue. Isso evita disputas nas etapas de entrega final de um projeto, pois pode-se controlar a qualidade ao longo de todo o desenvolvimento, gerando mais valor para todos os envolvidos.

Esse monitoramento e validação contínuos permitem que se possam corrigir as rotas em tempo hábil quando surgem situações de descumprimento dos acordos ao longo do projeto.

 

O produto das avaliações

As entregas dos testes de qualidade não são apenas listas de bugs. O objetivo é entregar a qualidade do software em si em relação à usabilidade, experiência do usuário, integração entre sistemas e performance.

Para isso, os times de testes precisam entender e defender os projetos como um todo sob a ótica do usuário final, com bastante criticidade e rigor.

 

Como contratar e precificar serviços de testes

Em geral trabalha-se por escopo fechado, para pente-fino pontual, ou como fábricas de testes, por pools de horas. Quem contrata são empresas grandes e também startups quando vão lançar aplicativos e precisam avaliar seu produto em diversos dispositivos móveis, por exemplo.

Há bastante flexibilidade na forma de contratar, sendo possível encaixar os serviços de asseguramento da qualidade em diferentes perfis de orçamento.

Uma empresa especializada nessas atividades tem knowhow para mapear os principais fluxos a serem testados para poder garantir uma qualidade satisfatória em diferentes budgets.

 

Garantias em serviços de testes

Rafael comenta que geralmente oferecem 3 meses de garantia daquilo que foi testado, para aquela versão, a seus clientes. Caso haja algum problema em ter deixado passar algum erro naquela versão há SLAs que inclusive podem gerar multas à empresa de testes por aquilo que deixou de sinalizar. 

As multas em geral são estabelecidas pelo custo que o erro gerou ao cliente final. Deixar passar um erro que inviabilize a venda de um grande varejista em épocas de Black Friday por exemplo pode significar multas milionárias. Assim, o grande objetivo da empresa de testes é realmente não deixar que isso aconteça.

 

Serviços de Quality Assurance em Preparação à Black Friday

Rafael comenta ver no mercado muitos clientes que se acham preparados para ciclos de Black Friday mas que na verdade não estão. Com isso, podem perder vantagem competitiva em datas de grande tráfego online como essas, por não se diferenciarem da concorrência. 

São investidos milhares de reais em marketing para atrair consumidores às suas lojas online, porém quando os clientes chegam se deparam com falhas que atrasam seus processos de compra ou até inviabilizam a conclusão de seus fluxos de aquisição, levando a perdas financeiras muito grandes às empresas.

Contudo, para evitar que isso aconteça é essencial conhecer o modelo de previsão de demanda, antevendo a existência de grandes picos de acesso em intervalos de horários curtos, por exemplo. As capacidades do sistema e dos servidores envolvidos devem estar dimensionadas para isso.

Outro modelo de comportamento de demanda ocorre quando em vez de uma oferta por tempo muito curto espera-se um comportamento de rampa de acessos ao longo de um intervalo maior de duração de uma oferta. 

Além disso, é importante conhecer o comportamento dos clientes em relação à navegação e tempo para decisão enquanto olham as vitrines online, características que variam bastante dependendo do perfil dos negócios, sendo essencial analisar os analytics de cada empresa com consistência.

Para finalizar, uma boa experiência do cliente em situações como essas é necessário que as empresas considerem a interação de todos os sistemas envolvidos nessa jornada, de servidores a backend, integrações com programas de meios de pagamento, velocidade de carregamento do front-end, etc. 

Afinal, são diversos elementos a serem estudados e testados para prevenir ruídos em épocas tão relevantes ao varejo como a Black Friday.

 

Os profissionais de testes de softwares

Os profissionais que buscam se preparar para uma carreira na área de testes e qualidade de sistemas devem prezar pela excelência técnica, conhecendo de práticas de automação a integração contínua com a equipe de desenvolvimento.

Todavia os testadores hoje não podem apenas se ater às características técnicas dos scripts mas devem ter visão sistêmica e entender de forma mais ampla de negócios, saber por que utilizar um ou outro script e quais os fluxos sendo testados pelas práticas automatizadas.

É importante ter criatividade e imaginar situações que ninguém pensou antes para poder realizar testes eficazes e buscar eficiência em suas práticas, evitando que erros aconteçam.

Há diversos cursos online para os mais diversos tipos de tecnologia, com caminhos bastante amplos para os profissionais que buscam se especializar nessa carreira, com vontade de atuar na área de testes. 

 

Como se preparar para contratar o serviço?

Clientes grandes, ao terceirizar serviços de desenvolvimento de software devem incluir regras claras de SLA e multas de qualidade às empresas desenvolvedoras. 

Com isso, caso vivenciam a não entrega de qualidade por parte desses parceiros, poderão contar com os próprios valores das multas para ajudar a pagar pelos serviços de um parceiro de testes. 

A empresa de testes funciona como uma área independente do cliente que busca garantir a qualidade. 

O foco está em haver uma boa gestão orçamentária, com uma boa relação entre empresa contratante e empresa desenvolvedora, demonstrando tendências nos níveis de entrega ao longo do projeto com tempo de reação apropriado dentro dos projetos.

 Se todos buscarem o sucesso do projeto e agirem com foco no cliente, o sucesso é garantido. Além disso, as empresas desenvolvedoras acabam também aprendendo no processo a terem mais foco em qualidade.

Já para empresas pequenas, conta-se com a experiência de mais de 18 anos da Zero-Defect para priorizar os testes ideais para cada perfil de demanda. Com orçamentos menores é possível priorizar os testes corretos e buscar níveis de qualidade satisfatórios.

 

Diferenciais da Zero-Defect como Tech Seller de Testes e Quality Assurance de Softwares

Dentro da Zero-Defect há times técnicos e times de negócio, com histórico de atuação em diversos segmentos de indústrias. Há knowhow em diferentes tipos de software e de empresas, com capacidade de argumentação multi-stakeholders e conhecimento em como priorizar os problemas de qualidade identificados de modo a corrigir primeiro o que gera maior impacto aos clientes.

A empresa agrega inteligência à análise de resultados ajudando seus Tech Buyers não só a identificar os bugs mas a corrigi-los adequadamente.

O match ideal para a empresa é aquele Tech Buyer que vai lançar um projeto e tem preocupação em lançá-lo com qualidade. É aquele que quer contar com um parceiro de confiança para poder contar que seu projeto será entregue com qualidade.