1 Teste e Qualidade de Software, MIEIC/MEI/PRODEI, João Pascoal Faria, 20/9/2007 TQS - Teste e Qualidade de Software (Software Testing and Quality) Introdução a testes unitários automatizados com JUnit e NUnit João Pascoal Faria [email protected]www.fe.up.pt / ~jpf
14
Embed
Introdução a testes unitários automatizados com JUnit e NUnit
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1Teste e Qualidade de Software, MIEIC/MEI/PRODEI, João Pascoal Faria, 20/9/2007
TQS - Teste e Qualidade de Software
(Software Testing and Quality)
Introdução a testes unitários automatizados com JUnit e NUnit
2Teste e Qualidade de Software, MIEIC/MEI/PRODEI, João Pascoal Faria, 20/9/2007
JUnit Framework open source para criação e execução de testes
unitários, baseado na arquitectura xUnit (inciada com SmallTalk), escrito inicialmente por Kent Beck e Erich Gamma
Permite criar classes de teste (test fixtures) com métodos de teste com asserções
• Classe é instanciada de novo para cada método de teste
Test runner (c/ interface textual ou gráfica) executa métodos de teste e mostra os que passaram (a verde) e os que falharam (a vermelho)
• “Keep the bar green to keep the code clean” [Kent Beck]
Conjuntos de testes podem ser organizados em test suites
Actualmente integrado no Eclipse
Ver mais detalhes em www.junit.org
3Teste e Qualidade de Software, MIEIC/MEI/PRODEI, João Pascoal Faria, 20/9/2007
Exemplo de classe a testar
class MyMathclass MyMath { { //// Dá o Dá o maior divisor comum positivo de maior divisor comum positivo de 22 inteiros inteiros // não nulos pelo algoritmo de Euclides.// não nulos pelo algoritmo de Euclides. // Se algum argumento for 0 dá// Se algum argumento for 0 dá // // IllegalArgumentExceptionIllegalArgumentException.. public static int mdc(int a, int b)public static int mdc(int a, int b) {{ while (b > 0) {while (b > 0) { int aux = a % b;int aux = a % b; a = b; a = b; b = aux;b = aux; }} return a;return a; }}}}
Como não é dito nada em contrário, deve funcionar com inteiros negativos …
Não parece que esteja implementado…
esp
ecifi
caçã
o in
form
al
imp
lem
en
tação
4Teste e Qualidade de Software, MIEIC/MEI/PRODEI, João Pascoal Faria, 20/9/2007