The document discusses functional test automation using Cucumber and Selenium. It introduces behavioral-driven development (BDD) and the problems with a lack of automation like reduced test coverage and bugs. It then describes Cucumber as a tool that uses BDD to write acceptance tests and Selenium as a tool for automating interactions with web browsers. The document provides details on how Cucumber and Selenium work and how to identify page elements before demonstrating how to automate a test.
Como implementar uma estratégia de automação de testes funcionais em uma empresa de TI, visando solucionar os problemas de grande esforço na execução de testes de regressão e cobertura de testes em cada Sprint (baseline)
Ausência (Absence de automação) – é sentida no final do projeto e em cada sprint/baseline lançada onde há a necessidade de executar testes de regressão para verificar que não houve impacto/quebra em outras features e que na maioria das vezes não é realizado.
Big effort (grande esforço) inicial para montar e estruturar os testes automáticos, bem como conhecimento técnico e prático da tecnologia e ferramentas
Reduced cobertura (cobertura de reduzida de testes) – Identificar partes do código que ainda não foram testadas
Big number bugs – Pela enorme quantidade de bugs, será que a organização focará em identificar, reportar, resolver ou bugs ou automatizar?
Pirâmide não desejada por Mike Cohn - Mike Cohn é um dos colaboradores da invenção da metodologia de desenvolvimento de software Scrum . [1] Ele é um dos fundadores da Scrum Alliance [2] Ele é o dono da Mountain Goat Software, uma empresa que fornece treinamento em técnicas de desenvolvimento de software Scrum e Agile . https://www.mountaingoatsoftware.com/blog
A automação de testes refere-se a atividades e esforços que desejam automatizar tarefas e ações do usuário com o sistema, usando ferramentas específicas que controlam a execução de testes e realizam comparações de resultados reais com resultados esperados.
Diminui o tempo de execução dos testes de regressão
Garantir que os testes planejados sejam executados repetidamente sem intervenção humana
Permite que Execução de Teste grande e complexa seja executada manualmente
Otimização de recursos
Liberte as pessoas para realizar tarefas mais criativas em vez de realizar testes manuais tediosos e repetitivos
O Behavior Driven Development (BDD) ou desenvolvimento orientado por comportamento foi inventado por Dan North no ano de 2000, quando Dan percebeu que muitas equipes tinham dificuldades de adotar e usar eficazmente o TDD, criado como uma versão melhorada do desenvolvimento orientado por testes (TDD, criado por Kent Beck). O BDD não é uma metodologia de desenvolvimento de software, tão pouco um substituto para o XP, Scrum, Kanban, OpenUP, RUP ou qualquer metodologia que o mercado atualmente oferece, mas sim, o BDD incorpora e melhora as ideias de muitas dessas metodologias, ajudando assim e tornando a vida da equipe de software mais fácil. Portanto, o BDD é um conjunto de práticas de engenharia de software projetado para ajudar as equipes a construir e entregar mais rápido software de alta qualidade.
Pepino é uma ferramenta de automação de testes que executa testes de aceitação automatizados escritos em um estilo de desenvolvimento orientado a comportamento(BDD)
Cucumber permite a colaboração com a intenção de criar um entendimento comum entre todos os membros da equipe.
O Cucumber foi originalmente criado por membros da comunidade Ruby para apoiar o desenvolvimento de testes funcionais de aceitação automatizado utilizando a técnica BDD.
Desde então o Cucumber cresceu e foi traduzido em várias linguagens, inclusive o Java, permitindo assim que vários de desenvolvedores desfrutem de suas vantagens. Diante disso, vejamos a Figura 2, que ilustra uma visão geral do Cucumber.