Testes de software para desenvolvedores de software

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

Transcript of Testes de software para desenvolvedores de software

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