Não caia no conto do "Pairwise Testing"

Voltando as atividades da blogosfera com tema polemico!

Últimamente venho me sentindo extremamente incomodado sobre como pairwise testing está sendo vendido como a técnica de teste que vai diminuír a quantidade de casos de teste e vai te dar uma cobertura satisfatória de testes de forma mágica … “se voce seguir esses passos mágicos…”

Click here to see the full blog post

Meu querido, boa volta aos posts. “Quanto mais polêmico melhor”.

"Pairwise só é eficaz se os dados que você está combinando são mais do que simples parâmetros. "

Estas frase define tudo o que podemos dizer sobre a técnica. Além de ser eficaz para cobrir combinações, a técnica pode auxiliar na cobertura dos testes, mas, não ser a única.

Falar que vai diminuir cenários é no mínimo, trágico. Vai é aumentar pois você não conseguiu ver todos kkkkkkkkkk.

Abraços.
<img src=“http://i1.sndcdn.com/artworks-000047300555-tueaio-crop.jpg?30a2558”/>

Você tem razão: não existe bala de prata, não existe uma “Excalibur” que a gente retira da pedra e resolve todos os nossos problemas. Conhecer bem o negócio, os riscos e as tecnologias que se está testando sempre será a melhor forma de criar cenários de teste. Outra boa forma, é preparar casos de teste/scripts/massa para cada falha ou defeito, de maneira a criar uma “vacina” que impeça que bugs que já ocorreram retornem por problemas de regressão. Os cliente não gostam de bugs, mas gostam menos ainda de bugs que ficam indo e voltando.

Contudo, pairwise e outras técnicas de teste utilizadas conjuntamente podem ajudar a explorar a área de sombra nos testes, que está descoberta e muitas vezes é imaginada como de menor probabilidade e importância, mas que também contém bugs.

A técnica de pairwise uma página (em inglês: www.pairwise.org) com estudos, artigos e 39 ferramentas (pagas, gratuitas, open source) criadas por empresas com AT&T, Bell Labs, Microsoft, IBM, HP, Hexawise, Força Aérea Americana, Nasa, NIST (que define os padrões de tecnologia para o governo americano). Várias delas podem ser experimentadas online ou feito o download. Como sempre haverão opiniões contra e a favor, e como acredito que nada substitui a experiência, então nada melhor do que cada um fazer um piloto e chegar as suas próprias conclusões, usando parâmetros que sejam realmente significativos, como você disse.

A IBM, em especial, tem apoiado pesquisas em laboratórios e eventos como o International Workshop on Combinatorial Testing, que em 2014 chegou a sua 3ª edição, como parte do 17° International Conference on Software Testing promovido pelo IEEE (http://www.research.ibm.com/haifa/Workshops/iwct2014/).

É uma técnica que ainda está sendo pesquisada em empresas e universidades no mundo inteiro, deverá evoluir ao longo dos anos, como tudo. Porém, pode ser usada hoje como uma técnica complementar útil, rápida, barata ou de graça por muita gente.

Testa-se muito pouco, muito superficialmente. Os testadores sabem disso. Quantas vezes a gente não está fora do trabalho e pensa: devia ter executado aquele teste também! As vezes parece que estamos protegendo os softwares com uma placa escrito “Bugs Não Entrem”, mas bugs não sabem ler, ou fingem que não sabem, e o cliente acaba achando um monte deles lá no meio. Fazer uma redoma, um muro, que seria um teste exaustivo, é proibitivo por custo, tempo e talvez até por falta de utilidade.

Pairwise é só uma cerca, algum bugs podem pular a cerca, outros não. Uma cerca já é um bom começo. Quanto mais idéias e práticas pudermos somar, melhor.

Para quem quer assistir alguns vídeos falando sobre a técnica e o uso com ferramentas citadas, até para entender melhor tudo isso, se funciona ou não funciona:

Ficaria muito contente que assistissem e criticassem. Os exemplos dados são simplistas, pois o objetivo é ser didático, porém podemos a partir das criticas criar outros cenários e aprofundarmos mais a discussão. Valeu!

Correia… não me leve a mal…
se vc dar uma olhada no paper do james bach que eu linkei… metade desses estudos é furada… comparado com analise combinatória… sim. .vc terá uma redução de porcentagem de casos de teste… mas quem disse que quantidade de caso de teste significa um software bem testado?

o grande trunfo do pairwise é cobertura com redução… ora pois… eu tenho isso e não preciso de ferramenta que gere casos combinações de casos de teste para ter um teste solido com uma boa cobertura.

Pq eu tenho que combinar meus testes com tecnicas de pairwise? para dobrar meus casos de teste?

Até o próprio James bach da satisface, quem desenvolveu a ferramenta que vc usa no seu hangout disse que até com dados aleatórios… (que foge do escopo do pairwise) tem uma cobertura relativa e acha tantos erros quanto…

Quem toma cuidado em pensar nos parâmetros certos e interações corretas entre eles teoricamente não precisa de pairwise, não é? retrabalho pra que?

Talvez sirva para projetos que tem que prestar contas, ou que tinha um numero X de casos de teste para entregar… mas não para qualidade de software em si.

Tenho impressão na sua resposta que você só leu o titulo um pouco sensacionalista e pulou para os comentários :(

[]s

Meus .50 cents…

Concordo com o Galani quanto a não usar o PairWise como uma bala de prata…
Vale muito o esforço do Correia para apresentar isso a uma gama maior de testadores que não conhecem esta técnica, mas vendê-la como um treinamento específico ou mesmo como uma “redução da quantidade de casos de teste” (e não quer dizer que estejam fazendo isso), na minha opinião é errado.

É sempre interessante colocar os contrapontos de qualquer técnica. Isso acontece, e muito, em programação, porque não em teste?
E concordo com o Galani na questão dos “erros” nesta técnica e também não da pra utiliza-la para tudo.

@Correia, os dois últimos vídeos não funcionam (ainda não foram publicados)

Um ponto interessante é que no próprio site do "17° International Conference on Software Testing " é dito que há falhas no PairWise e que ele pode não ser suficiente…

CT has gained significant interest in recent years, both in research and in practice. However, many issues still remain unresolved, and much research is still needed in the field. For example, while pairwise testing is a well recognized and popular test planning method, investigations of actual failures in a number of software and systems convincingly show that pairwise testing may not be sufficient so the less-studied high strength CT (i.e., t-way for t>2) may be needed.

Pessoal, não estou vendendo Pairwise como a salvação do universo, apenas não estou descartando o seu uso em conjunto com outras técnicas. Acho que cada leitor do blog ou das listas não deve acreditar na opinião de quem é contra ou de quem é a favor desta ou de qualquer técnica. Deve ler, experimentar e chegar as suas próprias conclusões. A intenção desse ciclo de hangouts é a apresentar a técnica, a ferramenta AllPairs que é associada a ela (existem outras, como a da Hexawise, por exemplo, que é bem melhor) e como pode ser usada como entrada para o Testlink e o Visual Studio.

Quanto aos links, dois vídeos vão ser gravados ao longo dessa semana. Eu preferi já deixá-los no post acima tanto para quem desejar assistir ao vivo, quanto para ficar disponível em seguida as gravações. Na verdade, esses vídeos são mais sobre como importar casos de teste para o Testlink e como associar uma massa de teste no Visual Studio, o que pode ser útil para parte dos colegas. Essa massa de teste foi criada por Pairwise, mas poderia ter sido elaborada por qualquer outra técnica.

Log in to reply

Looks like your connection to Agile Testers was lost, please wait while we try to reconnect.