SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Como criar uma cultura de
qualidade de código?
O que é código de qualidade?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
- Código que segue as guidelines e styleguides? Utilização dos melhores design
patterns?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
- Código que segue as guidelines e styleguides? Utilização dos melhores design
patterns?
- Código com boa cobertura de testes?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
- Código que segue as guidelines e styleguides? Utilização dos melhores design
patterns?
- Código com boa cobertura de testes?
- Código sem bugs?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
- Código que segue as guidelines e styleguides? Utilização dos melhores design
patterns?
- Código com boa cobertura de testes?
- Código sem bugs?
- Código que entrega valor para o usuário?
O que é código de qualidade?
- Código bem escrito, fácil de entender?
- Código que segue as guidelines e styleguides? Utilização dos melhores design
patterns?
- Código com boa cobertura de testes?
- Código sem bugs?
- Código que entrega valor para o usuário?
Ou seria isso tudo junto?
E quem é responsável pela qualidade da
entrega?
E quem é responsável pela qualidade da
entrega?
- Desenvolvedor?
- Testers?
- QA?
- Time inteiro?
- Empresa inteira?
No one had direct ownership over
quality
Como envolver todo mundo?
- Práticas e processos
- Ferramentas
- Aprendizado e crescimento constante
Práticas e Processos
Correções de bugs
Correções de bugs
- O responsável pela correção deve ser quem fez a tarefa que gerou o bug
Correções de bugs
- O responsável pela correção deve ser quem fez a tarefa que gerou o bug
- Adicionar teste para o cenário do bug
Correções de bugs
- O responsável pela correção deve ser quem fez a tarefa que gerou o bug
- Adicionar teste para o cenário do bug
- Usar como aprendizado para o restante do time
Desenvolvimento
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
- Testes automatizados
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
- Testes automatizados
- Styleguides e guidelines
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
- Testes automatizados
- Styleguides e guidelines
- Branches que duram pouco tempo longe da master
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
- Testes automatizados
- Styleguides e guidelines
- Branches que duram pouco tempo longe da master
- Integração contínua
Desenvolvimento
- Ter clareza de quais são as áreas críticas do sistema
- PR e Code Review
- Testes automatizados
- Styleguides e guidelines
- Branches que duram pouco tempo longe da master
- Integração contínua
- Homogeneidade do código
Ferramentas
Testes
- Rspec
- Minitest
- Simplecov
Code analyzers - Libs
- Rubocop
- Traceroute
- Rubycritic
- Brakeman
- Bundler-audit
Code analyzers - Aplicações
- Caliperapp
- CodeClimate Quality
- Codacy
Integração contínua
- CircleCI
- Codeship
- Jenkins
- SemaphoreCI
- TravisCI
Perguntas?
Obrigado!
https://github.com/mre/awesome-static-analysis#ruby
https://github.com/amatsuda/traceroute
https://github.com/MiniProfiler/rack-mini-profiler
https://github.com/flyerhzm/bullet
https://github.com/presidentbeef/brakeman
https://github.com/rubocop-hq/rubocop#cops
https://github.com/whitesmith/rubycritic
https://github.com/colszowka/simplecov
Links 1
Links 2
https://www.gitprime.com/
https://codeclimate.com/quality/
https://codeclimate.com/
https://circleci.com/
https://jenkins.io/
https://travis-ci.org/
https://semaphoreci.com/
https://codeship.com/

Mais conteúdo relacionado

Mais procurados

Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban 5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban Carlos Eduardo Polegato
 
5 dúvidas frequentes ao iniciar o método Kanban
5 dúvidas frequentes ao iniciar o método Kanban5 dúvidas frequentes ao iniciar o método Kanban
5 dúvidas frequentes ao iniciar o método KanbanCarlos Eduardo Polegato
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Wagner Mendes Voltz Fusca
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...minastestingconference
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 
Testes de software
Testes de softwareTestes de software
Testes de softwareVitor Castro
 
O Desenvolvedor Completo - por Mariana Bravo
O Desenvolvedor Completo - por Mariana BravoO Desenvolvedor Completo - por Mariana Bravo
O Desenvolvedor Completo - por Mariana BravoThoughtworks
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Wagner Mendes Voltz Fusca
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizadosMarcelo Andrade
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorotminastestingconference
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceAgilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceWagner Mendes Voltz Fusca
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de softwareQualister
 
Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5André Phillip Bertoletti
 
Definindo testes e estratégias para dispositivos móveis
Definindo testes e estratégias para dispositivos móveisDefinindo testes e estratégias para dispositivos móveis
Definindo testes e estratégias para dispositivos móveisThiago Cordeiro
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAFrederico Augusto Do Carmo Moreira
 

Mais procurados (20)

Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban 5 duvidas frequentes ao iniciar o método kanban
5 duvidas frequentes ao iniciar o método kanban
 
5 dúvidas frequentes ao iniciar o método Kanban
5 dúvidas frequentes ao iniciar o método Kanban5 dúvidas frequentes ao iniciar o método Kanban
5 dúvidas frequentes ao iniciar o método Kanban
 
Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020Você não faz qualidade em Software - TDC Florianópolis 2020
Você não faz qualidade em Software - TDC Florianópolis 2020
 
Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020Seu codigo fede e voce nem sabia - 2020
Seu codigo fede e voce nem sabia - 2020
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidade
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
 
O Desenvolvedor Completo - por Mariana Bravo
O Desenvolvedor Completo - por Mariana BravoO Desenvolvedor Completo - por Mariana Bravo
O Desenvolvedor Completo - por Mariana Bravo
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceAgilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba Conference
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de software
 
Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5Engenharia de Software - Unimep/Pronatec - Aula 5
Engenharia de Software - Unimep/Pronatec - Aula 5
 
Definindo testes e estratégias para dispositivos móveis
Definindo testes e estratégias para dispositivos móveisDefinindo testes e estratégias para dispositivos móveis
Definindo testes e estratégias para dispositivos móveis
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QA
 
QA Ninja Conference 2017
QA Ninja Conference 2017QA Ninja Conference 2017
QA Ninja Conference 2017
 

Semelhante a Como criar uma cultura de qualidade de código

[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
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êniorMarcos Pereira
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaPedro Castilho
 
T@rget trust metodologias ágeis - técnicas para gerar código de qualidade - xp
T@rget trust   metodologias ágeis - técnicas para gerar código de qualidade - xpT@rget trust   metodologias ágeis - técnicas para gerar código de qualidade - xp
T@rget trust metodologias ágeis - técnicas para gerar código de qualidade - xpTargettrust
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POAGUTS-RS
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Camilla Gomes
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 
[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016GUTS-RS
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de softwareFelipe Bugov
 
T@rget trust curso de planejamento e execução de testes de software
T@rget trust   curso de planejamento e execução de testes de softwareT@rget trust   curso de planejamento e execução de testes de software
T@rget trust curso de planejamento e execução de testes de softwareTargettrust
 
1 Qss
1 Qss1 Qss
1 Qsslcbj
 

Semelhante a Como criar uma cultura de qualidade de código (20)

[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
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
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão Crítica
 
T@rget trust metodologias ágeis - técnicas para gerar código de qualidade - xp
T@rget trust   metodologias ágeis - técnicas para gerar código de qualidade - xpT@rget trust   metodologias ágeis - técnicas para gerar código de qualidade - xp
T@rget trust metodologias ágeis - técnicas para gerar código de qualidade - xp
 
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
[GUTS-RS] GUTS Universitário - UNISINOS Campus POA
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016[GUTS-RS] Tendências de Teste de Software para 2016
[GUTS-RS] Tendências de Teste de Software para 2016
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
T@rget trust curso de planejamento e execução de testes de software
T@rget trust   curso de planejamento e execução de testes de softwareT@rget trust   curso de planejamento e execução de testes de software
T@rget trust curso de planejamento e execução de testes de software
 
Processo de Software
Processo de SoftwareProcesso de Software
Processo de Software
 
1 Qss
1 Qss1 Qss
1 Qss
 

Como criar uma cultura de qualidade de código