Changes between Initial Version and Version 1 of ExpressoTestCenter/qa


Ignore:
Timestamp:
05/12/08 16:03:29 (16 years ago)
Author:
amuller
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExpressoTestCenter/qa

    v1 v1  
     1== Unit Test ==  
     2 
     3    Teste de unidade (unit test), tem como objetivo testar todos os pedaços do software separadamente de forma a garantir um melhor funcionamento do sistema como um todo. Como cada função tem uma especificação de funcionamento qualquer comportamento fora do especificado deve ser alertado. 
     4 
     5    Cada função pode ser tratada como uma equação matemática de n variáveis sendo estas variáveis argumentos, variáveis globais e variáveis do ambiente. Como por exemplo podemos citar uma função que testa se um número é par ou ímpar. Ela tem uma especificação muito simples porque só depende dos valores de entrada: 
     6{{{ 
     7function testa_par (argumento){ 
     8if (argumento mod 2 == 0){ 
     9    return true 
     10else 
     11    return false 
     12} 
     13}}} 
     14 
     15Esta função não passaria num unit test, pois testa_par("string") tem resultado inesperado. Assim como testa_par(true) também. 
     16Por isso é melhor a função abaixo: 
     17{{{ 
     18function testa_par (argumento){ 
     19    if (typeof(argumento) == number) { 
     20        if (argumento mod 2 == 0){ 
     21            return true 
     22        else 
     23            return false 
     24    } else 
     25        return null 
     26} 
     27}}} 
     28 
     29Um bom case de unit test para esta função seria: 
     30 
     31{{{ 
     32for (var i = 0; i < 65536; i+2) 
     33   if (testa_par (i) != true) 
     34        print("UNIT TEST FALHOU EM:",i) 
     35 
     36for (var i = 1; i < 65536; i+2) 
     37   if (testa_par (i) != false) 
     38        print("UNIT TEST FALHOU EM:",i) 
     39 
     40}}} 
     41Além de testar strings, boolean e outros tipos.