Em uma equipe muito pequena, onde os testes de caixa preta e caixa branca são feitos pela mesma pessoa, o que o testador deve fazer primeiro?
Em uma equipe muito pequena, onde os testes de caixa preta e caixa branca são feitos pela mesma pessoa, o que o testador deve fazer primeiro?
Respostas:
O que quer que seja mais correto.
Sério, o teste de caixa branca (ou seja, o teste das partes internas do código) deve ser idealmente realizado com testes de unidade pelo desenvolvedor que escreveu o código. Os testes de unidade seriam construídos ao longo do tempo e parte do processo de construção, para que não desperdiçássemos o tempo ruim do testador com código que sabemos que não funciona como deveria. O teste de unidade se torna mais importante quanto menor a sua equipe - principalmente porque você não tem um exército de testadores para resolver os problemas.
O teste de caixa preta (ou seja, através da interface do usuário / sistema) é normalmente o que a maioria dos testadores faz.
Todos os testes precisam ser priorizados quanto à importância de uma função para o produto acabado. Se a missão é fornecer uma ferramenta para executar X e o produto não executar X, isso é um grande problema.
Teste de caixa preta para verificar os recursos. Teste de caixa branca, conforme necessário, se as coisas estiverem quebradas. Se todos os testes da caixa preta passarem e a cobertura for boa, o teste da caixa branca será desnecessário.
Caixa preta.
Os componentes da caixa branca geralmente dependem dos componentes da caixa preta, então eu gostaria de testar a caixa preta primeiro e depois passar para a caixa branca.
Primeiro você faz o teste de branco pensando como codificador / desenvolvedor para garantir que tudo funcione bem. Em seguida, você faz o teste da caixa preta, geralmente tentando pensar como se você fosse o usuário final, sem pensar na estrutura interna do programa. Às vezes, você precisa pensar como um codificador / desenvolvedor, mesmo que esteja fazendo um teste de preto, porque pode estar testando um módulo interno que foi escrito por outra pessoa e não tem acesso ao código.
Se você deseja ter um bom ciclo de teste, deve ter pessoas diferentes fazendo os dois :
Um desenvolvedor focado principalmente em testes de caixa branca sabe o que mudou recentemente no código, quais áreas são mais complexas (e, portanto, provavelmente quebram) etc., e pode concentrar esforços adequadamente nessas áreas com maior probabilidade de apresentar novos defeitos.
Por outro lado, um testador de controle de qualidade focado em testes de caixa preta pode abordar mais facilmente os testes como um usuário final. Sem nenhum conhecimento interno do código, eles podem adotar uma nova abordagem e não são influenciados pelo conhecimento de como as diferentes partes da solução são implementadas. Eles capturam bugs que o desenvolvedor pode ter esquecido, ou regressões de alterações no código que acidentalmente quebraram outras áreas do aplicativo.
Para responder sua pergunta, o teste da caixa branca deve ser feito primeiro. Mas você realmente precisa ter uma pessoa diferente fazendo o teste da caixa preta, se quiser que seja eficaz.
Eu gosto de começar com o teste da caixa preta e depois usar as informações de cobertura de código ou o depurador para descobrir o que estou fazendo e analisar o que está acontecendo.
Mas a resposta real é que depende . É provável que eu mergulhe no código mais cedo (mesmo antes), se estiver fazendo testes de API, mas muito mais tarde, se meu objetivo for analisar alguns cenários de ponta a ponta.
Eu diria que o teste da caixa preta é o primeiro, simplesmente porque, como proponente do TDD, os testes são escritos antes que o código (ou caixa) exista de qualquer maneira :)
O teste da Caixa Branca (tanto quanto eu entendo) é mais útil em uma mentalidade de depuração.
Teste de caixa preta, porque você está escrevendo testes antes que o código exista. O testador precisa desenvolver testes automáticos demorados em paralelo com o código de desenvolvimento do desenvolvedor para ser eficiente em uma equipe pequena.
Se o código já estiver escrito, sugiro que você gaste algum tempo esboçando a cobertura do teste do ponto de vista da caixa preta para garantir um tempo de brainstorming antes de encher seu cérebro com o código real. No entanto, você pode alternar para a caixa branca e examinar o código antes de ir muito longe com os testes reais para ter uma idéia das áreas de risco e priorizar os testes que você pensou anteriormente (e aumentá-los com novos testes pensados por olhando para partes do código que parecem complicadas ou questionáveis).
Nem. Eu tento escrever bons testes usando meu Right BICEP , tendo em mente as condições corretas dos limites, não importa a ordem em que eles vêm à mente. Essas são as duas siglas propostas no Teste Pragmático de Unidade .
Meu objetivo é me concentrar em escrever bons testes, e não em qual cor escrever primeiro.
Primeiro faça o teste de caixa branca .
Segundo, vá para o teste de caixa preta.
> Teste de caixa preta
I. O testador deve verificar o funcionamento do aplicativo, como caixa de texto, botão de opção, caixa de listagem, botão de comando, etc.,
II O testador deve verificar o funcionamento da aplicação, como logotipo, imagem, ortografia, etc. etc.
III O testador deve verificar o fluxo inteiro do aplicativo.
Nota: Para verificar as condições positivas e negativas.