Aguarde...

25 de dezembro de 2022

Teste de conformidade — ou de qualidade?

Teste de conformidade — ou de qualidade?

O mundo está cheio de softwares que atendem perfeitamente a todos os seus requisitos documentados, mas ainda falham em criar valor para seus usuários.

Quando estudei engenharia de software – tempos atrás – qualidade significava conformidade, ou seja, conformidade com os requisitos. Também aprendi que garantia de qualidade significa todas as medidas tomadas para habilitar, criar e verificar a qualidade, e que o teste é um método fundamental de garantia de qualidade.

Hoje, a Wikipedia define o teste como o ato de examinar os artefatos e o comportamento do software em teste por validação e verificação. O teste é definido como uma atividade, deixando seu propósito em aberto. As definições que aprendi na escola de engenharia são muito compatíveis com a definição da Wikipedia de teste de conformidade : teste que determina se um processo, produto ou serviço está em conformidade com os requisitos de uma especificação, padrão técnico, contrato ou regulamento . Curiosamente, nenhuma dessas definições usa a palavra qualidade . 

O Que É Qualidade?

Hoje, evito a tentação de definir qualidade, exceto indiretamente por meio de quatro dimensões: benefícios, funções, processo e experiência. Vamos pensar em algo que todo mundo conhece, digamos Paypal. As pessoas o usam para transferir dinheiro online; esta é a sua função . Os benefícios que buscam são facilidade, segurança e baixo custo. O uso do PayPal envolve vários processos do usuário e o software orienta o usuário através deles. Os sentimentos, como felicidade, frustração ou realização, que o usuário sente ao usar o Paypal compõem a experiência . Seja qual for a qualidade, dificilmente pode existir sem todas essas quatro dimensões.

O teste geralmente se concentra na conformidade funcional, ou seja, verificar se o software faz o que seus requisitos determinam e não faz mais nada. Também pode haver requisitos não funcionais, como tempos de resposta, o número de transações paralelas tratadas e a segurança dos dados do usuário. Normas e regulamentos, como SOC2 ou GDPR, trazem requisitos adicionais, assim como os acordos do Paypal com empresas de cartão de crédito. Isso pode ter pouco a ver com as funções reais e o valor do software, mas cumpri-los é um pré-requisito para ingressar no negócio.

O Mundo Ideal

Os grandes testadores aplicam uma visão baseada em conformidade que se concentra em satisfazer os requisitos e uma visão baseada em resultados que se concentra na realização dos benefícios. Em um mundo ideal, satisfazer os requisitos documentados implicaria na realização dos benefícios do usuário, mas o mundo raramente é ideal. Mesmo que o software fosse perfeito, os usuários não o são. A realização dos benefícios depende muito das ações do usuário, e as ações do usuário dependem de como o software interage com o usuário e o orienta. Estes, por sua vez, afetam a qualidade de toda a experiência. Essas características do software dificilmente podem ser capturadas em requisitos de conformidade ou casos de teste formais. Novamente, em um mundo ideal, todos esses desafios são resolvidos com antecedência por meio do design centrado no usuário – mas o mundo está longe de ser ideal,

Teste De Conformidade Vs. Teste De Resultado

Os testes de conformidade e os testes de resultados exigem mentalidades diferentes. O teste de conformidade é como preparar armadilhas: ler os requisitos, imaginar o que pode dar errado e projetar condições de teste sob as quais o software provavelmente falhará. O teste baseado em resultados é mais como um ato de curiosidade: entender o que o usuário precisa realizar, imaginar todas as coisas que ele pode fazer, descobrir como o software deve reagir e depois experimentá-lo.

A conformidade é um pré-requisito de qualidade. Em muitos setores, atender aos requisitos formais de conformidade é até mesmo um pré-requisito para participar do negócio. Pode-se também mitigar os riscos de responsabilidade produzindo uma prova documentada de que a conformidade foi devidamente testada. Costumo pensar que o teste de conformidade ajuda a reduzir o risco de falha e o teste baseado em resultados ajuda a melhorar a probabilidade de sucesso.

Postado em Blog
Escreva um comentário