Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia [email protected].

40
Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia Prof. Luís Fernando Garcia [email protected] [email protected]

Transcript of Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia [email protected].

Page 1: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Engenharia de Software

Teste de SoftwareParte 2

Prof. Luís Fernando GarciaProf. Luís Fernando [email protected]@GARCIA.PRO.BR

Page 2: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Parte 2:Parte 2:

Automação de TestesAutomação de Testes Ferramentas de TestesFerramentas de Testes Testes ÁgeisTestes Ágeis Testes na NuvemTestes na Nuvem MPT.BRMPT.BR Profissionais de TestesProfissionais de Testes

Page 3: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

““aplicação de estratégias e aplicação de estratégias e ferramentas tendo em vista a redução ferramentas tendo em vista a redução do envolvimento humano em do envolvimento humano em atividades manuais repetitivas” (Cen atividades manuais repetitivas” (Cen Kaner)Kaner)

FOCO na amplitude/escopo, não na FOCO na amplitude/escopo, não na velocidade dos testesvelocidade dos testes

Page 4: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Boas Práticas:Boas Práticas: Automatizar testes críticos primeiro ...Automatizar testes críticos primeiro ... Nem todos os testes “valem a pena” serem automatizados ...Nem todos os testes “valem a pena” serem automatizados ... Incorpore “testabilidade” à aplicação ...Incorpore “testabilidade” à aplicação ... Ferramentas de testes também são software ...Ferramentas de testes também são software ... Criar infra-estrutura adequada, Ambiente isolado e controlado e Criar infra-estrutura adequada, Ambiente isolado e controlado e

Massa de dados consistente ...Massa de dados consistente ... Crie um “projeto de automação de testes” ...Crie um “projeto de automação de testes” ... Alinhe e motive envolvidos ...Alinhe e motive envolvidos ... Investimento de longo prazo ...Investimento de longo prazo ... Teste manual é insubstituível ...Teste manual é insubstituível ...

Page 5: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Principal aplicação:Principal aplicação:

Testes Regressão Testes Regressão (re-testes de (re-testes de funcionalidades mediante inclusão funcionalidades mediante inclusão de novas funcionalidades ou de novas funcionalidades ou correção de defeitos)correção de defeitos)

Page 6: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Paradigmas:Paradigmas:

Testes funcionaisTestes funcionais Testes unitáriosTestes unitários Testes de performanceTestes de performance Outros ...Outros ...

Page 7: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Paradigmas:Paradigmas:

Page 8: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Capture/PlaybackCapture/Playback Captura a utilização da aplicação pelo Captura a utilização da aplicação pelo

usuário .. usuário .. Geram um script ...Geram um script ... Reproduzem posteriormente ...Reproduzem posteriormente ...

Não requerem alterações na aplicação ...Não requerem alterações na aplicação ... Dependem fortemente da interface gráfica ...Dependem fortemente da interface gráfica ...

Page 9: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Data DrivenData Driven Executam a mesma ação repetidamente Executam a mesma ação repetidamente

porém com dados diferentes ... porém com dados diferentes ...

Page 10: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Keyword DrivenKeyword Driven Foco em testes de aceitaçãoFoco em testes de aceitação Foco em metodologias ágeis Foco em metodologias ágeis Permite a escrita de testes baseados em Permite a escrita de testes baseados em

palavras-chave que representam ações do palavras-chave que representam ações do usuário (PASSOS) como abrir um browser usuário (PASSOS) como abrir um browser web, digitar a URL, cliques em botões etc web, digitar a URL, cliques em botões etc

Page 11: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Keyword DrivenKeyword Driven SeleniumSelenium IDE IDE

Page 12: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Linha de ComandoLinha de Comando Não dependente da Interface GráficaNão dependente da Interface Gráfica Criação de ScriptsCriação de Scripts

Page 13: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Baseados em APIBaseados em API Não dependente da Interface GráficaNão dependente da Interface Gráfica Maior profundidade/poderMaior profundidade/poder Evolução dos baseados em linha de Evolução dos baseados em linha de

comandocomando

Page 14: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Test HarnessTest Harness Baseado na lógica de negócioBaseado na lógica de negócio Composto de:Composto de:

• API ou gancho no programa originalAPI ou gancho no programa original• Programa testador Programa testador

Funcionamento:Funcionamento:

Page 15: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Exemplo Exemplo de de FuncionaFuncionamento:mento:

Page 16: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Automação de TestesAutomação de Testes

Page 17: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Ferramentas de TestesFerramentas de Testes

Page 18: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Ferramentas de TestesFerramentas de Testes

Page 19: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes ÁgeisTestes Ágeis

Page 20: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes ÁgeisTestes Ágeis

Os testes ágeis devem seguir as pequenas iterações, Os testes ágeis devem seguir as pequenas iterações, para que os defeitos sejam rapidamente identificados e para que os defeitos sejam rapidamente identificados e corrigidos. Os mesmos princípios utilizados no corrigidos. Os mesmos princípios utilizados no direcionamento do desenvolvimento ágil devem ser direcionamento do desenvolvimento ágil devem ser considerados quando os testes ágeis são adotados, ou considerados quando os testes ágeis são adotados, ou seja, testar de forma ágil exige uma forte adaptação na seja, testar de forma ágil exige uma forte adaptação na rotina e dinâmica da equipe de teste, com o objetivo de rotina e dinâmica da equipe de teste, com o objetivo de proporcionar um processo mais leve e que possa ser proporcionar um processo mais leve e que possa ser executado com maior facilidade e agilidade. Os testes executado com maior facilidade e agilidade. Os testes ágeis observam um conjunto de práticas que ágeis observam um conjunto de práticas que proporcionam a redução do tempo entre o erro e a sua proporcionam a redução do tempo entre o erro e a sua descoberta. descoberta.

Page 21: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes ÁgeisTestes Ágeis

Diferenças Tradicionais x ÁgeisDiferenças Tradicionais x Ágeis

Page 22: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes ÁgeisTestes Ágeis

Page 23: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes ÁgeisTestes Ágeis

Page 24: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes na Nuvem / Cloud TestingTestes na Nuvem / Cloud Testing

Teste Teste usando a nuvemusando a nuvem: Nesta categoria, o teste : Nesta categoria, o teste de software migra para a nuvem e os recursos de software migra para a nuvem e os recursos computacionais da nuvem são utilizados para computacionais da nuvem são utilizados para potencializar a profundidade, amplitude e a potencializar a profundidade, amplitude e a escala do teste de software.escala do teste de software.

Teste Teste da nuvemda nuvem: Nesta categoria são tratados os : Nesta categoria são tratados os desafios da implementação de uma estratégia desafios da implementação de uma estratégia para a realização de testes em aplicações para a realização de testes em aplicações residentes nas nuvens.residentes nas nuvens.

Page 25: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes na NuvemTestes na Nuvem

Teste Teste usando a nuvemusando a nuvem::

Potencializa a Profundidade, Amplitude e Potencializa a Profundidade, Amplitude e Escala do teste ...Escala do teste ...

EconomiaEconomia Dinamicidade / AdaptabilidadeDinamicidade / Adaptabilidade Diversidade de combinaçõesDiversidade de combinações ......

Page 26: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes na NuvemTestes na Nuvem

Teste Teste da nuvemda nuvem: :

Ambiente distribuídoAmbiente distribuído MultiusuárioMultiusuário EscalávelEscalável Alta disponibilidadeAlta disponibilidade Infraestrutura compartilhadaInfraestrutura compartilhada Alto volume de usuáriosAlto volume de usuários Usuários sem treinamentoUsuários sem treinamento

Page 27: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Testes na NuvemTestes na Nuvem

Testando:Testando:

FuncionalidadeFuncionalidade InteroperabilidadeInteroperabilidade ConfiabilidadeConfiabilidade UsabilidadeUsabilidade EficiênciaEficiência SegurançaSegurança CompatibilidadeCompatibilidade DesempenhoDesempenho EscalabilidadeEscalabilidade ConformidadeConformidade

Page 28: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

MPT.BRMPT.BR

Page 29: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

MPT.BRMPT.BR

Page 30: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

MPT.BRMPT.BR

Page 31: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Competências do profissional de testesCompetências do profissional de testes

Page 32: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 33: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 34: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 35: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

O testador deve ser diplomático, ou seja, utilizar bons modos e delicadeza para conduzir uma questão, pois, querendo ou não, na maioria das vezes, é portador de más notícias. Conforme [LOVELAND], terá que dizer ao desenvolvedor “The baby is ugly!”.

Page 36: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Coordenador de TestesCoordenador de Testes Automatizador de TestesAutomatizador de Testes Arquitetos de TestesArquitetos de Testes

– Definição das técnicas de testes ... Definição das técnicas de testes ...

Analistas de TestesAnalistas de Testes– Criação de casos de testes ...Criação de casos de testes ...

TestadoresTestadores– Executam os testes ...Executam os testes ...

Page 37: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 38: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 39: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

Profissionais de TestesProfissionais de Testes

Page 40: Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR.

ReferênciasReferências

CAETANO, Cristiano. Introdução à Automação de Testes. Revista Engenharia CAETANO, Cristiano. Introdução à Automação de Testes. Revista Engenharia de Software/Devmedia. 4ª. Edição. de Software/Devmedia. 4ª. Edição.

CAETANO, Cristiano. Melhores práticas na Automação de Testes. Revista CAETANO, Cristiano. Melhores práticas na Automação de Testes. Revista Engenharia de Software/Devmedia. 5ª. Edição.Engenharia de Software/Devmedia. 5ª. Edição.

LAGES, Daniel. Profissional da área de testes. Revista Engenharia de LAGES, Daniel. Profissional da área de testes. Revista Engenharia de Software/Devmedia. 18ª. Edição.Software/Devmedia. 18ª. Edição.

PATUCI, Gabriela. Seus testes são ágeis? Revista Engenharia de PATUCI, Gabriela. Seus testes são ágeis? Revista Engenharia de Software/Devmedia. 34ª. Edição.Software/Devmedia. 34ª. Edição.

CAETANO, Cristiano. Testes nas Nuvens. Revista Engenharia de CAETANO, Cristiano. Testes nas Nuvens. Revista Engenharia de Software/Devmedia. 46ª. Edição. Software/Devmedia. 46ª. Edição.

MORAIS, Lenildo. Migrando de testes tradicionais para testes ágeis. Revista MORAIS, Lenildo. Migrando de testes tradicionais para testes ágeis. Revista Engenharia de Software/Devmedia. 48ª. Edição. Engenharia de Software/Devmedia. 48ª. Edição.

CAETANO, Cristiano. Testes Ágeis. Revista Engenharia de Software/Devmedia. CAETANO, Cristiano. Testes Ágeis. Revista Engenharia de Software/Devmedia. 48ª. Edição. 48ª. Edição.