Análise de testes e Quality Assurance
Conteúdo
Testes de caixa preta
São testes de funcionalidades, orientados a entrada e saída.
Validação manual
Validação automatizada
Existe complementos para o navegador Firefox que permite criar macros. Um deles é o imacros. Um script de criação de regras está anexado como exemplo.
Testes de caixa-branca
São testes orientados a comportamento de código ou fluxo de processamento.
Testes de desempenho php ou inatingíbilidade de código
Podem ser testados como no exemplo abaixo
$time_start = microtime(true); <codigo> $time_end = microtime(true); $Benchmarking1 = ($time_end - $time_start); $time_start = microtime(true); <codigo> $time_end = microtime(true); $Benchmarking2 = ($time_end - $time_start);
Por último imprimir relatório na tela ou em variável de sessão.
Unit Test
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.
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:
function testa_par (argumento){ if (argumento mod 2 == 0){ return true else return false }
Esta função não passaria num unit test, pois testa_par("string") tem resultado inesperado. Assim como testa_par(true) também. Por isso é melhor a função abaixo:
function testa_par (argumento){ if (typeof(argumento) == number) { if (argumento mod 2 == 0){ return true else return false } else return null }
Um bom case de unit test para esta função seria:
for (var i = 0; i < 65536; i+2)[[PageOutline(1-3, Conteúdo)]] if (testa_par (i) != true) print("UNIT TEST FALHOU EM:",i) for (var i = 1; i < 65536; i+2) if (testa_par (i) != false) print("UNIT TEST FALHOU EM:",i)
Além de testar strings, boolean e outros tipos.
Usando JsUnit no ExpressoMail
Faça download de todos os arquivos em anexo e digite:
cat jsUnit_part* > jsUnit.tar.bz2 tar -xjvf jsUnit.tar.bz2 firefox jsunit/testRunner.html
Carregue o arquivo tests/jsUnitExpressoMail.html e clique em run
Realizando testes de desempenho do JavaScript
Attachments
-
jsUnit_partaa
(1024.0 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte1
-
jsUnit_partab
(1024.0 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte2
-
jsUnit_partac
(1024.0 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte3
-
jsUnit_partad
(1024.0 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte4
-
jsUnit_partae
(1024.0 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte5
-
jsUnit_partaf
(734.6 KB) -
added by amuller 16 years ago.
Jsunit com teste do ExpressoMail? parte6
-
bloqueia_inbox.iim
(352 bytes) -
added by amuller 15 years ago.
Exemplo de macros pro imacros