Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVítor Penha Amaro Alterado mais de 6 anos atrás
1
jpf@fe.up.pt www.fe.up.pt/~jpf
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Driven Devlopment Experiment João Pascoal Faria
2
Test-Driven Development (TDD)
Development approach appropriate for unit testing The rhythm of Test-Driven Development (TDD) can be summed up as follows: 1. Quickly add a test. 2. Run all tests and see the new one fail. 3. Make a little change. 4. Run all tests and see them all succeed. 5. Refactor to remove duplication. [Kent Beck, Test-Driven Development, Addison-Wesley, 2003]
3
Experiência para avaliar a eficácia de TDD
Escrever em Java/Eclipse (ou C#/Visual Studio.Net) e testar com JUnit (ou NUnit) uma rotina que converte um inteiro n entre 0 e numa string com a sua representação por extenso em português, em maiúsculas Sintaxe: classe “Extensos”, método “public static String NumExt(int num)” Lançar excepção para valor fora dos limites Metade dos alunos (em grupos de 2) deve seguir a abordagem TDD A outra metade deve seguir uma abordagem “tradicional”: escrever primeiro todo o código e só fazer testes no fim No final do tempo estabelecido (1 hora), será fornecido um conjunto de casos de teste e cada grupo deve contar quantos testes passaram e quantos testes falharam para se tirarem depois conclusões
4
TDD no Eclipse - Criar novo projecto
5
TDD no Eclipse - Configurar projecto
6
TDD no Eclipse - Criar caso de teste (1)
7
TDD no Eclipse - Criar caso de teste (2)
8
TDD no Eclipse - Criar caso de teste (3)
executa métodos sem argumentos, retorno void, e nome começado em "test"
9
TDD no Eclipse - Criar classe a testar
10
TDD no Eclipse - Executar os testes
11
TDD no Eclipse – Ver o teste a falhar
12
TDD no Eclipse - Corrigir e ver o teste a passar
13
Tratar caso de zero Etc. 1a. Criar código de teste
2. Ver o teste a falhar package extensos; import junit.framework.TestCase; public class TestExtensos extends TestCase { public void testZero() { assertEquals("ZERO", Extensos.NumExt(0)); } public static void main(String[] args) { junit.swingui.TestRunner.run(TestExtensos.class); 3. Alterar a classe a testar public static String NumExt(int n) { return "ZERO"; } 4. Ver o teste a passar 1b. Criar classe a testar só para compilar package extensos; public class Extensos { public static String NumExt(int n) { return ""; } Etc.
14
Links úteis www.nunit.org www.junit.org
Kent Beck, Test-Driven Development, Addison-Wesley, 2003
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.