testes de software - jeveaux.ppt [modo de compatibilidade] · •quando construímos um teste de...

45
Testes de Software & Ferramentas para Testes

Upload: vuongdien

Post on 13-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Testes de Software

&

Ferramentas para

Testes

O que testar?

O que testar?

O que são testes?

• São pontuais;

• São previsíveis;

• São finitos;

• São (ou deveriam ser) simples;

O que são testes?

• Testes não verificam completamente a

saída de um programa pois as entradas

são finitas;

• Testes não são perfeitos para validação,

mas são a melhor opção para isso;

Tipo de testes

O que são testes?

White Box

Caixa branca

• Testes de unidade de código;

• Testam parte da solução;

• São escritos e mantidos pelo

programador e devem estar sempre

atualizados;

Caixa branca

• Quando construímos um teste de

unidade, o principal desafio é isolar a

classe ou intervalo de código que vai

ser testado, para que nenhuma outra

seja envolvida noclasse

teste

do sistema

e influencie no resultado

esperado.

O que são testes?

White Box

Black Box

Caixa preta

• Testes funcionais e de aceitação;

• Testes de integração;

• Testam a solução completa;

Cobertura de testes

Cobertura dos testes

Sem cobertura Com cobertura

• Nova release =códigos sem testes;

• Não há segurança de que as alterações não irão correr malem outros pontos da aplicação;

• Problemas, muitosproblemas;

Cobertura dos testes

• Dificilmente

cobertura de

consegue-se 100%

testes, contete-se

de

com

99%;

• Quanto maior a cobertura dos testes na

aplicação maior a confiabilidade nas

alterações e novos recursos;

Cobertura dos testes

bons testes• Aplicações cobertas por

propiciam:

– Facilidade de manutenção;

– Facilidade para inclusão de novos membros

na equipa de desenvolvimento;

– Menos problemas e redução de custos em

manutenções;

– Telefone silencioso nas madrugadas!

Testes são necessários

• Necessário verificar o código, sempre;

• Necessário garantir que os requisitos

estão implementados (e corretos);

• Necessário ter segurança para realizar

alterações;

Testes são necessários

• Necessário testar rápido para entregar

rápido;

• Aumento da garantia de qualidade da solução

com testes;

• Necessário ser criativo para explorar o

máximo possível com testes, não usar testes

mentirosos;

Garantir o que se faz

• Cliente:

– Isto não funciona funciona!

• Programador:

máquina estava– Mas como!? Na minha

funcionar ontem.

Garantir nosso trabalho, ser

profissional

mundo

não há

Realidade!

• O cliente não quer

saber se X é Y. Ele

Errado!

• Numcapitalizado

tempo para testes;

• O cliente não quer

saber como é feito, ele

quer que funcione

acontecer que

quer que o problema

não aconteça e se

seja

corrigido rapidamente;

conseguee

sem

• Não se

qualidade

confiabilidade

testes;

Testes + Software Livre

Rapidez nos

resultados.

Repetição

exaustiva de

testes.

Facilita o

armazenamento e

execução dos casos

de testes.

Geração de

logs de

execuções.

Reprodução

fiel dos testes.

Beneficios

Ferramentas VS Ciclo Vida

Gestão de Projetos

Ferramentas Open Source

ProjectKoach - http://www.projectkoach.com/

php-collab - http://www.php-collab.org

GanttProject - http://ganttproject.biz/

]project-open[ - http://www.project-open.com/

OpenWorkbench - http://www.openworkbench.org/

XPlanner - http://www.xplanner.org/

WebCollab - http://webcollab.sourceforge.net/

Mindquarry - http://www.mindquarry.com/

Gestão de Testes

Ferramentas Open Source

TestLink - http://www.teamst.org/

QaManager - http://qamanager.sourceforge.net/

rth - http://www.rth-is-quality.com

TestMaster - http://testmaster.sourceforge.net/

Testitool - http://majordojo.com/testitool/

Test Case Web (TCW) - http://tcw.sourceforge.net/

Testopia - http://www.mozilla.org/projects/testopia/

Gestão de Defeitos

Ferramentas Open Source

Mantis - http://www.mantisbt.org/

Bugzilla - http://www.bugzilla.org/

Scarab - http://scarab.tigris.org/

BugNET - http://www.bugnetproject.com/

TRAC - http://trac.edgewall.org/

Redmine – http://www.redmine.org

Gestão de Versões

Ferramentas Open Source

TortoiseCVS http://www.tortoisecvs.org/

WinCVS - http://www.wincvs.org/

Subversion - http://subversion.tigris.org/

darcs - http://darcs.net/

Automação de Testes

Ferramentas Open SourceTestes Funcionais

Selenium (WEB) - http://www.openqa.org/selenium/

actiWATE (WEB) - http://www.actiwate.com/

Marathon (Java Swing) - http://www.marathontesting.com/marathon/

Watir (WEB) - http://wtr.rubyforge.org/

Canoo WEBTest (WEB) - http://WEBtest.canoo.com/

Apodora (WEB) - http://www.apodora.org/

Abbot (Java Swing) - http://abbot.sourceforge.net

SoapUI (WEBServices) - http://www.soapui.org/

SOAPSonar Personal Edition (WEBServices) - http://www.crosschecknet.com/

LISA WS-Testing (WEBServices) -http://www.itko.com/site/products/lisa/ws_testing.jsp

Squish for KDE (Linux) - http://www.froglogic.com

SharpRobo (WinForm .NET) - http://confluence.public.thoughtworks.org/display/SHRO/Home

FitNesse - http://fitnesse.org/

Ferramentas Open SourceTestes Carga, Stress e Performance

OpenSTA - http://www.opensta.org/

JMeter - http://jakarta.apache.org/jmeter/index.html

Microsoft WEB Application Stress Tool -

http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-

439e-a67d-75a89aa36495&DisplayLang=en

WEBLOAD - http://www.WEBload.org/

The Grinder - http://grinder.sourceforge.net/

Ferramentas Open SourceTestes Carga, Stress e Performance

OpenSTA - http://www.opensta.org/

JMeter - http://jakarta.apache.org/jmeter/index.html

Microsoft WEB Application Stress Tool -

http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-

439e-a67d-75a89aa36495&DisplayLang=en

WEBLOAD - http://www.WEBload.org/

The Grinder - http://grinder.sourceforge.net/

Ferramentas

JUnit

• É um frameworkutilizado

de testes

na criação

unitários

altamente eficaz e

e

de

largamente

execução

códigos;

Um teste com

JUnit

public class HelloWorldTest {

@Test public void testMultiplication() {

//Testar se 2*2 = 4

assertEquals ("Multiplication", 4, 2*2);

}

}

Selenium

• Ferramenta para realização de testes

integrados e de aceitação;

• Usado no browser, grava todos os passos

executados na aplicação diretamente no

browser e os executa de forma

automatizada no browser;

Selenium

JMeter

• Propósito principal para testes de carga

e stress de aplicações;

• Pode ser usado para testes integrados e

de aceitação;

JMeter

Clover

• Ferramenta para análise de cobertura

dos testes na aplicação;

• Integrado a várias IDEs - Eclipse

• Existem diversas opções semelhantes:

JCoverage, Cobertura, etc;

Clover