Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso...

28

Transcript of Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso...

Page 1: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Testes, testes everywhere

Dmitry Nix@dmitrynix

/(guru|pug-)pi/i

29 de Novembro de 2014

1 / 28

Page 2: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

su - mario

O que é teste automatizado de software?

Exemplos e casos de uso com Ruby

2 / 28

Page 3: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nições

3 / 28

Page 4: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de um livro

4 / 28

Page 5: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� [. . . ] Não é incomum que uma organização de software gaste40% do esforço de projeto total em teste. . .� ([2, Pressman])

Grifo meu5 / 28

Page 6: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� [. . . ] Surge a fase de testes. O engenheiro cria uma série decasos de testes que têm a intenção de "demolir"o software que eleconstruiu. � ([2, Pressman])

6 / 28

Page 7: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

7 / 28

Page 8: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

8 / 28

Page 9: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

9 / 28

Page 10: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� 18.1.1 Objetivo das atividades de testes[. . . ]

1. A atividade de teste é o processo de executar um programa

com a intenção de descobrir um erro ainda não descoberto.

2. Um bom caso de teste é aquele que tem uma elevada

probabilidade de revelar um erro ainda não descoberto.

3. Um teste bem-sucedido é aquele que revela um erro ainda não

descoberto.

� ([2, Pressman])

Grifo meu10 / 28

Page 11: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� Se a atividade de teste for conduzida com sucesso . . . , eladescobrirá erros no software. Como um benefício secundário, a

atividade de teste demonstra que as funções de software

aparentemente estão trabalhando de acordo com as especi�cações,que os requisitos de desempenho aparentemente está cumprido.� ([2, Pressman])

Grifo meu11 / 28

Page 12: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� 18.7 Ferramentas de teste automatizadas � ([2, Pressman])

12 / 28

Page 13: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição de Livro

� 18.8 ResumoO objetivo principal do projeto de casos de testes é derivar umconjunto de testes, que tenha uma alta probabilidade de revelardefeitos no software. � ([2, Pressman])

13 / 28

Page 14: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição da Wikipedia

14 / 28

Page 15: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição da Wikipedia

� In software testing, test automation is the use of special software(separate from the software being tested) to control the executionof tests and the comparison of actual outcomes with predictedoutcomes. Test automation can automate some repetitive butnecessary tasks in a formalized testing process already in place, oradd additional testing that would be di�cult to perform manually.� ([1, Wikipedia])

15 / 28

Page 16: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

De�nição da Wikipedia

� Em teste de software, teste automatizado é um uso especial dosoftware (separado do software que será testado) para controlar aexecução do testes e comparar a saída com a saída que se espera.Teste automatizado pode efetuar algumas tarefas repetitivas, [. . . ]� ([1, Wikipedia])

16 / 28

Page 17: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

17 / 28

Page 18: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

18 / 28

Page 19: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

19 / 28

Page 20: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

20 / 28

Page 21: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

21 / 28

Page 22: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

22 / 28

Page 23: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

23 / 28

Page 24: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

24 / 28

Page 25: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Minha de�nição

Teste

É algo que testo para ver se está funcionando =/

Automatizado

É algo que automatizo :P

Software

Conjunto de instruções.

25 / 28

Page 26: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

�bonacci

Sequência de Fibonacci :)

26 / 28

Page 27: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

Test automation.http://en.wikipedia.org/w/index.php?title=Test_

automation&oldid=625222800.

Roger S Pressman.Engenharia de software.3a Edição. Makron Books.

27 / 28

Page 28: Testes, testes everywhere - s3.amazonaws.com · Em teste de software, teste automatizado é um uso especial do software (separado do software que será testado) para controlar a execução

28 / 28