SlideShare uma empresa Scribd logo
(48) 4052-9536 / 9540
 contato@qualister.com.br

• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
                                            Palestra
                                   Automação de testes de aceitação
                                      com BDD (Behavior Driven
                                   Development) e ATDD (Acceptance
                                       Test Driven Development)



  www.qualister.com.br
Direitos autorais




www.qualister.com.br
Instrutor

                       Cristiano Caetano
                       Email: cristiano.caetano@qualister.com.br
                       Apresentações: slideshare.net/cristianocaetano
                       Blog: cristianocaetano.wordpress.com
                       É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já
                       trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent.
                       É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS:
                       Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de
                       Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo
                       da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua
                       comunidade gratuita de teste e qualidade de software (www.testexpert.com.br).




www.qualister.com.br
Twitter




             twitter.com/c_caetano




www.qualister.com.br

Recomendado para você

Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose

[1] O documento discute o uso da ferramenta Docker Compose para definir e executar aplicações com múltiplos contêineres, permitindo testar software de forma isolada e reproduzível. [2] Ele apresenta exemplos de como usar o Docker Compose para rodar testes de API, UI, segurança e fumaça junto com uma aplicação e seus serviços dependentes. [3] O documento também destaca pontos de atenção ao usar essa abordagem, como logs, volumes, tempo de inicialização e geração de imagens leves.

dockercontainerizationdocker compose
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes

Este documento fornece uma introdução aos principais conceitos de automação de testes, incluindo os estágios iniciais, a pirâmide de automação de testes, a importância dos testes de unidade e de serviço para fornecer feedback rápido, e exemplos de ferramentas populares. O documento também discute os desafios dos testes de interface do usuário e fornece um exemplo prático de automação de testes.

selenium webdriverjunitrest assured
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software

O documento apresenta as tendências em teste de software. O palestrante Cristiano Caetano, especialista em teste e qualidade de software, irá apresentar as principais tendências em testes web, APIs, mobile e na nuvem, incluindo ferramentas e sites relacionados a cada área.

testing
Facebook




facebook.com/ccristiano.caetano



www.qualister.com.br
Apresentação




www.slideshare.net/cristianocaetano




www.qualister.com.br
Sobre a Qualister

•      Fundação: 2007.
•      Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
       de profissionais qualificados e certificados na área de testes e qualidade de
       software, com o objetivo de integrar, implementar e implantar soluções com base nas
       melhores práticas do mercado e normas internacionais.
•      Colaboradores: A Qualister é composta por colaboradores pós-graduados e
       certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
       Tecnologia da Informação.
•      Área de atuação: A Qualister é uma empresa especializada em serviços de
       qualidade e teste de software. Tem como linhas de atuação consultoria em
       teste/qualidade de software, outsourcing (terceirização dos serviços através da
       alocação de profissionais) e treinamentos.
•      Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e
       está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da
       universidade UNIVALI.




    www.qualister.com.br
Parcerias internacionais


                        Soluções para automação, profilling e gestão




                       Soluções para testes de performance




                        Soluções de apoio a avaliação de usabilidade




www.qualister.com.br

Recomendado para você

Latinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open sourceLatinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open source

This document discusses continuous delivery using open source tools. It introduces Stefan Teixeira and provides his contact information. It then discusses using GoCD, an open-source continuous delivery tool created by ThoughtWorks, to model pipelines. It provides examples of modeling deployment pipelines and blue-green deployments. Finally, it lists additional tools that can be used for tasks like infrastructure as code, service discovery, configuration management, load testing and mutation testing.

continuous deliverydevopscontinuous integration
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem Natural

O documento discute o processamento probabilístico de linguagem em 3 frases. Primeiro, apresenta modelos probabilísticos como unigramas, bigramas e trigramas para definir a probabilidade de cadeias de palavras. Em seguida, explica como gramáticas probabilísticas livres de contexto podem gerar árvores de probabilidade para cadeias de palavras. Por fim, discute como sistemas de recuperação de informação usam modelos de linguagem probabilística para ordenar documentos por relevância em relação a uma consulta.

pln
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes

Este documento fornece uma introdução aos estágios iniciais de automação de testes, incluindo a pirâmide de automação de testes, a importância do feedback rápido, dicas sobre testes de unidade, serviço e interface do usuário, além de recomendar ferramentas e um projeto de exemplo.

testes de uirest assuredtestes automatizados
Tópico




                       Testes unitários e TDD
                          (Desenvolvimento
                         dirigido por testes)



www.qualister.com.br
Testes unitários




                                  Classe                               Setup

  Mocks/Stubs                                                         Exercise
                                        Método(a, b, c): d
                                                                       Verify

                                                                      Teardown




                  http://xunitpatterns.com/Four%20Phase%20Test.html
www.qualister.com.br
Testes unitários




www.qualister.com.br
Test Driven Development (Desenvolvimento dirigido por testes)

• Test Driven Development é uma prática de desenvolvimento de
  software em que os testes unitários automatizados são escritos antes do
  código.




www.qualister.com.br

Recomendado para você

TDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e PromisesTDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e Promises

This document discusses using Supertest and Promises to test REST APIs. Supertest is a simple library created by TJ Holowaychuk that allows testing of HTTP requests on an Express server without needing to start the server. It is independent of any test runner. The document provides examples of GET and POST requests. It also introduces supertest-as-promised, which allows writing tests with Promises to avoid "callback hell". An example project for demonstrating Supertest is linked. In conclusion, the author thanks the audience.

supertestpromisesapi testing
Ágiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous DeliveryÁgiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous Delivery

This document discusses using open source tools to support continuous delivery. It describes using GoCD for continuous delivery pipelines. GoCD is open source, created by ThoughtWorks, and focused specifically on continuous delivery. It also discusses using blue-green deployments with tools like Docker and Nginx for zero-downtime deployments. Finally, it provides references to additional open source tools that can be used for tasks like infrastructure as code, configuration management, load testing, and API testing in continuous delivery pipelines.

continuous integrationdevopstest automation
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...

O documento discute a aplicação de técnicas de processamento de linguagem natural para aprimorar a ferramenta de automação de testes Pyccuracy, substituindo seu mecanismo atual de reconhecimento de palavras naturais por expressões regulares por processamento de linguagem natural.

processamento de linguagem naturalartificial intelligencepyccuracy
Tópico




                   BDD (Desenvolvimento
                        dirigido por
                      comportamento)



www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)


              •        Dan North, criador do BDD (Desenvolvimento dirigido por
                       comportamento) percebeu que os testes deveriam ser descritos em
                       sentenças/frases representando o comportamento esperado pelo
                       sistema ao invés de nomes de métodos




                  Testes descritos em nomes de métodos

                  TestComprarPassagemPromocionalSomenteIdaParaUmAdultoVooDisponivel
                  TestComprarPassagemPromocionalIdaEVoltaParaUmAdultoVooDisponivel
                  TestComprarPassagemFlexSomenteIdaParaUmAdultoVooDisponivel




www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)


Estória: Compra de passagem via WEB
Como um (As a)
  Profissional da área de testes
Eu quero (I want to)
 Ir de avião para Florianópolis
Para que (So that)
 Eu possa participar de um evento sobre testes

                                  Teste de aceitação: Comprar passagem com sucesso
                                  Dado que (Given)
                                     Existem voos disponíveis para o trecho POA/FLN
                                     Existem assentos disponíveis nos voos
                                  Quando (When)
                                    Eu escolho a origem igual a Porto Alegre
                                   Eu escolho o destino igual a Florianópolis
                                   (...)
                                  Então (Then)
                                   A compra é realizada com sucesso
                                   O assento escolhido é reservado
 www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)




                         • Como transformar os
                           testes escritos em
                           linguagem natural em
                           testes/especificação
                           automatizados?




www.qualister.com.br

Recomendado para você

DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software

DevOps é um movimento que prega a maximização da comunicação entre equipes de desenvolvimento e operações, além da automação da infraestrutura e monitoração do software. Isso traz benefícios como agilidade nos testes e ambientes confiáveis. Na abordagem DevOps, os testadores contribuem automatizando testes e infraestrutura, melhorando a qualidade e velocidade de entrega de software.

dev-opstestetesting
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas

O documento apresenta conceitos e ferramentas para testes em webservices, abordando protocolos SOAP e REST, desafios no teste, tipos de teste e ferramentas de automação para teste de webservices.

apiwebsoap
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter

O documento discute testes de desempenho e carga em aplicações na nuvem usando as ferramentas JMeter e Blazemeter. É explicado que o JMeter é uma ferramenta open source amplamente usada para teste de carga e desempenho, mas requer muitas máquinas para simular muitos usuários. A solução proposta é usar recursos na nuvem do Blazemeter para executar scripts JMeter e simular grande quantidade de usuários sem necessidade de muitas máquinas locais.

jmetertestingperformance
Behavior Driven Development (Desenvolvimento dirigido por comportamento)



• No BDD, os testes de aceitação são descritos em
  linguagens naturais próximas do domínio do negócio
  usando DSL´s.
    – DSL (Domain Specific Language) – Linguagens
      específicas de um domínio.

• Exemplo em terminologia náutica:
   – Proa = extremidade frontal do navio
   – Popa = extremidade posterior do navio
   – Bombordo = lado esquerdo do navio
   – Estibordo = lado direito do navio


www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)



•      SQL (Structured Query Language) é um exemplo clássico de DSL:


         – SELECT * FROM clientes WHERE codigo < 100

         – UPDATE clientes SET id = 51 WHERE nome = „José da Silva‟

         – SELECT * FROM clientes WHERE nome LIKE „%José%'




    www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)



• Para testes de aceitação usamos DSTL (Domain Specific Test
  Language) – Linguagens específicas de teste de um domínio.




www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)



• Para testes de aceitação usamos DSTL (Domain Specific Test
  Language) – Linguagens específicas de teste de um domínio.




www.qualister.com.br

Recomendado para você

Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker

Este documento apresenta os principais conceitos sobre Docker, incluindo imagens, containers, Dockerfiles e o ecossistema Docker. Resume os principais comandos da CLI Docker e fornece exemplos de Dockerfiles e projetos open source interessantes para aprender Docker.

dockercontainerizationdevops
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium

O documento fornece informações sobre automação de testes front-end com métodos ágeis. Apresenta conceitos como front-end, back-end, teste ágil, estratégias de teste, ferramentas como Selenium e CasperJS e técnicas como page objects, smoke tests e testes de regressão visual.

agiltest automationautomacao
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis

Este documento fornece um resumo das atividades e serviços oferecidos pela Qualister, uma empresa especializada em testes e qualidade de software. Em três frases ou menos, o documento descreve que a Qualister oferece terceirização de profissionais de teste, consultoria em teste, avaliação de usabilidade e treinamentos em teste e qualidade de software.

testesmétodoságeis
Behavior Driven Development (Desenvolvimento dirigido por comportamento)



•      Os testes descritos em linguagem natural são interpretados por ferramentas
       especializadas que, por sua vez, exercitam o código/API do sistema para
       demonstrar se o comportamento foi atendido.




                                                                        Código


                                                                          API

                                                                       Interface
                                                                        gráfica
                                         Codigo de suporte
              Testes de aceitação           “fixture” que
                em linguagem                 encapsula a
              natural na filosofia       implementação da
                                                                         Etc...
                      BDD                 ação descrita em
                                         linguagem natural




    www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)


                                                                                 2
                                                             Codigo de suporte
                                                                “fixture” que
                                                                 encapsula a
                                                             implementação da
                                                              ação descrita em
                                                             linguagem natural




 1
      Testes de aceitação
        em linguagem
      natural na filosofia
              BDD
                                                                   3
                                         Código/API do sistema
                                          sendo exercitado para
                                       validar um comportamento

www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)


• Existem dezenas de ferramentas que implementam a filosofia BDD no
  nível da unidade/código




                       http://en.wikipedia.org/wiki/Behavior_Driven_Development
                       http://blog.dannorth.net/introducing-bdd/
www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)




                       http://cukes.info/
www.qualister.com.br

Recomendado para você

Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis

Este documento fornece informações sobre um mini-curso sobre teste ágil, incluindo contatos do instrutor e da empresa organizadora, Qualister. O curso abordará como o teste ágil funciona na prática e os princípios do desenvolvimento ágil.

agile testingteste de softwarebdd
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?

O documento discute como os requisitos são especificados em metodologias ágeis. Apresenta user stories como uma forma de descrever requisitos de maneira sucinta, focada no valor para o usuário, e discute técnicas como modelagem de casos de uso para requisitos complexos.

metodologias Ágeis; especificação de requisitos
Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp

O documento apresenta uma técnica de desenvolvimento de software chamada BDD (Desenvolvimento Guiado por Comportamento) que utiliza linguagem natural para descrever casos de teste e permite a automação desses testes. A ferramenta Behat implementa BDD e permite rodar os casos de teste descritos em linguagem Gherkin, enquanto Mink simula interações com navegadores web e Selenium é um driver que controla navegadores para executar os testes automatizados.

Behavior Driven Development (Desenvolvimento dirigido por comportamento)




                       http://www.concordion.org/
www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)




www.qualister.com.br
                         http://jbehave.org/
Behavior Driven Development (Desenvolvimento dirigido por comportamento)




                       http://storyq.codeplex.com/
www.qualister.com.br
Behavior Driven Development (Desenvolvimento dirigido por comportamento)




                       http://www.thoughtworks-studios.com/agile-test-automation/features-benefits
www.qualister.com.br

Recomendado para você

Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes

O documento apresenta informações sobre a Qualister, uma empresa especializada em serviços de qualidade e teste de software. A Qualister oferece terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, o documento descreve técnicas de projeto de casos de teste, incluindo particionamento em classes de equivalência, análise de valores limítrofes e permutações.

especificaçãotest caseprojeto
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software

O mercado de engenharia de software está cada vez mais atraente e competitivo. Ao mesmo tempo que os jornais, revistas, pesquisas especializadas no mercado de trabalho mostram o forte crescimento no números de vagas de TI, mostra também um grande défict de profissionais especializados, no Brasil e no mundo. As certificações vêm se mostrando uma ótima oportunidade para o profissional se destacar no mercado, pois garantem que ele está investindo na sua carreira, que domina determinadas habilidades e está habilitado a trabalhar com conceitos e padrões internacionais. Conheça um pouco sobre as mais de trinta certificações que rodeiam a área de teste e qualidade de software e saiba qual é a ideal para a sua carreira.

ctglsoftware testingcste
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software

Este documento apresenta informações sobre a Qualister Consultoria e Treinamento LTDA, uma empresa especializada em serviços de qualidade e teste de software. Ele fornece detalhes sobre os serviços oferecidos pela empresa, como terceirização de testes, consultoria e treinamentos. Também discute brevemente sobre testes ágeis, enfatizando que não existe uma abordagem específica chamada "Testes Ágeis", mas sim a aplicação de técnicas de teste em métodos ágeis de desenvolvimento de software.

agiltestesagile
Tópico




                       ATDD



www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



• O ATDD é uma abordagem ágil de desenvolvimento onde a
  construção do software é guiada pelos testes de aceitação.

• Nesta técnica, os testes de aceitação são criados de maneira
  colaborativa e descritos em uma linguagem comum a todos os
  membros da equipe. Dessa forma, toda a equipe compartilha o
  mesmo entendimento do que deve ser feito, as restrições e as
  definições de "Pronto".

• Os testes são descritos em uma linguagem natural similar a
  linguagem do negócio e deve ser facilmente entendida pelo cliente.

• Os testes (critérios de aceitação) devem ser executáveis




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




• Etapas do ATDD:
     – Discutir (Discuss)
     – Refinar (Distill)
     – Desenvolver (Develop)




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



     – Discutir (Discuss)
            • Discutir colaborativamente com a equipe as restrições, assunções,
              premissas, expectativas, etc para definir os critérios de aceitação

     E se não houver
         assentos
      disponíveis no
           voo?



                                                                      Devemos exibir
                                                                      uma mensagem
                                                                      de alerta para o
                                                                         usuário?

                        Como vamos
                          validar os
                       mecanismos de
                         segurança?
www.qualister.com.br

Recomendado para você

Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos

A Qualister oferece serviços de qualidade e teste de software, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade e treinamentos. Os serviços incluem automação de testes, testes de performance e inspeção de artefatos. A empresa tem experiência em projetos para grandes empresas de tecnologia.

inspectioninspecaoreview
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos

A Qualister oferece serviços de qualidade e teste de software, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade e treinamentos. Os serviços incluem automação de testes, testes de performance e inspeção de artefatos. A empresa tem experiência em projetos para grandes empresas de tecnologia.

teste estáticoverificaçãorevisão
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis

A empresa Qualister oferece serviços de terceirização de profissionais de teste, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Ela fornece treinamentos sobre testes ágeis ministrados por Cristiano Caetano.

testeságeisagilidade
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



     – Refinar (Distill)
            • Refinar os critérios de aceitação em um conjunto concreto de
              cenários/exemplos de uso descrevendo o comportamento esperado da
              aplicação em uma linguagem comum a todos os membros da equipe


                       Teste de aceitação: Comprar passagem com sucesso
                       Dado que (Given)
                          Existem voos disponíveis para o trecho POA/FLN
                          Existem assentos disponíveis nos voos
                       Quando (When)
                         Eu escolho a origem igual a Porto Alegre
                        Eu escolho o destino igual a Florianópolis
                        (...)
                       Então (Then)
                        A compra é realizada com sucesso
                        O assento escolhido é reservado



www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



     – Desenvolver (Develop)
            • Transformar os testes de aceitação (descrevendo o comportamento
              esperado do software) em testes/especificação automatizados




                  Testes de aceitação
                    em linguagem
                  natural na filosofia
                          BDD

                                                          Testes
                                                      automatizados

www.qualister.com.br
Principais vantagens



                                                Cenários de
                                                   uso


                                                                       Exemplos
                          Expectativas
                                                                        de uso




                       Assunções                                           Limitações

                                         Linguagem Ubíqua



                                    Premissas                 Restrições

www.qualister.com.br
Principais vantagens




            Teste = Requisito
            Requisito = Teste

www.qualister.com.br

Recomendado para você

Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018

O documento descreve a estratégia de testes adotada pelo CESAR, conhecida como "Pirâmide de Testes Invertida", com foco em testes de interface do usuário e integração. A estratégia trouxe benefícios como detecção precoce de bugs e documentação, porém enfrentou desafios como tempo de execução longo e manutenção custosa. Melhorias futuras incluem reduzir testes manuais e end-to-end e fortalecer testes de unidade e integração.

agiletestestest
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing

A apresentação resume os serviços e treinamentos oferecidos pela empresa Qualister em testes ágeis, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade e automação de testes. Ela também descreve os princípios dos testes ágeis, como colaboração entre times, testes enxutos e contínuos.

agilagile testingagilidade
Brisa Qualidade e Testes de software
Brisa   Qualidade e Testes de softwareBrisa   Qualidade e Testes de software
Brisa Qualidade e Testes de software

O documento resume os serviços de qualidade e testes de software oferecidos pela empresa BRISA. A empresa possui processos maduros de teste e uma equipe experiente capaz de executar diferentes tipos de teste funcional e não funcional em diversas plataformas. A BRISA também fornece ferramentas, artefatos e relatórios de teste personalizados para atender as necessidades de cada cliente.

Principais vantagens



•      Testes de aceitação automatizados são usados como medida de progresso e
       indicador dos níveis de qualidade




                            Funcionalidade




    www.qualister.com.br
Tópico




                       Case



www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



• O problema
     – Sistema desenvolvido em tecnologia legada
     – Falta de arquitetura (OO, Frameworks, etc)
     – Equipe de testes sem experiência em programação


• A solução proposta
     – Testes na filosofia BDD/ATDD
     – Criação de um Framework de testes sob medida para permitir a criação
       de testes BDD/ATDD em um sistema com tecnologia legada




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)


•      Ferramentas de desenvolvimento dirigido por testes normalmente executam testes de comportamento no nível da
       unidade/código.

•      Para que os testes escritos em linguagem natural possam ser executados, é necessário que os programadores
       codifiquem “fixtures”, ou seja, o código de suporte que implementa nos métodos das classes do software as ações
       descritas em linguagem natural.




                                                                                                   Código


                                                                                                     API

                                                                                                  Interface
                                                                                                   gráfica
                                                       Codigo de suporte
              Testes de aceitação
                                                          “fixture” que
                em linguagem
              natural na filosofia
                                                      implementa a ação                             Etc...
                                                           descrita em
                      BDD
                                                       linguagem natural



    www.qualister.com.br

Recomendado para você

Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias

1. O documento discute estratégias para automação de testes de software, comparando testes manuais e automatizados e abordando considerações importantes para a implantação e manutenção de testes automatizados. 2. É apresentada uma introdução sobre testador vs desenvolvedor de testes, record e codificação, escopo de automação e o "universo D" de metodologias como TDD e BDD. 3. O valor da automação é discutido, assim como pontos para identificar o que automatizar versus não automatizar, considerações para a impl

testeautomacao de testestestes automatizados
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter

O documento fornece informações sobre os serviços de uma empresa de testes de software chamada Qualister, incluindo terceirização de profissionais, consultoria de teste, avaliação de usabilidade, automação de testes, testes de performance e treinamentos. Além disso, fornece detalhes de contato e links para o site da empresa.

stressjmetercarga
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior

O documento discute a carreira de desenvolvedor de software, desde júnior até sênior. Apresenta as principais responsabilidades de um desenvolvedor, como compreender requisitos, construir códigos, testar e implantar sistemas. Também explica como o mercado classifica os desenvolvedores de acordo com tempo de experiência e habilidades técnicas, e dá dicas sobre por onde começar a carreira nessa área.

desenvolvedorsoftwaresoftware development
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)


•      Ferramentas de desenvolvimento dirigido por testes normalmente executam testes de comportamento no nível da
       unidade/código.

•      Para que os testes escritos em linguagem natural possam ser executados, é necessário que os programadores
       codifiquem “fixtures”, ou seja, o código de suporte que implementa nos métodos das classes do software as ações
       descritas em linguagem natural.




                                                                                                   Código


                                                                                                     API
                                                                    Sistemas
                                                                             Interface

              Testes de aceitação
                                                                    Legados gráfica
                                                       Codigo de suporte
                                                          “fixture” que
                em linguagem
              natural na filosofia
                                                      implementa a ação                             Etc...
                                                           descrita em
                      BDD
                                                       linguagem natural



    www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




         Testes de aceitação
           em linguagem                                            Interface gráfica do
         natural na filosofia                                            sistema
                 BDD




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




                                        Framework
                                           BDD




                                      Framework BDD que                     Localiza
          Testes de aceitação        utiliza o TestComplete           dinamicamente os
            em linguagem                como meio para               objetos da Interface
          natural na filosofia           interagir com a             gráfica do sistema e
                  BDD                 Interface Gráfica do          executa ações e valida
                                              sistema                    os resultados
                                                                          esperados




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)


•      O Framework ATDD foi desenvolvido em VBScript usando orientação a objetos.
•      É possível usar o Framework ATDD para testar outras plataformas (.NET, WEB, Delphi, etc) com
       pequenos ajustes.
•      O Framework ATDD encapsula toda a complexidade da automação. O usuário/testador/
       programador/etc escreve os testes apenas usando a DSTL (Domain Specific Test Language).




    www.qualister.com.br

Recomendado para você

[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018

O documento discute a estratégia de testes utilizando a "Pirâmide de Testes Invertida" em quatro projetos de um instituto de inovação. Foi utilizado o framework Behat para criar cenários de testes em linguagem natural que foram automatizados. Lições aprendidas incluem facilidade em identificar bugs, mas também alto tempo de execução e manutenção dos testes. Ações futuras incluem definir estratégia de testes em conjunto e investir em outros níveis de testes.

software testinglessons learnedtesting pyramid
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...

Introdução aos conceitos do Behavior Driven Development (também conhecido como BDD), o que deu origem a ele e as principais ferramentas para a implementação de BDD na linguagem de programação Ruby.

capybarabehavior driven developmentdesenvolvimento de software
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile

1) O documento apresenta os papéis e técnicas de automação de testes para equipes ágeis, discutindo como a automação pode ajudar a resolver problemas como falta de tempo para testar e garantir a qualidade ao longo dos sprints. 2) É destacado que nem todos os casos de teste devem ser automatizados e que é importante separar os ambientes de desenvolvimento e teste. 3) A apresentação discute diferentes níveis de automação, desde scripts lineares até abordagens data-driven e keyword-driven, concluindo que a combinação das últimas é a melhor opção

Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



•      Foi embutida no Framework uma DSTL (Domain Specific Test Language) –
       Linguagens específicas de teste de um domínio com foco em ações
       imperativas de interação com a interface gráfica. Abaixo alguns exemplos:

No processo "NomeDoProcesso"
Na janela "NomeDaJanela"
Eu vejo o texto "Texto" no rótulo "NomeDoRotulo"
Eu clico na caixa de verificação "NomeDaCaixaDeVerificação"
Eu escolho a opção "Opção" na caixa de seleção "NomeDaCaixaDeSeleção"
Eu digito "Texto" na caixa de seleção "NomeDaCaixaDeSeleção"
Eu clico no menu "Menu"
Eu vejo o texto "Texto" no campo "NomeDoCampo"
Eu preencho "Texto" no campo "NomeDoCampo"
Eu clico no botao "NomeDoBotão"
Eu executo a consulta sql "ExpressãoSQL" e vejo o resultado "Resultado" no campo "Campo"
Eu armazeno o valor do objeto "NomeDoObjeto" na variavel "NomeDaVariavel"




    www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



• Os testes de aceitação são organizados em pastas de acordo com os
  grupos de testes similares (suítes ou roteiros de testes)




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



• Os testes de aceitação são escritos em formato texto puro.




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




www.qualister.com.br

Recomendado para você

Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd

O documento descreve as técnicas de Test-Driven Development (TDD) e Behavior Driven Development (BDD). TDD envolve criar testes unitários antes de escrever o código e iterar em ciclos de teste-código-refatoração. BDD estende TDD para melhorar a colaboração entre times, definindo comportamentos de negócio em uma linguagem comum. Ambos visam melhorar a qualidade e compreensão do produto final.

[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception

O documento fornece informações sobre automação de testes usando Behavior Driven Development (BDD) e o framework Codeception. Ele discute como o Codeception permite escrever testes de forma orientada a comportamentos em uma Domain Specific Language (DSL) simples. O documento também mostra exemplos de como automatizar testes de unidade e de aceitação com Codeception.

php
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...

O documento apresenta uma palestra sobre testes de aceitação automatizados para aplicativos Android utilizando a técnica de desenvolvimento guiado por comportamento (BDD). O palestrante discute a automação de testes com Robotium e a especificação de casos de teste como cenários de funcionalidades usando Cucumber.

bdd automatização automação robotium fpf tech
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)




www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



•      No TestComplete os testes são organizados e executados em suítes ou em
       regressões completas conforme a necessidade do testador/usuário.




    www.qualister.com.br
Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação)



•      Relatórios de execução são gerados automaticamente pelo TestComplete




    www.qualister.com.br

Recomendado para você

Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM

O documento discute a importância da qualidade de software e como alcançá-la. Apresenta os desafios comuns entre testadores e desenvolvedores e como a automação de testes com ferramentas como o Visual Studio podem ajudar a superá-los, melhorando a comunicação, reprodutibilidade de defeitos e agilidade.

almmicrosoft visual studioqualidade de software
Dúvidas?


• Dúvidas
     – Email: cristiano.caetano@qualister.com.br
     – Telefone: (48) 3285 5615 / 9645 5506




www.qualister.com.br

Mais conteúdo relacionado

Destaque

4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
Stefan Teixeira
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
Qualister
 
Meetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustMeetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com Locust
Stefan Teixeira
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Stefan Teixeira
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
Stefan Teixeira
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
Qualister
 
Latinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open sourceLatinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open source
Stefan Teixeira
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem Natural
Thiago Reis da Silva
 
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
Stefan Teixeira
 
TDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e PromisesTDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e Promises
Stefan Teixeira
 
Ágiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous DeliveryÁgiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous Delivery
Stefan Teixeira
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Laís Berlatto
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
Qualister
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
Qualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
Qualister
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
Stefan Teixeira
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
Qualister
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
Qualister
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
Qualister
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar
 

Destaque (20)

4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
4º Encontro do Grupo de Testes Carioca - Testes de Carga com Locust
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
 
Meetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com LocustMeetup DevOps Carioca - Testes de Carga com Locust
Meetup DevOps Carioca - Testes de Carga com Locust
 
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Latinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open sourceLatinoware 2016 - Continuous Delivery com ferramentas open source
Latinoware 2016 - Continuous Delivery com ferramentas open source
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem Natural
 
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
1º Encontro do Grupo de Testes Carioca - Primeiros Passos em Automação de Testes
 
TDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e PromisesTDC 2016 Floripa - Testando APIs REST com Supertest e Promises
TDC 2016 Floripa - Testando APIs REST com Supertest e Promises
 
Ágiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous DeliveryÁgiles 2016 - Using open source tools to support Continuous Delivery
Ágiles 2016 - Using open source tools to support Continuous Delivery
 
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
Aplicação de técnicas de processamento de linguagem natural para ferramenta P...
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
 
Testadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de DockerTestadores 2015 - O Fantástico Mundo de Docker
Testadores 2015 - O Fantástico Mundo de Docker
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 

Semelhante a TDC 2011 Automaçãode testes com BDD e ATDD

Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp
cesarvianna
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes
Cristiano Caetano
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
Camilo Ribeiro
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Cristiano Caetano
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
Cristiano Caetano
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos
Qualister
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
Qualister
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
Karla Silva
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
Qualister
 
Brisa Qualidade e Testes de software
Brisa   Qualidade e Testes de softwareBrisa   Qualidade e Testes de software
Brisa Qualidade e Testes de software
Gilda M Manetti Lauriano
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
Kleitor Franklint Correa Araujo
 
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter
Qualister
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
Marcos Pereira
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
Larissa Soares
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Rafael Prallon
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
Alini Rebonatto
 
Bdd&tdd
Bdd&tddBdd&tdd
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
Júlio de Lima
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Rafael Chiavegatto
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
Adriano Bertucci
 

Semelhante a TDC 2011 Automaçãode testes com BDD e ATDD (20)

Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp
 
Tecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testesTecnicas de projeto design especificacao modelagem de casos de testes
Tecnicas de projeto design especificacao modelagem de casos de testes
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de SoftwareTestes Ágeis: 1° Seminário Paranaense de Qualidade de Software
Testes Ágeis: 1° Seminário Paranaense de Qualidade de Software
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Brisa Qualidade e Testes de software
Brisa   Qualidade e Testes de softwareBrisa   Qualidade e Testes de software
Brisa Qualidade e Testes de software
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 

TDC 2011 Automaçãode testes com BDD e ATDD

  • 1. (48) 4052-9536 / 9540 contato@qualister.com.br • Terceirização de profissionais • Consultoria de teste • Avaliação de usabilidade • Automação de testes • Testes de performance • Treinamentos Palestra Automação de testes de aceitação com BDD (Behavior Driven Development) e ATDD (Acceptance Test Driven Development) www.qualister.com.br
  • 3. Instrutor Cristiano Caetano Email: cristiano.caetano@qualister.com.br Apresentações: slideshare.net/cristianocaetano Blog: cristianocaetano.wordpress.com É certificado CBTS pela ALATS. Diretor técnico da Qualister com mais de 10 anos de experiência, já trabalhou na área de qualidade e teste de software para grandes empresas como Zero G, DELL e HP Invent. É colunista na área de Teste e Qualidade de software do site linhadecodigo.com.br e autor dos livros "CVS: Controle de Versões e Desenvolvimento Colaborativo de Software" e "Automação e Gerenciamento de Testes: Aumentando a Produtividade com as Principais Soluções Open Source e Gratuitas". Participante ativo da comunidade de teste de software brasileira, é o criador e mantenedor do portal TestExpert: A sua comunidade gratuita de teste e qualidade de software (www.testexpert.com.br). www.qualister.com.br
  • 4. Twitter twitter.com/c_caetano www.qualister.com.br
  • 7. Sobre a Qualister • Fundação: 2007. • Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união de profissionais qualificados e certificados na área de testes e qualidade de software, com o objetivo de integrar, implementar e implantar soluções com base nas melhores práticas do mercado e normas internacionais. • Colaboradores: A Qualister é composta por colaboradores pós-graduados e certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de Tecnologia da Informação. • Área de atuação: A Qualister é uma empresa especializada em serviços de qualidade e teste de software. Tem como linhas de atuação consultoria em teste/qualidade de software, outsourcing (terceirização dos serviços através da alocação de profissionais) e treinamentos. • Localização: A Qualister está localizada em Biguaçu na Grande Florianópolis/SC e está instalada no CITEB – Centro de Inovação Tecnologia de Biguaçu no campus da universidade UNIVALI. www.qualister.com.br
  • 8. Parcerias internacionais Soluções para automação, profilling e gestão Soluções para testes de performance Soluções de apoio a avaliação de usabilidade www.qualister.com.br
  • 9. Tópico Testes unitários e TDD (Desenvolvimento dirigido por testes) www.qualister.com.br
  • 10. Testes unitários Classe Setup Mocks/Stubs Exercise Método(a, b, c): d Verify Teardown http://xunitpatterns.com/Four%20Phase%20Test.html www.qualister.com.br
  • 12. Test Driven Development (Desenvolvimento dirigido por testes) • Test Driven Development é uma prática de desenvolvimento de software em que os testes unitários automatizados são escritos antes do código. www.qualister.com.br
  • 13. Tópico BDD (Desenvolvimento dirigido por comportamento) www.qualister.com.br
  • 14. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Dan North, criador do BDD (Desenvolvimento dirigido por comportamento) percebeu que os testes deveriam ser descritos em sentenças/frases representando o comportamento esperado pelo sistema ao invés de nomes de métodos Testes descritos em nomes de métodos TestComprarPassagemPromocionalSomenteIdaParaUmAdultoVooDisponivel TestComprarPassagemPromocionalIdaEVoltaParaUmAdultoVooDisponivel TestComprarPassagemFlexSomenteIdaParaUmAdultoVooDisponivel www.qualister.com.br
  • 15. Behavior Driven Development (Desenvolvimento dirigido por comportamento) Estória: Compra de passagem via WEB Como um (As a) Profissional da área de testes Eu quero (I want to) Ir de avião para Florianópolis Para que (So that) Eu possa participar de um evento sobre testes Teste de aceitação: Comprar passagem com sucesso Dado que (Given) Existem voos disponíveis para o trecho POA/FLN Existem assentos disponíveis nos voos Quando (When) Eu escolho a origem igual a Porto Alegre Eu escolho o destino igual a Florianópolis (...) Então (Then) A compra é realizada com sucesso O assento escolhido é reservado www.qualister.com.br
  • 16. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Como transformar os testes escritos em linguagem natural em testes/especificação automatizados? www.qualister.com.br
  • 17. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • No BDD, os testes de aceitação são descritos em linguagens naturais próximas do domínio do negócio usando DSL´s. – DSL (Domain Specific Language) – Linguagens específicas de um domínio. • Exemplo em terminologia náutica: – Proa = extremidade frontal do navio – Popa = extremidade posterior do navio – Bombordo = lado esquerdo do navio – Estibordo = lado direito do navio www.qualister.com.br
  • 18. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • SQL (Structured Query Language) é um exemplo clássico de DSL: – SELECT * FROM clientes WHERE codigo < 100 – UPDATE clientes SET id = 51 WHERE nome = „José da Silva‟ – SELECT * FROM clientes WHERE nome LIKE „%José%' www.qualister.com.br
  • 19. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Para testes de aceitação usamos DSTL (Domain Specific Test Language) – Linguagens específicas de teste de um domínio. www.qualister.com.br
  • 20. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Para testes de aceitação usamos DSTL (Domain Specific Test Language) – Linguagens específicas de teste de um domínio. www.qualister.com.br
  • 21. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Os testes descritos em linguagem natural são interpretados por ferramentas especializadas que, por sua vez, exercitam o código/API do sistema para demonstrar se o comportamento foi atendido. Código API Interface gráfica Codigo de suporte Testes de aceitação “fixture” que em linguagem encapsula a natural na filosofia implementação da Etc... BDD ação descrita em linguagem natural www.qualister.com.br
  • 22. Behavior Driven Development (Desenvolvimento dirigido por comportamento) 2 Codigo de suporte “fixture” que encapsula a implementação da ação descrita em linguagem natural 1 Testes de aceitação em linguagem natural na filosofia BDD 3 Código/API do sistema sendo exercitado para validar um comportamento www.qualister.com.br
  • 23. Behavior Driven Development (Desenvolvimento dirigido por comportamento) • Existem dezenas de ferramentas que implementam a filosofia BDD no nível da unidade/código http://en.wikipedia.org/wiki/Behavior_Driven_Development http://blog.dannorth.net/introducing-bdd/ www.qualister.com.br
  • 24. Behavior Driven Development (Desenvolvimento dirigido por comportamento) http://cukes.info/ www.qualister.com.br
  • 25. Behavior Driven Development (Desenvolvimento dirigido por comportamento) http://www.concordion.org/ www.qualister.com.br
  • 26. Behavior Driven Development (Desenvolvimento dirigido por comportamento) www.qualister.com.br http://jbehave.org/
  • 27. Behavior Driven Development (Desenvolvimento dirigido por comportamento) http://storyq.codeplex.com/ www.qualister.com.br
  • 28. Behavior Driven Development (Desenvolvimento dirigido por comportamento) http://www.thoughtworks-studios.com/agile-test-automation/features-benefits www.qualister.com.br
  • 29. Tópico ATDD www.qualister.com.br
  • 30. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • O ATDD é uma abordagem ágil de desenvolvimento onde a construção do software é guiada pelos testes de aceitação. • Nesta técnica, os testes de aceitação são criados de maneira colaborativa e descritos em uma linguagem comum a todos os membros da equipe. Dessa forma, toda a equipe compartilha o mesmo entendimento do que deve ser feito, as restrições e as definições de "Pronto". • Os testes são descritos em uma linguagem natural similar a linguagem do negócio e deve ser facilmente entendida pelo cliente. • Os testes (critérios de aceitação) devem ser executáveis www.qualister.com.br
  • 31. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Etapas do ATDD: – Discutir (Discuss) – Refinar (Distill) – Desenvolver (Develop) www.qualister.com.br
  • 32. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) – Discutir (Discuss) • Discutir colaborativamente com a equipe as restrições, assunções, premissas, expectativas, etc para definir os critérios de aceitação E se não houver assentos disponíveis no voo? Devemos exibir uma mensagem de alerta para o usuário? Como vamos validar os mecanismos de segurança? www.qualister.com.br
  • 33. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) – Refinar (Distill) • Refinar os critérios de aceitação em um conjunto concreto de cenários/exemplos de uso descrevendo o comportamento esperado da aplicação em uma linguagem comum a todos os membros da equipe Teste de aceitação: Comprar passagem com sucesso Dado que (Given) Existem voos disponíveis para o trecho POA/FLN Existem assentos disponíveis nos voos Quando (When) Eu escolho a origem igual a Porto Alegre Eu escolho o destino igual a Florianópolis (...) Então (Then) A compra é realizada com sucesso O assento escolhido é reservado www.qualister.com.br
  • 34. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) – Desenvolver (Develop) • Transformar os testes de aceitação (descrevendo o comportamento esperado do software) em testes/especificação automatizados Testes de aceitação em linguagem natural na filosofia BDD Testes automatizados www.qualister.com.br
  • 35. Principais vantagens Cenários de uso Exemplos Expectativas de uso Assunções Limitações Linguagem Ubíqua Premissas Restrições www.qualister.com.br
  • 36. Principais vantagens Teste = Requisito Requisito = Teste www.qualister.com.br
  • 37. Principais vantagens • Testes de aceitação automatizados são usados como medida de progresso e indicador dos níveis de qualidade Funcionalidade www.qualister.com.br
  • 38. Tópico Case www.qualister.com.br
  • 39. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • O problema – Sistema desenvolvido em tecnologia legada – Falta de arquitetura (OO, Frameworks, etc) – Equipe de testes sem experiência em programação • A solução proposta – Testes na filosofia BDD/ATDD – Criação de um Framework de testes sob medida para permitir a criação de testes BDD/ATDD em um sistema com tecnologia legada www.qualister.com.br
  • 40. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Ferramentas de desenvolvimento dirigido por testes normalmente executam testes de comportamento no nível da unidade/código. • Para que os testes escritos em linguagem natural possam ser executados, é necessário que os programadores codifiquem “fixtures”, ou seja, o código de suporte que implementa nos métodos das classes do software as ações descritas em linguagem natural. Código API Interface gráfica Codigo de suporte Testes de aceitação “fixture” que em linguagem natural na filosofia implementa a ação Etc... descrita em BDD linguagem natural www.qualister.com.br
  • 41. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Ferramentas de desenvolvimento dirigido por testes normalmente executam testes de comportamento no nível da unidade/código. • Para que os testes escritos em linguagem natural possam ser executados, é necessário que os programadores codifiquem “fixtures”, ou seja, o código de suporte que implementa nos métodos das classes do software as ações descritas em linguagem natural. Código API Sistemas Interface Testes de aceitação Legados gráfica Codigo de suporte “fixture” que em linguagem natural na filosofia implementa a ação Etc... descrita em BDD linguagem natural www.qualister.com.br
  • 42. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) Testes de aceitação em linguagem Interface gráfica do natural na filosofia sistema BDD www.qualister.com.br
  • 43. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) Framework BDD Framework BDD que Localiza Testes de aceitação utiliza o TestComplete dinamicamente os em linguagem como meio para objetos da Interface natural na filosofia interagir com a gráfica do sistema e BDD Interface Gráfica do executa ações e valida sistema os resultados esperados www.qualister.com.br
  • 44. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • O Framework ATDD foi desenvolvido em VBScript usando orientação a objetos. • É possível usar o Framework ATDD para testar outras plataformas (.NET, WEB, Delphi, etc) com pequenos ajustes. • O Framework ATDD encapsula toda a complexidade da automação. O usuário/testador/ programador/etc escreve os testes apenas usando a DSTL (Domain Specific Test Language). www.qualister.com.br
  • 45. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Foi embutida no Framework uma DSTL (Domain Specific Test Language) – Linguagens específicas de teste de um domínio com foco em ações imperativas de interação com a interface gráfica. Abaixo alguns exemplos: No processo "NomeDoProcesso" Na janela "NomeDaJanela" Eu vejo o texto "Texto" no rótulo "NomeDoRotulo" Eu clico na caixa de verificação "NomeDaCaixaDeVerificação" Eu escolho a opção "Opção" na caixa de seleção "NomeDaCaixaDeSeleção" Eu digito "Texto" na caixa de seleção "NomeDaCaixaDeSeleção" Eu clico no menu "Menu" Eu vejo o texto "Texto" no campo "NomeDoCampo" Eu preencho "Texto" no campo "NomeDoCampo" Eu clico no botao "NomeDoBotão" Eu executo a consulta sql "ExpressãoSQL" e vejo o resultado "Resultado" no campo "Campo" Eu armazeno o valor do objeto "NomeDoObjeto" na variavel "NomeDaVariavel" www.qualister.com.br
  • 46. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Os testes de aceitação são organizados em pastas de acordo com os grupos de testes similares (suítes ou roteiros de testes) www.qualister.com.br
  • 47. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Os testes de aceitação são escritos em formato texto puro. www.qualister.com.br
  • 48. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) www.qualister.com.br
  • 49. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) www.qualister.com.br
  • 50. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) www.qualister.com.br
  • 51. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • No TestComplete os testes são organizados e executados em suítes ou em regressões completas conforme a necessidade do testador/usuário. www.qualister.com.br
  • 52. Acceptance Test Driven Development (Desenvolvimento dirigido por testes de aceitação) • Relatórios de execução são gerados automaticamente pelo TestComplete www.qualister.com.br
  • 53. Dúvidas? • Dúvidas – Email: cristiano.caetano@qualister.com.br – Telefone: (48) 3285 5615 / 9645 5506 www.qualister.com.br