Quer ficar por dentro das novidades da HostGator? Inscreva-se e receba tudo em primeira mão!

A confirmação da sua inscrição foi enviada para o seu e-mail

Agradecemos sua inscrição e esperamos que você aproveite nossos conteúdos!

BDD: o que é Desenvolvimento orientado pelo comportamento e como aplicar na prática

Compartilhe:

Saiba o que é BDD (Behavior-Driven Development), suas vantagens, ferramentas usadas e exemplos práticos de aplicação em projetos de software.

O desenvolvimento de software moderno não é apenas sobre escrever linhas de código que funcionam, mas principalmente sobre criar soluções que realmente entregam valor ao usuário e ao negócio. E é justamente nesse ponto que o BDD (Behavior-Driven Development) se destaca e por isso vem sendo utilizado por muitas companhias. 

Diferente de abordagens puramente técnicas, o BDD conecta a linguagem de negócio ao processo de desenvolvimento, descrevendo funcionalidades do sistema a partir do comportamento esperado. Assim, todos os envolvidos, técnicos ou não, compreendem o que será desenvolvido e validado.

Neste artigo, você vai entender o que é BDD, como surgiu, os seus princípios, benefícios, ferramentas populares, exemplos práticos e até os desafios comuns enfrentados por equipes.

Também vamos compará-lo com outras metodologias, como TDD e ATDD. Por fim, você verá como aplicar BDD em seus projetos com um passo a passo prático e com imagens. Aproveite o conteúdo, aprenda tudo sobre essa linguagem e tenha uma boa leitura!

O que é BDD?

Antes de explorar os princípios, ferramentas e aplicações do BDD, é importante compreender a sua definição, sua origem e como ele se conecta a outras metodologias de desenvolvimento de software, como TDD e DDD.

Definição e origem do Behavior-Driven Development

O Behavior-Driven Development (BDD) é uma metodologia ágil de desenvolvimento de software criada por Dan North em 2003, como uma evolução do TDD (Test-Driven Development).

A sua principal proposta é alinhar o código com os comportamentos esperados da aplicação, descritos em uma linguagem acessível para todos os envolvidos.

Assim, em vez de escrever apenas testes técnicos, o BDD propõe que as regras de negócio sejam descritas em cenários claros, geralmente no formato Given-When-Then (Dado-Quando-Então).

Como BDD se relaciona com TDD e DDD

O BDD se conecta diretamente a duas metodologias já conhecidas:

  • TDD (Test-Driven Development), herda a prática de escrever testes antes da implementação.
  • DDD (Domain-Driven Design), absorve a ideia da linguagem ubíqua, que aproxima tecnologia da linguagem do negócio.

Enquanto o TDD é voltado para testes de unidade e código, e o DDD foca em modelar o domínio, o BDD integra os dois mundos, garantindo que o software seja desenvolvido com base em comportamentos que entregam valor real.

Princípios e filosofia do BDD

O BDD não é apenas uma técnica de testes, mas também uma filosofia que guia a forma como as equipes interagem e descrevem funcionalidades. A seguir, vamos analisar os principais pilares que sustentam essa prática e como eles são aplicados pelos desenvolvedores.

Linguagem ubíqua e comunicação entre equipe técnica e negócios

No BDD, tudo começa pela linguagem ubíqua: um vocabulário comum, compreensível tanto por desenvolvedores quanto por gestores e clientes. Isso reduz ruídos de comunicação e evita que requisitos sejam mal interpretados.

Cenários (Given-When-Then)

A espinha dorsal do BDD está nos cenários escritos no formato Given-When-Then, que são responsáveis por estruturar o comportamento esperado de um sistema de forma simples e clara. 

A grande vantagem desse formato é transformar requisitos complexos em histórias que podem ser compreendidas tanto por desenvolvedores quanto por pessoas sem conhecimento técnico.

Cada cenário é dividido em três etapas:

  • Given (Dado) → representa o contexto inicial ou estado pré-existente do sistema. É a situação de partida antes que algo aconteça.
  • When (Quando) → descreve a ação do usuário ou o evento do sistema que desencadeia uma mudança.
  • Then (Então) → define o resultado esperado, ou seja, o comportamento correto que deve ocorrer após a ação.

Esse modelo é poderoso porque segue a lógica natural de narrativa:

 contexto → ação → consequência. 

Isso facilita a comunicação entre times técnicos e de negócios, que passam a “falar a mesma língua”. 

Foco no comportamento e valor para o usuário

O ponto central do BDD não é garantir que o código funcione, mas que ele entregue valor para o usuário final.

Por isso, ao escrever cenários que descrevem comportamentos reais, a equipe avalia experiências completas, como login, cadastro, compras em um e-commerce ou integração entre sistemas.

Isso muda a perspectiva da equipe de desenvolvimento. Em vez de pensar em “implementar uma função X”, passa-se a pensar em “garantir que o usuário consiga realizar uma ação Y com sucesso”.

Essa mentalidade orientada ao comportamento evita desperdício de esforço em funcionalidades que não têm impacto direto no negócio.

Benefícios de usar BDD em projetos

Adotar o Behavior-Driven Development (BDD) proporciona uma série de ganhos práticos e estratégicos para equipes de desenvolvimento, negócios e até para os clientes finais.

Essa metodologia ajuda a alinhar expectativas, otimizar processos e reduzir falhas. Entre os principais benefícios, destacam-se:

  • Melhor comunicação entre stakeholders: todos os envolvidos como desenvolvedores, QA, gestores e clientes entendem os cenários escritos em linguagem simples, evitando mal-entendidos.
  • Redução de retrabalho e menos bugs: requisitos claros desde o início diminuem erros de interpretação e evitam falhas na produção.
  • Documentação viva: os cenários funcionam como uma documentação constantemente atualizada, sempre em sintonia com a evolução do sistema.
  • Foco no usuário final: garante que cada funcionalidade seja validada em função do impacto real para quem utiliza o software.
  • Integração com testes automatizados: cenários podem ser ligados a ferramentas de automação, reforçando a qualidade contínua no pipeline de desenvolvimento.

Com esses benefícios, o BDD não apenas melhora a eficiência do processo de desenvolvimento, mas também aumenta a confiabilidade do software e a satisfação do usuário.

Melhor comunicação entre stakeholders

Um dos maiores desafios em projetos de software é o desalinhamento entre equipes técnicas e de negócio.

Muitas vezes, o cliente explica uma necessidade de forma subjetiva, o analista traduz em requisitos técnicos, o desenvolvedor interpreta de outra forma e o resultado não corresponde à expectativa.

Com o BDD, esse risco é minimizado porque todos trabalham a partir dos mesmos cenários Given-When-Then. Esses cenários servem como contrato entre negócio e tecnologia, garantindo que todos entendam o que precisa ser entregue.

Menos retrabalho e menos bugs

Outro benefício crucial é a redução de retrabalho. Quando requisitos são mal interpretados, o sistema precisa ser ajustado várias vezes, aumentando custos e atrasando entregas. O BDD ajuda a evitar esse problema porque as regras ficam claras antes da implementação.

Além disso, como os cenários podem ser automatizados, eles funcionam como uma rede de segurança: sempre que o código é alterado, os testes verificam se o comportamento esperado continua válido.

Isso reduz drasticamente a quantidade de bugs que chegam até o usuário final como podemos ver na tabela abaixo:

CritérioSem BDD (tradicional)Com BDD
Clareza nos requisitosBaixaAlta
RetrabalhoAltoBaixo
DocumentaçãoDesatualizadaViva
Experiência do usuárioSecundáriaCentral

Empresas que adotam BDD reduzem de forma significativa as falhas críticas na produção, justamente porque os problemas são identificados logo no início do ciclo de desenvolvimento.

Documentação “viva” por meio de cenários

Diferente de documentos técnicos tradicionais, que rapidamente ficam desatualizados, os cenários BDD funcionam como documentação viva. Eles evoluem com o software, já que estão diretamente ligados aos testes automatizados.

Isso significa que, mesmo meses após a entrega de um projeto, é possível entender exatamente o que o sistema deveria fazer, apenas lendo os cenários. Para empresas que precisam lidar com compliance, auditorias e requisitos regulatórios, essa é uma vantagem significativa.

O swagger é um ótimo exemplo de documentação viva, é um framework open-source voltado para a documentação de APIs, permitindo organizar e descrever de forma clara todos os recursos disponíveis. 

Ferramentas populares para BDD

Para colocar o Behavior-Driven Development em prática, as equipes de desenvolvimento contam com um conjunto de ferramentas que permitem escrever, organizar e automatizar cenários. 

Cada uma delas atende a linguagens e ecossistemas específicos, mas todas compartilham o mesmo objetivo: transformar especificações escritas em Given-When-Then em testes executáveis. Veja abaixo mais detalhes de cada uma delas.

Cucumber

O Cucumber é a ferramenta mais conhecida e amplamente utilizada no mercado. Compatível com várias linguagens, como Java, Ruby e JavaScript, ele adota o padrão Gherkin para escrever cenários em linguagem natural. 

É muito popular por sua integração com pipelines de CI/CD, permitindo que testes de comportamento sejam executados automaticamente a cada mudança no código.

SpecFlow

O SpecSync integra o processo de BDD com o Azure DevOps conectando e sincronizando os cenários de BDD com os Casos de Teste e publicando os resultados da execução dos testes no Azure DevOps de forma que o resultado do teste permaneça conectado ao Caso de Teste relacionados

Ele oferece recursos avançados para mapear cenários em Gherkin para testes automatizados, além de integração com frameworks de testes.

Behave (Python)

Para quem trabalha com Python, o Behave é uma alternativa leve, simples e eficaz. Ele mantém a sintaxe Gherkin e é muito usado em projetos ágeis que buscam rapidez na prototipação e execução dos testes. 

É ideal para equipes que já adotam Python em aplicações web, APIs ou automação de processos.

JBehave / JUnit integrado (Java)

O JBehave é uma alternativa ao Cucumber no ecossistema Java. Ele se integra ao JUnit, o que facilita sua adoção em projetos que já utilizam essa estrutura de testes. 

Embora menos popular que o Cucumber, ainda é bastante utilizado em sistemas corporativos de grande porte.

Como aplicar BDD passo a passo

Embora o conceito de Behavior-Driven Development pareça simples, a sua aplicação prática requer disciplina e um processo bem estruturado.

Dessa forma, é essencial que todos os envolvidos, desde o gerente de produto até os desenvolvedores e o time de QA  participem ativamente de cada fase. 

A seguir, apresentamos um guia passo a passo com imagens para aplicar o BDD de maneira eficaz.

Identificar requisitos e histórias de usuário

O ponto de partida está na definição clara dos requisitos. Essa etapa geralmente envolve reuniões entre o Product Owner e os stakeholders, que discutem necessidades do negócio e expectativas do usuário final. Um exemplo de história de usuário seria:

 Como cliente, quero adicionar produtos ao carrinho, para finalizar compras online.”

Esse formato simples ajuda a alinhar a visão de negócio antes de escrever qualquer linha de código.

Escrever cenários com Given-When-Then

Depois de definir as histórias, é hora de transformá-las em cenários BDD. Usando a sintaxe Gherkin, temos um exemplo prático:

Funcionalidade: Login no sistema

Cenário: Login com credenciais válidas

A partir do momento que o usuário estiver na página de login, ele deve inserir o usuário e senha corretos, sendo assim direcionado para o painel principal da aplicação;

Dessa forma simples e estruturada, foi possível resumir um cenário claro de teste da funcionalidade definida.

Automação dos testes de comportamento

Aqui entra o Cucumber. O cenário acima pode ser associado a métodos de teste automatizados escritos em Java, por exemplo:

Após a criação dos cenários em linguagem natural, chega o momento de transformá-los em testes automatizados. Com ferramentas como o Cucumber, esse processo pode ser feito em poucas etapas:

  1. Definir os cenários: você já tem os cenários escritos em Gherkin (Given-When-Then).
  2. Relacionar cenários a ações reais: cada passo do cenário (o Dado, o Quando e o Então) é vinculado a uma ação no sistema, como acessar uma página, inserir dados ou verificar um resultado.
  3. Criar os testes automatizados: no Cucumber, os passos escritos em linguagem natural são conectados a métodos de automação que executam essas ações no sistema de forma programática.  (Use a extensão no vscode do Cucumber)
  1. Rodar os testes: ao executar o Cucumber, ele percorre cada cenário, realiza as ações correspondentes e valida se o resultado está de acordo com o comportamento esperado.
  2. Feedback imediato: caso algo esteja errado, o Cucumber informa exatamente em qual passo o cenário falhou, facilitando a correção rápida pela equipe.

Dessa forma, o que antes era apenas uma descrição de comportamento em texto se torna um teste executável, assegurando que o sistema funcione conforme o combinado com os stakeholders.

Integração dos cenários no ciclo de desenvolvimento

Por fim, esses testes são integrados ao pipeline CI/CD. Cada vez que um desenvolvedor envia código para o repositório, os cenários são executados automaticamente, validando se as novas alterações não quebraram funcionalidades existentes.

Ambientes de hospedagem escaláveis, facilitam esse processo ao permitir que testes automatizados rodem em pipelines rápidas, garantindo feedback contínuo e entregas mais seguras.

Desafios e boas práticas do BDD

Apesar dos benefícios, aplicar o BDD na prática não está livre de dificuldades. Conhecer os desafios e boas práticas ajuda a evitar armadilhas comuns, por isso listamos as principais:

Manter cenários atualizados

A chamada “documentação viva” só é útil se acompanhar a evolução do sistema. Já que se os cenários não são revisados periodicamente, acabam se tornando obsoletos e deixam de refletir o comportamento real da aplicação. 

Assim, esse descuido pode gerar inconsistências, dificultar a comunicação entre equipe técnica e stakeholders e, em alguns casos, comprometer a confiabilidade dos testes. Por isso, a manutenção contínua deve ser parte integrante do ciclo de desenvolvimento, acompanhando cada mudança de requisito ou ajuste de funcionalidade.

Cenários demasiado genéricos ou muito específicos

Encontrar o equilíbrio certo entre generalidade e detalhamento é um dos maiores desafios no BDD.

Cenários genéricos demais não validam nada concreto, tornando difícil identificar se uma funcionalidade realmente funciona. Já os cenários excessivamente específicos geram retrabalho, pois qualquer pequena alteração no sistema pode invalidá-los. 

O ideal é descrever os comportamentos de forma clara, sem incluir informações desnecessárias. Assim, os cenários se tornam flexíveis o suficiente para acompanhar mudanças, mas ainda assim testam aspectos relevantes do negócio.

  • Genéricos demais → não ajudam a validar nada concreto.
  • Específicos demais → aumentam retrabalho em pequenas mudanças.

Evitar duplicação de testes

Cenários duplicados aumentam o esforço de manutenção e consomem tempo da equipe sem agregar valor adicional. Além disso, podem causar confusão na análise dos resultados, já que o mesmo comportamento aparece em diferentes lugares.

Manter um repositório organizado, revisado e com regras claras de escrita é essencial para reduzir redundâncias. Isso garante que cada cenário tenha um propósito único e facilite a rastreabilidade no ciclo de testes.

Automação confiável e ambiente controlado

A automação só é eficiente se for executada em um pipeline estável. Ter um fluxo de integração contínua (CI/CD) bem configurado reduz falhas e garante consistência na execução dos testes.

Além disso, ambientes gerenciados em nuvem são ideais, pois oferecem escalabilidade e reduzem problemas relacionados à infraestrutura. 

Hospedagens que suportam pipelines prontos, como provedores que facilitam CI/CD, contribuem para que os cenários sejam executados em condições previsíveis.

Quando bem estruturados, atualizados e rodando em ambientes confiáveis, os testes BDD cumprem a sua função de conectar requisitos de negócio à qualidade técnica do software.

BDD vs outras metodologias de teste e desenvolvimento

O BDD (Behavior-Driven Development) é frequentemente comparado a outras práticas ágeis, como TDD (Test-Driven Development) e ATDD (Acceptance Test-Driven Development).

Compreender as suas diferenças e sobreposições é fundamental para escolher a abordagem mais adequada para cada projeto.

BDD vs TDD

Enquanto o TDD foca em testes de unidade e na qualidade do código, o BDD concentra-se no comportamento do sistema, tornando os testes acessíveis a todos os membros da equipe, desde desenvolvedores até stakeholders. 

Essa abordagem permite que todos compreendam os objetivos do software de forma clara antes mesmo de iniciar o desenvolvimento, promovendo alinhamento entre as áreas técnicas e de negócio.

  • TDD → testes de unidade, foco no código.
  • BDD → foco no comportamento, acessível a todos.

BDD vs ATDD (Acceptance Test-Driven Development)

O ATDD compartilha com o BDD a preocupação de definir critérios de aceitação antes do desenvolvimento, garantindo que o software atenda aos requisitos esperados.

No entanto, o BDD vai além, descrevendo o comportamento do sistema em uma linguagem ubíqua, compreensível por equipes multidisciplinares. 

Essa prática facilita a comunicação, evita ambiguidades e transforma requisitos complexos em cenários claros e testáveis.

  • ATDD → foca em critérios de aceitação antes do desenvolvimento.
  • BDD → expande esse conceito, descrevendo comportamento em linguagem ubíqua.

Possíveis sobreposições e quando usar cada abordagem

Como foi demonstrado, cada metodologia possui cenários ideais de aplicação. O TDD é indicado para projetos altamente técnicos, nos quais a qualidade do código e a cobertura de testes são prioridades. 

Já o ATDD é útil para validar regras de negócio antes da implementação, garantindo que o software atenda exatamente aos critérios definidos. Por fim o BDD se mostra essencial quando a comunicação entre equipes e stakeholders é crítica, promovendo colaboração, transparência e entrega de software alinhada às expectativas do negócio.

  • TDD → melhor em projetos altamente técnicos.
  • ATDD → útil para validar regras antes da implementação.
  • BDD → essencial quando a comunicação entre times é prioridade.

Abaixo detalhamos em uma tabela as principais diferenças entre cada metodologia:

CaracterísticaTDD (Test-Driven Development)ATDD (Acceptance Test-Driven Development)BDD (Behavior-Driven Development)
FocoCódigo funcionando conforme testesTestes de aceitação definidos pelo clienteComportamento do sistema (linguagem comum)
ColaboraçãoPrincipalmente entre desenvolvedoresEntre desenvolvedores, testadores e clientesEntre toda a equipe, incluindo stakeholders
FerramentasJUnit, NUnit, etc.JUnit, Selenium, etc.Cucumber, SpecFlow, etc.
ExemploEscrever teste para uma funçãoEscrever teste de aceitação para uma funcionalidadeEscrever cenários de comportamento (Given-When-Then)

Tanto o BDD, quanto o TDD e o ATDD possuem objetivos distintos e podem se complementar dependendo do projeto.

O TDD se concentra na qualidade do código, o ATDD foca na validação de critérios de aceitação, e o BDD enfatiza a compreensão do comportamento do sistema por toda a equipe. 

Dessa forma, a escolha entre essas abordagens deve considerar o tipo de projeto, o perfil da equipe e a necessidade de comunicação entre stakeholders e desenvolvedores.

Exemplos práticos de BDD

Nada melhor do que ver o BDD em ação. Os exemplos a seguir mostram como essa metodologia pode ser aplicada tanto em sistemas simples quanto em arquiteturas mais complexas.

Projeto web simples (login, cadastro)

Um dos exemplos mais comuns para demonstrar o funcionamento do BDD é o caso de login e cadastro em um sistema web. O primeiro passo é definir a funcionalidade que será validada, como login de usuários. 

A partir disso, descreve-se a história de usuário: “Como cliente, quero fazer login para acessar minha conta”.

Esse enunciado simples já orienta a equipe sobre o objetivo do negócio. Em seguida, os cenários são criados no formato Given-When-Then, cobrindo comportamentos esperados. 

Esses cenários podem ser automatizados com ferramentas como o Cucumber, garantindo que o comportamento continue válido mesmo após alterações no código.

Aplicação de API ou microsserviço

Uma história de usuário poderia ser: Como cliente, quero consultar meus pedidos para acompanhar o status da entrega.

A partir disso, descrevem-se cenários práticos, como: quando a requisição é válida, a API deve retornar à lista de pedidos; quando a requisição é inválida, deve responder com um erro padronizado e informativo. 

Esses cenários, escritos em Gherkin, permitem que a equipe técnica e de negócios alinhem expectativas de forma simples. Depois, são automatizados com ferramentas como Cucumber ou Behave e integrados ao pipeline CI/CD. 

Assim, cada alteração no código dispara a execução dos testes, garantindo que a API mantenha estabilidade e comportamento previsível em produção.

Cenário de negócio real demonstrando ciclo completo

Para tornar o conhecimento sólido, ilustramos localmente o ciclo completo, passando pela definição da funcionalidade, história do usuário, escrita de cenário até a automatização, veja a seguir:

1 Passo – Definição da funcionalidade

Ilustrar visualmente o que será testado ajuda a facilitar o planejamento e a comunicação entre as equipes, neste caso, vamos testar uma tela de login.

Objetivo: Mostrar visualmente qual é a funcionalidade que será testada.

2 Passo – História de usuário

A partir disso, descreve-se a história de usuário: “Como cliente, quero fazer login para acessar minha conta”. Esse enunciado simples já orienta a equipe sobre o objetivo do negócio. 

Objetivo: Ilustrar a narrativa de negócio que guia a criação dos cenários utilizando o fluxo ideal que é realizar o login no sistema, e os possíveis cenários, como no fluxograma abaixo:

3 Passo – Escrita dos cenários (Given-When-Then)

Neste ponto estamos usando o Vscode com o cucumber local. Utilizamos o arquivo login.feature para escrever os passos Given-When-Then para verificar cada passo em um sistema de login, nos retornando a validação do cenário e dos 3 passos no terminal.

Objetivo: Mostrar como o comportamento esperado é transformado em um cenário de teste.

4 Passo – Automatização do cenário

Nesta parte utilizamos o arquivo LoginSeps.js para simular os passos Given-When-Then para verificar cada passo em um sistema de login, nos retornando a validação do cenário e dos 3 passos no terminal.

Objetivo: Representar o vínculo entre os passos em linguagem natural e os métodos de automação.

A partir desse ponto, já é possível dimensionar o BDD diretamente no processo da sua empresa ou projeto pessoal para testar o conhecimento adquirido.

Conclusão

O Behavior-Driven Development (BDD) não é apenas mais uma técnica de testes. Já que ele representa uma filosofia de colaboração que une áreas técnicas e de negócio em torno de um objetivo comum: entregar valor real ao usuário.

Com BDD, você consegue reduzir retrabalho, melhorar comunicação e documentar requisitos de forma clara e viva. Embora exija disciplina e ferramentas adequadas, os resultados compensam: menos bugs, mais clareza e maior alinhamento estratégico.

Seja em projetos pequenos ou grandes sistemas corporativos, o BDD pode ser aplicado de forma incremental, começando com cenários simples até chegar a pipelines de CI/CD totalmente integrados.

Quer aplicar o BDD em seus projetos de software com mais segurança? Conte com a HostGator para hospedar seus ambientes de desenvolvimento e produção em servidores de alta performance.

Conteúdos relacionados

Navegue por tópicos

  • O que é BDD?

    • Definição e origem do Behavior-Driven Development

    • Como BDD se relaciona com TDD e DDD

  • Princípios e filosofia do BDD

    • Linguagem ubíqua e comunicação entre equipe técnica e negócios

    • Cenários (Given-When-Then)

    • Foco no comportamento e valor para o usuário

  • Benefícios de usar BDD em projetos

    • Melhor comunicação entre stakeholders

    • Menos retrabalho e menos bugs

    • Documentação “viva” por meio de cenários

  • Ferramentas populares para BDD

    • Cucumber

    • SpecFlow

    • Behave (Python)

    • JBehave / JUnit integrado (Java)

  • Como aplicar BDD passo a passo

    • Identificar requisitos e histórias de usuário

    • Escrever cenários com Given-When-Then

    • Automação dos testes de comportamento

    • Integração dos cenários no ciclo de desenvolvimento

  • Desafios e boas práticas do BDD

    • Manter cenários atualizados

    • Cenários demasiado genéricos ou muito específicos

    • Evitar duplicação de testes

    • Automação confiável e ambiente controlado

  • BDD vs outras metodologias de teste e desenvolvimento

    • BDD vs TDD

    • BDD vs ATDD (Acceptance Test-Driven Development)

    • Possíveis sobreposições e quando usar cada abordagem

  • Exemplos práticos de BDD

    • Projeto web simples (login, cadastro)

    • Aplicação de API ou microsserviço

    • Cenário de negócio real demonstrando ciclo completo

  • Conclusão

Tags:

  • Servidor VPS

Alexandre Nogueira

Alexandre Nogueira é jornalista, Redator SEO, Copywriter e especialista em tecnologia. Possui ainda pós-graduação em Jornalismo Esportivo e especialização em marketing digital. Já trabalhou em grandes agências, como a Rock Content e a SharpSpring. Escreve sobre Tecnologia, Marketing digital, SEO, Cultura e Esportes. Ama jornalismo, games, tecnologia, pets, cinema, viajar, escrever, o futebol e o Santos, não necessariamente nessa ordem.

Mais artigos do autor

Garanta sua presença online

Encontre o nome perfeito para seu site

www.