SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Dendicasa
CONVERSA SOBRE SHIF LEFT
Podemos ajudar?
DOUGLAS CARDOSO
Meu nome é Douglas Cardoso.
Sou graduado em Matemática, pós-
graduado em Inteligência Artificial,
Análise e Projeto de Sistemas, e
Gestão de Tecnologia da
Informação.
Desde 2010 atuo na área de teste e
qualidade de software, e qualidade
de processos.
douglas-cardosom
Shift Left
AGENDA
-
O que?
-
Quando?
-
Quem?
-
Por que?
-
Onde?
-
Quanto?
-
Como?
-
Exemplos
-
Ferramentas
Shift Left
...desenha-me um carneiro!
Shift Left
Antoine de Saint-Exupéry, O Pequeno Príncipe, pág 5
...desenha-me um carneiro!
Shift Left
Antoine de Saint-Exupéry, O Pequeno Príncipe, pág 5
O que?
Falhar...
Shift Left
Quando?
...o mais rápido possível.
Shift Left
Quem?
- Arquitetos
- Desenvolvedores
- Testadores
Shift Left
Por que?
“O usuário final tem muito tempo e criatividade
para encontrar defeitos no sistema e não
queremos que ele descubra essa habilidade.”
Douglas Cardoso, 2021
Shift Left
Onde?
Shift Left
Quanto?
Shift Left
Como?
Shift Left
Como?
Shift Left
- Revisando a especificação
- Participando ativamente de reuniões
- Perguntando e validando
- Compartilhando informação
- Garantindo testabilidade
- Aplicando PDCA
Exemplos de software difícil de testar:
https://www.williams-sonoma.com/
Shift Left
Exemplos de software difícil de testar:
Shift Left
//selecting data from database
public DataTable Select()
{
//step 1: database connection
SqlConnection conn = new SqlConnection(myconnstring);
DataTable dt = new DataTable();
try
{
//step 2: writing sql query
string sql = "SELECT * FROM tbl_contact";
//creating and using sql and conn
SqlCommand cmd = new SqlCommand(sql, conn);
//creating SQL DataAdpter usind cmd
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
conn.Open();
adapter.Fill(dt);
}catch(Exception ex)
Exemplos de software difícil de testar:
Shift Left
class Prediction:
def __init__(self, messages, model, questions: set, answers: set,
pc_questions: dict, pc_answers: dict, tokenizer):
self.questions = questions
self.answers = answers
self.pc_questions = pc_questions
self.pc_answers = pc_answers
self.tokenizer = tokenizer
self.model = model
self.messages = messages
self.pp = PreProcessing()
self.s = Similarity(questions=self.questions,
answers=self.answers
)
def predict(self, msg):
if msg == '' or msg is None:
return emergency_message()
Exemplos de software difícil de testar:
Shift Left
def process_numbers(input):
"""
Create a list that has share of all even numbers in input list
Now in this list, if number is less then 20 return a list where
every element is a dictionary containing square and cube of a number
"""
return [{'square': n*n, 'cube': n*n*n} for n in [i*i for i in input if i%2==0] if n<20]
Ferramentas: Linters
Shift Left
Ferramentas: Sonar
Shift Left
Ferramentas: Code Review
Shift Left
Ferramentas: Cobertura
Shift Left
Referências
- https://interaktiv.com.br/blog/post/o-custo-efetivo-dos-bugs-no-
desenvolvimento-de-softwares
- https://levelup.gitconnected.com/shift-left-7-stages-to-speed-
up-application-development-while-improving-quality-
498d9a7b9393
- http://www.bianchi.pro.br/edutec/qualsoft.php
- https://www.youtube.com/watch?v=rii6QRX8ZLs
- https://digital.ai/resources/c/shift-gears-with-shift-left?x=0Zfn7A
Shift Left
Obrigado!
Shift Left

Mais conteúdo relacionado

Semelhante a [MTC 2021] Conversa sobre shift left - Douglas Cardoso

O que você acha que sabe sobre banco de dados
O que você acha que sabe sobre banco de dadosO que você acha que sabe sobre banco de dados
O que você acha que sabe sobre banco de dadosMatheus de Oliveira
 
Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS
 Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS
Como usar Machine Learning no E-commerce com soluções de PaaS e SaaSE-Commerce Brasil
 
Processo de desenvolvimento de software
Processo de desenvolvimento de softwareProcesso de desenvolvimento de software
Processo de desenvolvimento de softwareJeoás Alves
 
AMD, BDD, e o Javali
AMD, BDD, e o JavaliAMD, BDD, e o Javali
AMD, BDD, e o JavaliRafael Lyra
 
C.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoC.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoTiago Barros
 
Exercicios resolvidos algoritmos
Exercicios resolvidos algoritmosExercicios resolvidos algoritmos
Exercicios resolvidos algoritmosDébora Inocêncio
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDDomingos Teruel
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...alexandre freire
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaElaine Naomi
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Gabriel Schade Cardoso
 
O que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosO que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosDanilo Sato
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 

Semelhante a [MTC 2021] Conversa sobre shift left - Douglas Cardoso (20)

Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Estrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressãoEstrategias Ágeis para testes sob pressão
Estrategias Ágeis para testes sob pressão
 
Palestra e business
Palestra e businessPalestra e business
Palestra e business
 
Testes de software de A a Z
Testes de software de A a ZTestes de software de A a Z
Testes de software de A a Z
 
O que você acha que sabe sobre banco de dados
O que você acha que sabe sobre banco de dadosO que você acha que sabe sobre banco de dados
O que você acha que sabe sobre banco de dados
 
Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS
 Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS
Como usar Machine Learning no E-commerce com soluções de PaaS e SaaS
 
Processo de desenvolvimento de software
Processo de desenvolvimento de softwareProcesso de desenvolvimento de software
Processo de desenvolvimento de software
 
AMD, BDD, e o Javali
AMD, BDD, e o JavaliAMD, BDD, e o Javali
AMD, BDD, e o Javali
 
C.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoC.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en Diseño
 
Exercicios resolvidos algoritmos
Exercicios resolvidos algoritmosExercicios resolvidos algoritmos
Exercicios resolvidos algoritmos
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Vamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDDVamos falar de Clean Code, Refatoração e TDD
Vamos falar de Clean Code, Refatoração e TDD
 
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o ...
 
Clean Code
Clean CodeClean Code
Clean Code
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Programação Funcional usando C# e F#
Programação Funcional usando C# e F#Programação Funcional usando C# e F#
Programação Funcional usando C# e F#
 
O que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a ObjetosO que você NÃO aprendeu sobre Programação Orientada a Objetos
O que você NÃO aprendeu sobre Programação Orientada a Objetos
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 

Mais de minastestingconference

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendesminastestingconference
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomucenominastestingconference
 
[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
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...minastestingconference
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveiraminastestingconference
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...minastestingconference
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reisminastestingconference
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santosminastestingconference
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...minastestingconference
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...minastestingconference
 
[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
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASminastestingconference
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...minastestingconference
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...minastestingconference
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de inframinastestingconference
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
 
O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?minastestingconference
 

Mais de minastestingconference (20)

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
 
[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...
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
 
[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
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infra
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
Saia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurançaSaia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurança
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
 
O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?O que é teste e qualidade em Chatbots?
O que é teste e qualidade em Chatbots?
 

[MTC 2021] Conversa sobre shift left - Douglas Cardoso