Escrevendo seu primeiro cenário Cucumber

Previamente postei neste blog alguns artigos a respeito do que é BDD, para que serve e como aplicá-lo. Veja exemplos aqui: artigos-bdd-ciclosw

Hoje vamos dar continuidade aos estudos sobre implementação do BDD como método de ATDD, ou seja, a utilização dele para o processo de escrita de cenários de aceite. O foco aqui estará para os testes automatizados implementados pela figura do QA em um contexto de entrega incremental, onde as funcionalidades de um sistema de UI é separado por casos de uso.

Eu também descrevi aqui como implementar seu primeiro cenário de teste automatizado  com BDD utilizando a ferramenta SpecFlow e código C#. Mas hoje quero dar ênfase à escrita de uma feature, que vem a ser a parte de negócio da implementação BDD através do Cucumber, com base na sintaxe Gherkin.

 

Origem do Cucumber

Segundo a documentação do cucumber.io: “Cucumber é uma ferramenta que suporta Desenvolvimento guiado a comportamento (BDD, na tradução livre) – um processo de desenvolvimento de software que visa melhorar a qualidade do software e reduzir custos de manutenção.”.

Essa ferramenta foi criada em 2008, por Aslak Hellesøy, que foi desenvolvedor na ThoughtWorks e em 2014 fundou a empresa Cucumber Ltd. De acordo com suas palavras à uma entrevista da InfoQ: “Eu fui consultor por 10 anos antes de criar a ferramenta Cucumber. Nos primeiros 5 anos de minha carreira, todos os projetos nos quais trabalhei tinham os mesmos problemas:

  • Eu muitas vezes não sabia se tinha entendido todos os requisitos;
  • Eu achei difícil confiar no resultado daquilo que estávamos construindo
  • Eu tinha medo de mudar código pré-existente, sem saber o que poderia quebrar com as mudanças
  • Nós estávamos constantemente atrasados com as entregas

E continua: “Com o BDD, * todos * os testes são testes de aceitação do cliente, escritos em linguagem simples (humana) para que os interessados ​​não técnicos possam compreendê-los. Então, o Cucumber combina especificações de requisitos, testes automatizados e documentação viva em um único formato chamado Gherkin, que é simplesmente inglês com um pouco mais de estrutura.”.

 

Como escrever sua primeira feature

É importante salientar que, tecnicamente, existem diversas ferramentas que podem ser utilizadas para implementar BDD: Cucumber, SpecFlow, JBehave, RSpec, Jasmine, Cucumber-js, Lettuce, Lettuce, etc. E que BDD é um processo maior que a automação de testes!!!

Mas, considerando o cenário que utiliza automação de testes, como citado acima, o fluxo de desenvolvimento BDD pode ser ordenado da seguinte forma:

1. Descrever funcionalidades      2. Implementar cenários   3. Executar cenários

Na etapa Descrever Funcionalidades é a qual: entendemos requisitos e prioridades; listamos cenários de uso, seus fluxos e resultados esperados.

Na etapa Implementar Cenários é a qual: escrevemos os cenários de ATDD com gherkin; implementamos seus steps e page-objects; gravamos os cenários em uma ferramenta de controle de versão.

Na etapa Executar Cenários é a qual: organizamos os cenários em suítes de testes; configuramos variáveis de ambiente, drivers e runners dos testes para a execução dos cenários; integramos os cenários a uma  ferramenta de  integração contínua, caso necessário.

 

 

Agora vamos para a parte prática!

Continuar lendo

Por que ainda precisamos falar sobre diversidade nos ambientes de TI?

Por que?

Quem atua no mercado formal de trabalho hoje lida com as constantes mudanças comuns à cultura da inclusão. Em escritórios nos deparamos com pessoas de diferentes gerações, anseios e responsabilidades.

As pluralidades da sociedade: gênero, etnia, condições físicas e de vida, já estão refletidas no mundo corporativo. Nos ambientes de TI as equipes multidisciplinares são utilizadas como base para a aplicação de metodologias de trabalho capazes de garantir entregas “rápidas”. Isso, por formar times heterogêneos, contendo um pouco de cada especialidade necessária ao antedimento de produtos específicos, restringindo com isto os seus focos de atuação e por consequência ganhando em produtividade.

A esses times  deu-se a responsabilidade de decidir estratégias às soluções: o que fariam e em quanto tempo; com qual o grau de prioridade; e, com quais custos e ferramentas. Eles ganharam a capacidade de discutir ideias. Mas como ser eficaz se só ouço a minha parte da  clientela, a minha “face da moeda”, quando o mundo a quem atendo me apresenta múltiplas?


Por que uma figura “diferente” em meu time ainda me incomoda tanto?

Pela falta de representatividade. E o que isto significa? Que embora eu tenha contato com pessoas “diferentes” de mim em meu meio de convivência ou ambiente trabalho eu não as tenho como modelo, eu ainda não as enxergo como um exemplo a ser seguido ou muitas vezes não valorizo o seu discurso:

  • Apenas 2% dos funcionários das maiores empresas brasileiras são pessoas com deficiência (o mínimo exigido pela lei);
  • As mulheres representam 58,9% dos estagiários e apenas 13,6% das vagas executivas;
  • As mulheres recebem 70% da massa salarial obtida pelos homens;
  • Não existe um executivo de origem indígena nas empresas estudadas;
  • 94,2% dos cargos executivos pertencem a brancos, enquanto apenas 4,7% dos negros ocupam cargos nesse nível. Superatualizado

E por isso é tão importante incluir, para que pela noção de representatividade, cada pedacinho da sociedade se sinta motivada a colaborar com novas ideias. Soluções essas que poderão ser usadas por todos.


É lacração? É vitimismo? É mimimi?

Continuar lendo

Palestra no LinguÁgil 2016

Oi pessoal,

Estou de volta e desta vez com uma novidade. Fiz uma palestra recentemente em um evento super importante de TI para a Bahia, o LinguÁgil. Na palestra falei sobre testes: a necessidade de realizar teste de software; a realidade do nosso mercado; o processo de testes padrão; e uma abordagem ágil, o SBTM.

Confiram os dados do evento acessando este link!
A minha apresentação está disponível aqui!

No final de abril tem mais, irei palestrar na faculdade Unijorge, unidade Comércio, no evento GDG Tech Tour #2. Fiquem ligados!

1º Encontro de Testers de Salvador

O Grupo Teste de Software Salvador está promovendo o 1º Encontro de Testers de Salvador. Integrantes do grupo responderam a um questionário para promover o 1º Encontro de Testers de Salvador/BA.

Eles decidiram que:
  • O espaço deve ser virtual – Hangout, Skype, etc.
  • O formato deve ser discursivo, onde todos os participantes devem interagir para expor assuntos e ideias;
  • O evento deve estar aberto a todos os profissionais de TI, interessados pelo tema de testes de software;
  • A duração deve ser aberta, com o mínimo de 30 minutos;
  •  Nossos encontros devem ser bimestrais.
Dito tudo isso, reserve tempo na agenda para nosso primeiro encontro. Ele acontecerá daqui 1 semaninha, dia 20/07, à partir das 19:30, via Skype.
A pauta também foi elaborada por eles. Os temas citados foram:
  • Mercado de testes em Salvador/Bahia, principais empresas, tendências em certificações, perspectivas da área;
  • Perfil e atividades do testador;
  • Automação de testes;
  • Movimento Ágil – teste ágil;
Não deixe de participar e enviar sugestões para o evento!
logo

Evento de programação Ruby on Rails para meninas

O Rails Girls é um evento gratuito de tecnologia da informação voltado para a formação de meninas, estudantes/profissionais de TI ou não, em programação e na tecnologia Ruby on Rails. Ele ocorrerá pela 2ª vez em Salvador.

rails_girls

Link para o evento:

http://railsgirls.com/salvador201411

Informações:

Local: Todo o mundo | mas nesta data é a vez de Salvador, Bahia, Brasil

Data/Hora: 07 e 08 de novembro | dia 07/11 das 18 às 21hrs | dia 08/11  das 09 às 17:30.

Espaço: UFBA – Superintendência de Tecnologia da Informação – Laboratório 1 da RNP/ESR

Valor: Gratuito

Material necessário: Um notebook com permissão para instalação de software

Inscrevam-se e divirtam-se meninas! \o/

Estratégias e Técnicas de Teste de Software

Pessoal,

No final do ano de 2013 eu apresentei uma palestra para um grupo de estudantes do ensino superior em Análise de Sistemas de uma faculdade aqui de Salvador. A palestra teve duração de 3hrs e fez parte de uma trilha de conhecimento da universidade em questão.

Os links abaixo apresentam os slides utilizados como suporte na apresentação. Quem tiver interesse em desenvolver a parte prática, encaminhe um e-mail no ciclosw@gmail.com que eu enviarei um caso de estudo relacionado à palestra. Espero que gostem do material! Podem utilizá-lo para estudo e apresentações, mas peço o favor de manter as referências e adicionar a minha 😉 .

Parte I da palestra – Parte II da palestra

Anuncio que em breve concluiremos o Curso de Selenium WebDriver \o/ e iniciaremos o Curso de Criação de Casos de Testes :).

Até mais