SlideShare una empresa de Scribd logo
1 de 38
Construindo bons relacionamentos
entre Desenvolvedores e
Testadores
1
Thomas Paula - @tsp_thomas
Gabriel Oliveira - @gpaoliveira
2
Thomas Paula
Software Engineer @HP
• Developer desde 2012
• Feevale
• Pós em Engenharia de Software (Labex)
• Mestrando em Ciência da Computação
Gabriel Oliveira
Test Engineer @HP
• Tester desde 2011
• UFRGS
• Ex-Dev C/C++/C#
• Ex-Analista de Teste de Performance
Quem somos nós?
O que temos para hoje?
• Ciclo de desenvolvimento
• O Dev e o Tester “medianos”
• Problemas >.<
• Soluções :D
• O “super” profissional
• Perguntas ?
3
Era uma vez... um requisito!
4
Development
Testing
5
Se o software funciona
assim porquê a
documentação diz ao
contrário ?
???
???
Development
Testing
6
Que DOM horrível ? Não
dá pra automatizar teste
dessa forma !
???
???
Development
Testing
7
Não tem como
automatizar isso - vai
precisar de um trabalho
de refactor
???
???
Development
Testing
8
Por quê esse cenário não
foi testado ?
???
???
Development
Testing
9
Por quê esse cenário não
foi desenvolvido ?
???
???
Development
Testing
10
O nosso framework
deveria suportar essa
funcionalidade !
???
???
???
Development
Testing
11
12
Resultado?
Entregas do projeto atrasam
Requisitos não atendem às
expectativas do cliente
Bugs, bugs e mais bugs!
Tester diz que o dev não
desenvolveu direito
Dev diz que o tester não testou
corretamente
“Isso ai é uma feature e não um bug!”
Developer, Qualquer
13
O desenvolvedor “mediano”
14
Somente desenvolve
Testar pra quê ? Documentar por quê?
Trabalha sozinho, isolado de tudo e de todos
Afinal, criar software exige concentração (e café!)
Entrega o máximo de requisitos possível
Mesmo que outras equipes não estejam prontas
Acredita fielmente que seu código não tem bugs
Ai daquele que disser ao contrário!
“Se o software funciona é mérito do
desenvolvedor. Se não funciona, é
culpa do tester”
Tester, #chateado com a vida
15
O tester “mediano”
16
Somente testa
Detesta programar
Quanto menos linhas de código por dia, melhor (de
preferência, 0 por mês)
Espera o desenvolvimento terminar para
começar a testar
Afinal, se não tá estável eu nem olho!
Não fala com o desenvolvedor
Para isso existem os relatórios de bug oras?!
17
O que fazer para resolver?
#1: Teamwork, teamwork, teamwork!
18
Trabalhar juntos desde o início
do processo
Definir objetivos individuais e
conjuntos
Requisito é considerado pronto
quando desenvolvido e testado
#2: Comunicação
19
Leve diferentes pontos de vista
em consideração
#2: Comunicação
20
Leve diferentes pontos de vista
em consideração
Seja claro na sua intenção
#2: Comunicação
21
Leve diferentes pontos de vista
em consideração
Seja claro na sua intenção
Use uma linguagem próxima do
seu interlocutor
#2: Comunicação
22
Leve diferentes pontos de vista
em consideração
Seja claro na sua intenção
Use uma linguagem próxima do
seu interlocutor
Coordenação
Se algo mudou, avise a todos
#3: Mudança é inevitável: conviva com ela
23
Mudança nunca é fácil
#3: Mudança é inevitável: conviva com ela
24
Mudança nunca é fácil
Adaptar-se não é algo opcional
#3: Mudança é inevitável: conviva com ela
25
Mudança nunca é fácil
Adaptar-se não é algo opcional
Tudo se resume a escolhas
#4: Qualidade é algo que a equipe toda
constrói e não somente os testadores
26
Tarefa pronta deve envolver
testes!
Refatore o código
E denovo, e denovo e denovo...
#4: Qualidade é algo que a equipe toda
constrói e não somente os testadores
27
Tarefa pronta deve envolver
testes!
Todos precisam pensar
Testers e Developers
Refatore o código
E denovo, e denovo e denovo...
#4: Qualidade é algo que a equipe toda
constrói e não somente os testadores
28
Tarefa pronta deve envolver
testes!
Todos precisam pensar
Testers e Developers
Nem só os testadores podem ser
bons questionadores
Refatore o código
E denovo, e denovo e denovo...
#5: Bug no código dos outros não é
refresco: cuidado ao relatar bugs
29
Não se torne o vilão
#5: Bug no código dos outros não é
refresco: cuidado ao relatar bugs
30
Não se torne o vilão
Reportar um bug deve ser uma
crítica ao produto/problema
Não a pessoa
#6: Pratique o desapego: um bug no seu
código não é atestado de incompetência!
31
O código que você escreveu não
é seu: é de todos
#6: Pratique o desapego: um bug no seu
código não é atestado de incompetência!
32
O código que você escreveu não
é seu: é de todos
Um bug no código é como uma
sujeira no apartamento coletivo
Todos devem ajudar a “limpar”
#6: Pratique o desapego: um bug no seu
código não é atestado de incompetência!
33
O código que você escreveu não
é seu: é de todos
Um bug no código é como uma
sujeira no apartamento coletivo
Todos devem ajudar a “limpar”
Profissionais são humanos
Humanos falham
Como construir um bom relacionamento
entre desenvolvedores e testadores?
34
ACME
Como construir um bom relacionamento
entre desenvolvedores e testadores?
35
#1: Teamwork, teamwork,
teamwork!
#2: Comunicação: se algo
mudou, avise a todos
#3: Mudança é inevitável:
conviva com ela
#4: Qualidade é algo que a
equipe toda constrói e não
somente os testadores
#5: Bug no código dos outros
não é refresco: cuidado ao
relatar bugs
#6: Pratique o desapego: um
bug no seu código não é
atestado de incompetência
O “super” profissional
36
Comunica-se com clareza
Com a própria equipe e com os clientes internos
Saber trabalhar em equipe
Principalmente, em parceria com outros papéis
Procurar entender a necessidade do cliente
Muito mais do que entregar pilhas de requisitos,
entrega valor e adapta-se ao contexto
Entender que a construção do software é
colaborativa
Depende de todos para atingir os resultados
O “super” profissional
37
Pensar no todo (Big Picture Thinking)
Seja parceiro do cliente na construção do sistema
Dar ideias e defendê-las
Não ter receio de defender seu ponto de vista
Ser crítico
De uma forma construtiva
Compartilhar conhecimento
"Ninguém é tão sábio que não tenha algo para aprender e nem
tão tolo que não tenha algo para ensinar.“ (Blaise Pascal)
38
Thomas Paula
@tsp_thomas
tsp.thomas@gmail.com
Gabriel Oliveira
@gpaoliveira
gabriel.pa.oliveira@gmail.com
Muito obrigado!

Más contenido relacionado

La actualidad más candente

TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaEric Lemes
 
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
 
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
 
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
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017Ismael
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Usando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasUsando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasGabriel Schade Cardoso
 
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018Wagner Mendes Voltz Fusca
 
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
 
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
 
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Trends
 
Memorias das trincheiras
Memorias das trincheirasMemorias das trincheiras
Memorias das trincheirasElton Minetto
 
A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014Carlos Felippe Cardoso
 
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
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Victor Pantoja
 
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
 

La actualidad más candente (20)

TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
 
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
 
Qa4 women - Porque qualidade também é coisa de mulher! <3
Qa4 women - Porque qualidade também é coisa de mulher! <3Qa4 women - Porque qualidade também é coisa de mulher! <3
Qa4 women - Porque qualidade também é coisa de mulher! <3
 
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
 
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
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
Como você testa seu software TDC 2017
Como você testa seu software  TDC 2017Como você testa seu software  TDC 2017
Como você testa seu software TDC 2017
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Maio 2016 - O QA em um Time Ágil
Maio 2016 - O QA em um Time Ágil Maio 2016 - O QA em um Time Ágil
Maio 2016 - O QA em um Time Ágil
 
Usando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasUsando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em Libras
 
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
 
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
 
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
 
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
Agile Tester – a importância da automação dos testes no DevOps - Sidnei Eiji ...
 
Memorias das trincheiras
Memorias das trincheirasMemorias das trincheiras
Memorias das trincheiras
 
A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014A integração contínua pode te dar metricas de graca - SGRIO 2014
A integração contínua pode te dar metricas de graca - SGRIO 2014
 
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
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)
 
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
 

Similar a Construindo bons relacionamentos entre desenvolvedores e testadores

Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaLeandro Alonso
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?Isaac de Souza
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareLaura_ifpe
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Esqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdadeEsqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdadePedro Chaves
 
O que é Desenvolvimento de Aplicações
O que é Desenvolvimento de AplicaçõesO que é Desenvolvimento de Aplicações
O que é Desenvolvimento de AplicaçõesProfThiagoAAlves
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugsSarah Pimentel
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Maurício Aniche
 

Similar a Construindo bons relacionamentos entre desenvolvedores e testadores (20)

Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquitetura
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Esqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdadeEsqueça a linguagem e vire um programador de verdade
Esqueça a linguagem e vire um programador de verdade
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
O que é Desenvolvimento de Aplicações
O que é Desenvolvimento de AplicaçõesO que é Desenvolvimento de Aplicações
O que é Desenvolvimento de Aplicações
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugs
 
Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
Efeitos da Prática de Revisão de Código na Caelum: Um Estudo Preliminar em Du...
 

Construindo bons relacionamentos entre desenvolvedores e testadores

  • 1. Construindo bons relacionamentos entre Desenvolvedores e Testadores 1 Thomas Paula - @tsp_thomas Gabriel Oliveira - @gpaoliveira
  • 2. 2 Thomas Paula Software Engineer @HP • Developer desde 2012 • Feevale • Pós em Engenharia de Software (Labex) • Mestrando em Ciência da Computação Gabriel Oliveira Test Engineer @HP • Tester desde 2011 • UFRGS • Ex-Dev C/C++/C# • Ex-Analista de Teste de Performance Quem somos nós?
  • 3. O que temos para hoje? • Ciclo de desenvolvimento • O Dev e o Tester “medianos” • Problemas >.< • Soluções :D • O “super” profissional • Perguntas ? 3
  • 4. Era uma vez... um requisito! 4
  • 6. Se o software funciona assim porquê a documentação diz ao contrário ? ??? ??? Development Testing 6
  • 7. Que DOM horrível ? Não dá pra automatizar teste dessa forma ! ??? ??? Development Testing 7
  • 8. Não tem como automatizar isso - vai precisar de um trabalho de refactor ??? ??? Development Testing 8
  • 9. Por quê esse cenário não foi testado ? ??? ??? Development Testing 9
  • 10. Por quê esse cenário não foi desenvolvido ? ??? ??? Development Testing 10
  • 11. O nosso framework deveria suportar essa funcionalidade ! ??? ??? ??? Development Testing 11
  • 12. 12 Resultado? Entregas do projeto atrasam Requisitos não atendem às expectativas do cliente Bugs, bugs e mais bugs! Tester diz que o dev não desenvolveu direito Dev diz que o tester não testou corretamente
  • 13. “Isso ai é uma feature e não um bug!” Developer, Qualquer 13
  • 14. O desenvolvedor “mediano” 14 Somente desenvolve Testar pra quê ? Documentar por quê? Trabalha sozinho, isolado de tudo e de todos Afinal, criar software exige concentração (e café!) Entrega o máximo de requisitos possível Mesmo que outras equipes não estejam prontas Acredita fielmente que seu código não tem bugs Ai daquele que disser ao contrário!
  • 15. “Se o software funciona é mérito do desenvolvedor. Se não funciona, é culpa do tester” Tester, #chateado com a vida 15
  • 16. O tester “mediano” 16 Somente testa Detesta programar Quanto menos linhas de código por dia, melhor (de preferência, 0 por mês) Espera o desenvolvimento terminar para começar a testar Afinal, se não tá estável eu nem olho! Não fala com o desenvolvedor Para isso existem os relatórios de bug oras?!
  • 17. 17 O que fazer para resolver?
  • 18. #1: Teamwork, teamwork, teamwork! 18 Trabalhar juntos desde o início do processo Definir objetivos individuais e conjuntos Requisito é considerado pronto quando desenvolvido e testado
  • 19. #2: Comunicação 19 Leve diferentes pontos de vista em consideração
  • 20. #2: Comunicação 20 Leve diferentes pontos de vista em consideração Seja claro na sua intenção
  • 21. #2: Comunicação 21 Leve diferentes pontos de vista em consideração Seja claro na sua intenção Use uma linguagem próxima do seu interlocutor
  • 22. #2: Comunicação 22 Leve diferentes pontos de vista em consideração Seja claro na sua intenção Use uma linguagem próxima do seu interlocutor Coordenação Se algo mudou, avise a todos
  • 23. #3: Mudança é inevitável: conviva com ela 23 Mudança nunca é fácil
  • 24. #3: Mudança é inevitável: conviva com ela 24 Mudança nunca é fácil Adaptar-se não é algo opcional
  • 25. #3: Mudança é inevitável: conviva com ela 25 Mudança nunca é fácil Adaptar-se não é algo opcional Tudo se resume a escolhas
  • 26. #4: Qualidade é algo que a equipe toda constrói e não somente os testadores 26 Tarefa pronta deve envolver testes! Refatore o código E denovo, e denovo e denovo...
  • 27. #4: Qualidade é algo que a equipe toda constrói e não somente os testadores 27 Tarefa pronta deve envolver testes! Todos precisam pensar Testers e Developers Refatore o código E denovo, e denovo e denovo...
  • 28. #4: Qualidade é algo que a equipe toda constrói e não somente os testadores 28 Tarefa pronta deve envolver testes! Todos precisam pensar Testers e Developers Nem só os testadores podem ser bons questionadores Refatore o código E denovo, e denovo e denovo...
  • 29. #5: Bug no código dos outros não é refresco: cuidado ao relatar bugs 29 Não se torne o vilão
  • 30. #5: Bug no código dos outros não é refresco: cuidado ao relatar bugs 30 Não se torne o vilão Reportar um bug deve ser uma crítica ao produto/problema Não a pessoa
  • 31. #6: Pratique o desapego: um bug no seu código não é atestado de incompetência! 31 O código que você escreveu não é seu: é de todos
  • 32. #6: Pratique o desapego: um bug no seu código não é atestado de incompetência! 32 O código que você escreveu não é seu: é de todos Um bug no código é como uma sujeira no apartamento coletivo Todos devem ajudar a “limpar”
  • 33. #6: Pratique o desapego: um bug no seu código não é atestado de incompetência! 33 O código que você escreveu não é seu: é de todos Um bug no código é como uma sujeira no apartamento coletivo Todos devem ajudar a “limpar” Profissionais são humanos Humanos falham
  • 34. Como construir um bom relacionamento entre desenvolvedores e testadores? 34 ACME
  • 35. Como construir um bom relacionamento entre desenvolvedores e testadores? 35 #1: Teamwork, teamwork, teamwork! #2: Comunicação: se algo mudou, avise a todos #3: Mudança é inevitável: conviva com ela #4: Qualidade é algo que a equipe toda constrói e não somente os testadores #5: Bug no código dos outros não é refresco: cuidado ao relatar bugs #6: Pratique o desapego: um bug no seu código não é atestado de incompetência
  • 36. O “super” profissional 36 Comunica-se com clareza Com a própria equipe e com os clientes internos Saber trabalhar em equipe Principalmente, em parceria com outros papéis Procurar entender a necessidade do cliente Muito mais do que entregar pilhas de requisitos, entrega valor e adapta-se ao contexto Entender que a construção do software é colaborativa Depende de todos para atingir os resultados
  • 37. O “super” profissional 37 Pensar no todo (Big Picture Thinking) Seja parceiro do cliente na construção do sistema Dar ideias e defendê-las Não ter receio de defender seu ponto de vista Ser crítico De uma forma construtiva Compartilhar conhecimento "Ninguém é tão sábio que não tenha algo para aprender e nem tão tolo que não tenha algo para ensinar.“ (Blaise Pascal)