Curso Gratuito de Automação de Testes Para Iniciantes

Disponível no
Youtube

 

Simplificando o teste funcional e o teste estrutural

teste-estrutural

Simplificando o teste funcional e o teste estrutural

Quem aqui nunca se perguntou o que é o teste de caixa-branca e o de caixa-preta, ou em outras palavras, o teste funcional e o teste estrutural, garanto que  em algum momento houveram dúvidas e por que não confusões também. Com o intuito de disseminar conhecimento e sanar algumas questões que convido você leitor a conhecer essa parábola na qual explica de forma simples a diferença entre o teste funcional e o teste estrutural.

Quem conhece a cor das maças?

“Uma professora de jardim de infância perguntou aos alunos: “Quem conhece a cor das maçãs?”. Um aluno rapidamente levantou sua mão e a professora disse: “Ethan, qual é a cor das maçãs?”. O joven Ethan orgulhosamente levantou-se e afirmou: “As maçãs são vermelhas”.

 

Então, várias outras mãos foram levantadas e a professora escolheu outra criança. “Sim, Emma? “, perguntou a professora. Emma respondeu: “Mas algumas maçãs são verdes.” “Correto! “, exclamou a professora. Então, mais algumas mãos subiram e a professora novamente selecionou um estudante ansioso que acenava vigorosamente a mão. Mas a jovem Caroline não podia se controlar e antes que o aluno selecionado pudesse responder, ela gritou: “E algumas maçãs são amarelas”. “Sim, isso mesmo! As maçãs são vermelhas, verdes e amarelas “, afirmou a professora.

Mas antes de continuar com a lição, a professora percebeu uma pequena e calma garota no canto da sala, com a mão ainda levantada. A professora chamou a criança e a pequena garota disse: “As maçãs também são brancas”.

A professora, um tanto confusa, respondeu educadamente: “Elizabeth, há maçãs vermelhas, maçãs verdes e maçãs amarelas, mas nunca vi uma maçã branca”. Outras crianças na sala começaram a rir. Elizabeth levantou-se, olhou sobre os óculos para a professora e declarou sem rodeios: “Todas as maçãs são brancas por dentro!”Muitas vezes, tendemos a avaliar a qualidade do software simplesmente por aspectos comportamentais e negligenciamos as características computacionais que permanecem escondidas abaixo da interface do usuário.”

 

Moral da história: Muitas vezes, tendemos a avaliar a qualidade do software simplesmente por aspectos comportamentais (testes funcionais) e deixamos de lado as características computacionais que permanecem escondidas abaixo da interface do usuário (teste estrutural).

 

No texto acima, identificamos o teste funcional como sendo os requisitos da maça, aonde avaliamos todos os cenários e possibilidades de testes ( podendo ser uma maça verde, vermelha e até amarela), constituindo assim um caso de teste válido. Podemos dizer que o objetivo do teste funcional, ou teste de caixa-preta, é verificar se a saída gerada após a entrada dos dados especificados é correspondente a saída esperada. Com isso é possível encontrar os defeitos do software em relação aos requisitos do produto.

 

Já no caso do teste estrutural, ou teste de caixa-branca, usamos o interior da maça para exemplificar, pois esse teste consiste em usar o código, aquilo que está escondido abaixo da interface, para definir os requisitos e consequentemente os casos de testes. Desta forma, o objetivo é observar as estruturas que compõe todo o software e garantir que tudo ocorrerá conforme definido anteriormente.

 

Fonte: História baseada no livro How we test software at Microsoft, ou seja, Como nós testamos software na Microsoft, disponível em http://keripo.com/static/academia/upenn/cis099/How-We-Test-Software-at-Microsoft_Alan-Pa.pdf