Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia [email protected].
Transcript of Engenharia de Software Teste de Software Parte 2 Prof. Luís Fernando Garcia [email protected].
Engenharia de Software
Teste de SoftwareParte 2
Prof. Luís Fernando GarciaProf. Luís Fernando [email protected]@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
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
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 ...
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)
Automação de TestesAutomação de Testes
Paradigmas:Paradigmas:
Testes funcionaisTestes funcionais Testes unitáriosTestes unitários Testes de performanceTestes de performance Outros ...Outros ...
Automação de TestesAutomação de Testes
Paradigmas:Paradigmas:
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 ...
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 ...
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
Automação de TestesAutomação de Testes
Keyword DrivenKeyword Driven SeleniumSelenium IDE IDE
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
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
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:
Automação de TestesAutomação de Testes
Exemplo Exemplo de de FuncionaFuncionamento:mento:
Automação de TestesAutomação de Testes
Ferramentas de TestesFerramentas de Testes
Ferramentas de TestesFerramentas de Testes
Testes ÁgeisTestes Ágeis
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.
Testes ÁgeisTestes Ágeis
Diferenças Tradicionais x ÁgeisDiferenças Tradicionais x Ágeis
Testes ÁgeisTestes Ágeis
Testes ÁgeisTestes Ágeis
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.
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 ......
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
Testes na NuvemTestes na Nuvem
Testando:Testando:
FuncionalidadeFuncionalidade InteroperabilidadeInteroperabilidade ConfiabilidadeConfiabilidade UsabilidadeUsabilidade EficiênciaEficiência SegurançaSegurança CompatibilidadeCompatibilidade DesempenhoDesempenho EscalabilidadeEscalabilidade ConformidadeConformidade
MPT.BRMPT.BR
MPT.BRMPT.BR
MPT.BRMPT.BR
Profissionais de TestesProfissionais de Testes
Competências do profissional de testesCompetências do profissional de testes
Profissionais de TestesProfissionais de Testes
Profissionais de TestesProfissionais de Testes
Profissionais de TestesProfissionais de Testes
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!”.
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 ...
Profissionais de TestesProfissionais de Testes
Profissionais de TestesProfissionais de Testes
Profissionais de TestesProfissionais de Testes
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.