Blog de Marketing Digital

RECEBA NOSSOS CONTEÚDOS POR E-EMAIL

Teste de software – Conheça a técnica do Pairwise (matrizes ortogonais)

Você já ouviu falar sobre técnica do Pairwise para teste de softwares? Sabe o que são ou como são executados? No artigo de hoje tentarei esclarecer todas as suas dúvidas!

O que consiste a Técnica de Pairwise (matrizes ortogonais)?

 
Supondo que um defeito de determinado software dependa de uma quantidade significativa de variáveis de sistema e seus diferentes estados, como seria possível encontrar uma solução de teste que fosse capaz de encontrar defeitos, com maior rapidez e menos esforço? Este dilema é uma contante nas equipes de teste de diferentes sistemas e regiões do planeta e a técnica de Pairwise é uma boa alternativa de teste eficaz.
 
Mesmo em sistemas pequenos, onde existem uma pequena quantidade de estados por variáveis, a quantidade total de possibilidades a serem abrangidas em casos de testes é muito grande. A origem técnica de Pairwise advém da alocação de propriedades matemáticas no universo de testes de software. Imagine um universo simplificado de sistemas de TV por assinatura, onde você deva considerar apenas as seguintes variáveis:
 

  • Três planos de cobertura de canais (Plano A, B ou C)
  • Dois tipos de sinal (sinal digital ou analógico)
  • Dois modelos de pagamento (mensalidade ou pay per view)

 
 
Mesmo em um universo simplificado tal como o descrito acima, a quantidade de casos de teste a ser desenvolvida e executada pode ser considerada elevada, dada as proporções do sistema apresentado (3 x 2 x 2 = 12 casos de teste). Agora imagine reproduzir o exemplo em um sistema real, onde as variáveis e condicionais existentes extrapolam os limites das centenas de milhares do possibilidades. Como alcançar o nível de cobertura e efetividade esperados sem o emprego de uma técnica que otimize o trabalho da equipes de teste?
 
A técnica de Pairwise consiste em testar um software sem ter que utilizar 100% das possibilidades de variações existentes, o que em determinados casos pode gerar anos de execução de casos de teste. A metodologia leva em consideração que determinados casos de teste são mais representativos ao sistema, em detrimento a outros que raramente serão colocados em tempo de execução. Para determinar quais combinações de dados de entrada utilizar a técnica determina que sejam testados todos os pares (“all pairs”) dentre as possibilidades de entrada de dados.
 
 

Como usar esta técnica?

 
A técnica de pairwise é fortemente influenciada pelo procedimento matemático chamado de matriz ortogonal. As matrizes ortogonais possuem propriedades bem específicas: são formadas de linhas e colunas (uma representação muito próxima a de uma tabela de base de dados). Cada coluna representa uma variável ou parâmetro de sistema, onde o valor de cada variável é definido através de um agrupamento conhecido de possíveis valores. Na intersecção de cada linha/coluna identificam-se as células da tabela, que contém um valor definido para determinada variável. Cada linha representa uma possibilidade de combinações entre variáveis e possíveis valores.
 
Número da Combinação
 
 

Número da Combinação

Cobertura

Sinal

Pagamento

1

Plano A

Digital

mensal

2

Plano A

Analógico

PPV

3

Plano B

Digital

PPV

4

Plano B

Analógico

mensal

5

Plano C

Digital

mensal

6

Plano C

Analógico

PPV

 
 
Ou, em uma retratação mais simplificada:
 

Número da Combinação

Variável 1

Variável 2

Variável 3

1

A

A

A

2

A

B

B

3

B

A

B

4

B

B

A

5

C

A

A

6

C

B

B

 
 
Para facilitar o entendimento da Técnica, RODEN (2007) define cinco etapas geração de casos de testes utilizando matrizes ortogonais:
 

1) Identifique cada variável dentro do cenário desejado;
2) Determine o número de opções existentes para cada variável;
3) Escolha o melhor enquadramento em uma matriz ortogonal, levando em consideração que cada linha é um caso de teste, cada coluna uma variável de sistema e que em cada célula deve ser preenchida com as opções existentes em cada variável;
4) Preencha a matriz, utilizando as opções possíveis para cada variável existente;
5) Cada linha corresponde a um caso de teste que deverá ser executado conforme os valores atribuídos de cada variável.

 
Utilizando esta técnica você não estará executando todas as possibilidades de variáveis e cominações existentes no sistema. Apesar disto, levando em consideração o conceito de combinações em pares, você estará otimizando o esforço de sua equipe de teste, alcançando o maior nível de cobertura com menor esforço possível.
 
 

Quando a técnica deve ser utilizada?

 
A técnica de pairwise deve ser aplicada quando existirem regras de negócio complexas, onde existam muitas regras dependentes umas das outras. Nestes casos, onde a quantidade de regras e ações envolvidas for muito grande, poderá ser gerada uma quantidade de casos de teste tendendo ao infinito, havendo então a necessidade de aplicar a técnica de matrizes ortogonais, com objetivo de viabilizar a realização de testes neste cenário.
 
Em tempo de execução, a técnica não cobrirá 100% das possibilidades de casos de teste existentes, haja vista que em determinados casos é humanamente impossível de ser aplicado, porém a metodologia considera que determinados casos de teste são mais representativos ao sistema, aumentando a eficácia de sua execução.
 
 

4. Por que esta técnica deve ser utilizada?

 
O grande benefício gerado ao utilizar a técnica de Pairwise é economizar tempo e esforço das equipes de testes. Tais benefícios estão diretamente ligados à diminuição dos casos de testes a serem desenvolvidos e aplicados, junto com incremento na eficácia da aplicação dos mesmos, como reflexo da adoção desta metodologia.
 
A técnica deve ser empregada pois utiliza critérios matemáticos na definição das variáveis e combinação de valores de entrada a serem utilizados nos casos de teste, o que exime a subjetividade do analista de teste na hora da definição dos casos de teste que possuem maior relevância ao sistema. Além disto, a técnica comprovadamente identifica índices incrivelmente elevados de bugs, o que gera um benefício mútuo: menos esforço com maior eficácia.
 
Este post foi escrito por Eduardo Koerich, Analista de Sistemas e auditor da Qualidade em projetos de desenvolvimento da empresa Primesoft.
 
Caso você tenha se interessado pelo nosso processo de desenvolvimento de software, utilizando as métricas de qualidade aqui dispostas, entre em contato conosco e solicite um orçamento!
 
 

Quer receber mais conteúdos como esse em seu e-mail?

Preencha o formulário abaixo para receber nossos conteúdos e torne-se um membro da comunidade PRIME!
Informe o seu nome.
Informe o nome da empresa.
Informe um e-mail válido.