Top Banner
Testes de So)ware para desenvolvedores de so)ware Fundamentos e Prá/cas Sergio Lima Ruby Developer Scrum team member Junho de 2017
57

Testes de software para desenvolvedores de software

Jan 21, 2018

Download

Software

Sergio Lima
Welcome message from author
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
Page 1: Testes de software para desenvolvedores de software

TestesdeSo)wareparadesenvolvedoresdeso)ware

FundamentosePrá/cas

SergioLimaRubyDeveloper

ScrumteammemberJunhode2017

Page 2: Testes de software para desenvolvedores de software

TestesdeSo)wareAgenda

1. Minhaexperiênciacomtestes2. OQueéTestedeSo)ware3. Porquerazãotemosquetestar?4. Fundamentos5. Oquetestesdeso)warepodemindicar…

6. Oquepodesertestado?

Page 3: Testes de software para desenvolvedores de software

TestesdeSo)wareAgenda

7.Mindsetsdiferentes:DeveloperxTester8.AWvidadesdoTeste.Duasgrandesramificações.9.NíveisouFasesdoTeste.10.TécnicasdeModelagemdeTeste.

Page 4: Testes de software para desenvolvedores de software

Minhaexperiênciacomtestes

Page 5: Testes de software para desenvolvedores de software

Minhaexperiênciacomtestes

Page 6: Testes de software para desenvolvedores de software

Minhaexperiênciacomtestes

•  TestesautomaWzadosemRubyeemRubyOnRails.

•  Curso“FundamentosdoTestedeSo)ware”.

•  PreparaçãoparaoexameCTFL,CerWfiedTesterFoundaWonLevel.

Page 7: Testes de software para desenvolvedores de software

O Que é Teste de Software

Page 8: Testes de software para desenvolvedores de software

O Que é Teste de Software

“Testaréanalisarumprogramacomaintençãodedescobrirerrosedefeitos.”(GlenfordMyers)

Page 9: Testes de software para desenvolvedores de software

O Que é Teste de Software

“TesteéoprocessoqueconsisteemtodasasaWvidadesdociclodevida,tantoestáWcasquantodinâmicas,voltadasparaoplanejamento,preparaçãoeavaliaçãode…so)ware…afimdedeterminarseelassaWsfazemosrequisitosespecificados…”(GlossáriodetermosdoISTQB,TheInternaWonalSo)wareTesWngQualificaWonsBoard.)

Page 10: Testes de software para desenvolvedores de software

Porquerazãotemosquetestar?

Page 11: Testes de software para desenvolvedores de software

Porquerazãotemosquetestar?

•  Qualaorigemdanecessidadedostestes?

•  Ondenasceessanecessidade?

•  Qualaorigem?

Page 12: Testes de software para desenvolvedores de software

Porquerazãotemosquetestar?

•  Erros?•  Comoaparecemoserros?•  Podemosparardeproduzirerros?

Page 13: Testes de software para desenvolvedores de software

Porquerazãotemosquetestar?

“OserhumanoéincapazderealizaraWvidadessemerros.”

Page 14: Testes de software para desenvolvedores de software

Porquerazãotemosquetestar?

Principalcausadasfalhas:•  Processodedesenvolvimentoimaturo.•  Pressãodotempodeentrega.•  Falhasnacomunicação.•  Problemasemrequisitos:

•  Faltadedefiniçãoounãodocumentados.

Page 15: Testes de software para desenvolvedores de software

Fundamentos

Page 16: Testes de software para desenvolvedores de software

Questão

Emrelaçãoaerro,defeitoefalha,deformaconceitual:1. Sãoamesmacoisa,portanto,sinônimos.2. Sãodiferentesconceitualmente.3. Erroedefeitosãoamesmacoisa.4. Erroefalhasãoamesmacoisa.5. Defeitoefalhasãoamesmacoisa.

Page 17: Testes de software para desenvolvedores de software

Erro,Defeito,FalhaErro(error):Açãohumanaqueproduzumresultadoincorreto.Podeocorreremqualquerfasedodesenvolvimentodoso)ware.Defeito(fault):Seexecutado,oerropodecausarumafalha.Éofamoso‘bug’.Falha(failure):Éodefeitoencontrado.Diferençaentreoesperadoeoobservado.Podesercausadopeloambiente.

Page 18: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Erro(error):<|>/\…produzumerroecriaumDefeito(fault):…épossivelquecauseumaFalha(failure):

Page 19: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Page 20: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Page 21: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Comoexemplo,filmes2001e2010

2010:

Page 22: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Comoexemplo,filmeHer

Page 23: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Comoexemplo,filmeHer

Page 24: Testes de software para desenvolvedores de software

Erro,Defeito,Falha

Comoexemplo,filmeHer

Page 25: Testes de software para desenvolvedores de software

Oquetestesdeso)warepodemindicar…

Page 26: Testes de software para desenvolvedores de software

Oquetestesdeso)warepodemindicar…

SabendoadiferençaentreErro,DefeitoeFalha,oquetestesdeso)warepodemindicar?

Page 27: Testes de software para desenvolvedores de software

Oquetestesdeso)warepodemindicar…

"Testespodemindicarfalhasnoso)waremasnãopodemindicarapresençadeerros."

Page 28: Testes de software para desenvolvedores de software

Oquepodesertestado?

Page 29: Testes de software para desenvolvedores de software

Oquepodesertestado?

•  Testedeso)warenãoéaplicadoapenasparaso)ware.

•  Qualquerartefatodeso)warepodesertestado.

Page 30: Testes de software para desenvolvedores de software

Oquepodesertestado?

Qualquerartefatodeso)ware:•  Especificação:

•  deRequisitos•  Funcional•  Técnica

•  Código-fonte.•  Planodeteste,casodeteste,scriptsdeteste.•  Manualdousuário.•  Materialdesuporte.•  Outros.

Page 31: Testes de software para desenvolvedores de software

Oquepodesertestado?

•  Importante:quantomaiscedooerrofordetectado,melhor.

Page 32: Testes de software para desenvolvedores de software

Mindsetsdiferentes:DeveloperxTester

Page 33: Testes de software para desenvolvedores de software

Mindsetsdiferentes:DeveloperxTester

Developer|<|>|/\

Aorealizartestesprocurao

funcionamentodosistema

RESULTADOdefeitos

Page 34: Testes de software para desenvolvedores de software

Mindsetsdiferentes:DeveloperxTester

Tester|<|>|/\

Aorealizartestesprocuradefeitos

nosistemaRESULTADO

Menosdefeitos

Page 35: Testes de software para desenvolvedores de software

Mindsetsdiferentes:DeveloperxTester

“Testaréanalisarumprogramacomaintençãodedescobrirerrosedefeitos.”(GlenfordMyers)Testeéfeitoparaprovarqueoso)ware

nãofunciona.•  Developer:construireprovarqueo

so)warefunciona.•  Tester:realizartesteseprovarqueo

so)warenãofunciona.

Page 36: Testes de software para desenvolvedores de software

Mindsetsdiferentes:DeveloperxTester

Propostaparaumnovomindsetparaodeveloper:•  construiroso)wareeprovarquenão

funciona.

Page 37: Testes de software para desenvolvedores de software

AWvidadesdoTeste.Duasgrandesramificações.

Page 38: Testes de software para desenvolvedores de software

AWvidadesdoTeste.Duasgrandesramificações.

TesteEstá/co TesteDinâmicoStaWcTesWng DynamicTesWng

Revisão,inspeção,análiseemqualquerdocumentaçãooucódigofonte.

Necessitaqueoso)wareseja

executado.MaisuWlizadoporempresasdeso)ware.

Page 39: Testes de software para desenvolvedores de software

NíveisouFasesdoTeste.

Page 40: Testes de software para desenvolvedores de software

NíveisouFasesdoTeste.1)  Unidades:AplicarTestesunitários

2)UnidadesIntegradas:AplicarTestesdeIntegração

3)SistemaIntegrado:AplicarTestesdeSistema

4)Sistemapronto:Aplicar

testesdeaceitação.

Page 41: Testes de software para desenvolvedores de software

NíveisouFasesdoTeste.Teste

UnitárioTestedeintegração

TestedeSistema

TestedeAceitação

Testarcomponentesouunidadesdeformaisolada.

Testaraintegraçãodasunidadesqueforamtestadasisoladamente.

Provarqueosistemanãofunciona.Testarrequisitosfuncionaisenão-funcionais.

Testedeaceitaçãoouhomologação.Obterahomologaçãodocliente.

EspecificaçõesTécnicaseCódigoFonte

Requisitosdenegócio,funcionaisenão-funcionais

Page 42: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

Page 43: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

Categoriasdastécnicasdemodelagemdeteste:•  TestedeCaixaPreta•  TestedeCaixaBranca

Page 44: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

Categoria:TestedeCaixaPreta•  Nãoseconsideraocomportamento

internodocomponentedeso)wareasertestado.

•  Dadosdeentradasãofornecidos,otesteéexecutadoeoresultadoobWdo.

Page 45: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

Categoria:TestedeCaixaBranca•  Analisaaestruturainternado

componentedeso)wareasertestado.

Page 46: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

•  ParWçãodeEquivalência(equivalenceparWWoning)

•  Análisedovalorlimite(boundaryvalueanalysis)

•  ObjeWvo:diminuireescolhertestesmaisrepresentaWvos.

Page 47: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

•  ParWçãodeEquivalênciaRegradaLATAM:viagemparacriança,de2a4anos,acompanhadacompessoamaior.

Par/çãoinválida Par/çãoinválidaPar/çãoválida

-3,-2,0,1 2,3,4 5,6,7,8,…

Page 48: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

•  AnálisedovalorlimiteBaseadanaexperiênciaquemostraqueoserrosacontecemmaisnasfronteirasdasparWções.

Par/çãoinválida Par/çãoinválidaPar/çãoválida

1 3 5

2 4

Valoresválidos

Page 49: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.describe … do describe … do context ‘when invalid values’ do context ‘and value is 1` do it ‘returns false` do expect(…).to be_falsy end context ‘and value is 5` do it ‘returns false` do expect(…).to be_falsy end end ...

Page 50: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.context ‘when valid values’ do context ‘and value is 2` do it ‘returns true` do expect(…).to be_truthy end context ‘and value is 3` do it ‘returns true` do expect(…).to be_truthy end end context ‘and value is 4` do it ‘returns true` do expect(…).to be_truthy end end end

Page 51: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

•  CasosdeTeste:•  Definiçãodeumconjuntode

entradas,•  condiçõesdeexecuçãoe•  resultadosesperados.•  Finalidadeèavaliarosrequisitos

especificadosdosistema.

Page 52: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

•  Exemplo:•  teladerecuperaçãodesenhada

guideinvesWmentos•  hzps://

cliente.guideinvesWmentos.com.br/recuperando-senha

Page 53: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.

Entradas 1 2 3 4 5 6

E-mailválido N N N S S S

CPFválido N S S N S S

Dt.Nascválida N S N S N S

Resultadoesperado

Mensagemdecampo“inválido”

S S S S S N

Page 54: Testes de software para desenvolvedores de software

TécnicasdeModelagemdeTeste.Entradas 1 2 3 4 5 6

E-mailválido N N N S S S

CPFválido N S S N S S

Dt.Nascválida N S N S N S

Resultadoesperado

Mensagemdecampo“inválido”

S S S S S N

ResultadoobWdo OK OK OK NOK OK OK

Page 55: Testes de software para desenvolvedores de software

FundamentosePrá/cas

Dúvidas,comentários?

TestesdeSo)wareparadesenvolvedoresdeso)ware

Page 56: Testes de software para desenvolvedores de software

FundamentosePrá/cas

Thanks!

TestesdeSo)wareparadesenvolvedoresdeso)ware

Page 57: Testes de software para desenvolvedores de software

FundamentosePrá/cas

Bibliografia:•  TerminologiadotestepadrãoBS7925-1.•  Glossário:

-  InternaWonalSo)wareTesWngQualificaWonsBoard(ISTQB®)-  hzp://www.istqb.org/-  GLOSSÁRIOPADRÃODETERMOSUTILIZADOSEMTESTEDESOFTWARE-  Emportuguês:BSTQB

TestesdeSo)wareparadesenvolvedoresdeso)ware