Testar de caixa branca
A D V E R T I S E M E N T
Testar de caixa branca é um método de projeto do caso do teste que use a estrutura do controle do projeto processual derivar casos do teste. Testar casos pode ser derivado isso
1. garantia que todos os trajetos independentes dentro de um módulo estiveram exercitados pelo menos uma vez,
. exercÃcio 2 todas as decisões lógicas em seus lados verdadeiros e falsos,
3. executam todos os laços em seus limites e dentro de seus limites operacionais, e
4. estruturas de dados internas do exercÃcio para assegurar sua validez.
A natureza de defeitos do software
Os erros da lógica e as suposições incorretas são inversa proporcionais à probabilidade que um trajeto do programa estará executado. Processar geral tende a ser compreendido bem quando processar especial do caso tender a ser prone aos erros.
Nós acreditamos frequentemente que um trajeto lógico não é provável ser executado quando pode ser executado em uma base regular. Nossas suposições inconscientes sobre o controle fluem e os dados conduzem para projetar os erros que podem somente ser detectados testar do trajeto.
Os erros tipográficos são aleatórios.
Testar do trajeto da base
Este método permite o desenhador de derivar uma medida lógica da complexidade de um projeto processual e de usá-la como uma guia para definir um jogo da base de trajetos da execução. Testar os casos que exercitam o jogo da base são garantidos para executar pelo menos cada indicação no programa uma vez durante testar.
Gráficos do fluxo
Os gráficos do fluxo podem ser usados representar o fluxo do controle em um programa e podem ajudar na derivação do jogo da base. Cada nó do gráfico do fluxo representa um ou mais indicação processual. As bordas entre nós representam o fluxo do controle. Uma borda deve terminar em um nó, mesmo se o nó não representar nenhumas indicações processuais úteis. Uma região em um gráfico do fluxo é uma área limitada por bordas e por nós. Cada nó que contem uma circunstância é chamado um nó do predicado. A complexidade de Cyclomatic é uma métrica que forneça uma medida quantitative da complexidade lógica de um programa. Define o número de trajetos independentes no jogo da base e fornece assim um limite superior para o número dos testes que devem ser executados.
O jogo da base Um trajeto independente é todo o trajeto com um programa que introduza pelo menos um jogo novo de processar indicações (deve se mover ao longo pelo menos de uma borda nova no trajeto). O jogo da base não é original. Todo o número de jogos diferentes da base pode ser derivado para um projeto processual dado. A complexidade de Cyclomatic, V (G), porque um gráfico G do fluxo é igual a
1. O número das regiões no gráfico do fluxo.
2. V (G) = E - N + 2 onde E está o número das bordas e N são o número dos nós.
3. V (G) = P + 1 onde P é o número de nós do predicado.
Derivando casos do teste 1. Do código do projeto ou de fonte, derivar um gráfico do fluxo.
2. Determinar a complexidade cyclomatic deste gráfico do fluxo.
   Mesmo sem um gráfico do fluxo, V (G) pode ser determinado contando
o número de indicações condicionais no código.
3. Determinar um jogo da base de trajetos linear independentes.
   Os nós do predicado são úteis para determinar os trajetos necessários.
4. Preparar os casos do teste que forçarão a execução de cada trajeto no jogo da base.
   Cada caso do teste é executado e comparado aos resultados previstos.
Automatizando derivação ajustada da base A derivação do gráfico do fluxo e do jogo de trajetos da base é amenable à automatização. Uma ferramenta do software para fazer isto pode ser desenvolvida usando uma estrutura de dados chamada uma matriz do gráfico. Uma matriz do gráfico é uma matriz quadrada cujo o tamanho seja equivalente ao número dos nós no gráfico do fluxo. Cada fileira e coluna correspondem a um nó particular e a matriz corresponde às conexões (bordas) entre nós. Adicionando um peso da ligação a cada entrada da matriz, mais informação sobre o fluxo do controle pode ser capturada. Em seu formulário mais simples, o peso da ligação é 1 se uma borda existir e 0 se não. Mas outros tipos de pesos da ligação podem ser representados:
½ do ¿ do ï a probabilidade que uma borda estará executada,
½ que do ¿ do ï o tempo processando expended durante a ligação traversal,
½ do ¿ do ï a memória requerida durante a ligação traversal, ou
½ do ¿ do ï os recursos requeridos durante a ligação traversal.
Os algoritmos da teoria de gráfico podem ser aplicados a estas matrizes do gráfico à ajuda na análise necessária produzir o jogo da base.
Testar do laço Focos desta técnica da caixa do branco exclusivamente na validez de construções do laço. Quatro classes diferentes dos laços podem ser definidas:
. laços 1 simples,
2. aninharam laços,
3. laços concatenados, e
4. laços unstructured.
Laços simples Os seguintes testes devem ser aplicados aos laços simples onde n é o número máximo de passagens permissÃveis através do laço:
1. faixa clara o laço inteiramente,
. somente passagem 2 uma vez através do laço,
3. passagens de m através do laço onde m < n="">
4. n - 1, n, n + 1 passa através do laço.
4. n - 1, n, n + 1 passes through the loop.
Laços aninhados Testar de laços aninhados não pode simplesmente estender a técnica de laços simples desde que este resultaria em um número geomètrica crescente de casos do teste. Uma aproximação para laços aninhados:
1. Começar pelo laço innermost. Ajustar todos laços restantes aos valores mÃnimos.
2. Testes de laço simples da conduta para o laço innermost ao prender os laços exteriores em seus mÃnimos. Adicionar testes para valores out-of-range ou excluÃdos.
3. Trabalhar para fora, conduzir testa para o laço seguinte ao manter todos laços exteriores restantes em mÃnimos e em outros aninhou laços aos valores tÃpicos.
4. Continuar até que todos os laços estejam testados.
Laços concatenados Os laços concatenados podem ser testados como laços simples se cada laço for independent do outro. Se não forem independentes (por exemplo o contador do laço para um é o contador do laço para o outro), a seguir a aproximação aninhada pode ser usada.
Laços Unstructured Este tipo de laço deve redesigned não testado!!!
Outras técnicas brancas da caixa
Outras técnicas testando de caixa branca incluem:
1. Testar da circunstância
exercita as condições lógicas em um programa.
2. Os fluxo de dados testando
seleciona trajetos do teste de acordo com as posições das definições e dos usos das variáveis no programa.
Looking for Software Testing eBooks and Interview Questions? Join now and get it FREE!
Discussion Center
Recommended Resources
•
Testing Interview Questions -
http://www.coolinterview.com/type.asp
•
Testing Tools Interview Questions -
http://www.coolinterview.com/type.asp
•
What is Software Testing? -
http://en.wikipedia.org/wiki/Software_testing
•
Software QA & Testing Resource Center -
http://www.softwareqatest.com/
•
Testing Faqs -
http://www.testingfaqs.org/