DevQA | Da zona de conforto ao comprometimento com a qualidade

39

Transcript of DevQA | Da zona de conforto ao comprometimento com a qualidade

Page 1: DevQA | Da zona de conforto ao comprometimento com a qualidade
Page 2: DevQA | Da zona de conforto ao comprometimento com a qualidade

ABOUT ME !Kamilla Queiróz (MihQueiróz)

• Cearense adotada pelo Rio Grande do Sul• Analista de Testes @NeoGrid• Tecnóloga em Análise e Desenvolvimento de Sistemas• Pós-Graduando Teste e Qualidade de Software• Mantedora do Blog MihQueiroz.com.br• En.tu.si.as.ta e hóspede do Mundo

Contato:• Email: [email protected]• Blog: mihqueiroz.com.br• Twitter: twitter.com/MihQueiroz• Facebook: facebook.com/kamilla.queiroz• LinkedIn: linkedin.com/kamilla.queiroz• SlideShare: slideshare.net/kamilla.queirz

Page 3: DevQA | Da zona de conforto ao comprometimento com a qualidade

AGENDA- Qual futuro no cenário Ágil

- DevQA um futuro para Analistas de Testes [?]

- Testar Testes Unitários [!][?]

- Qualidade de Código

- Especificações Vivas

Page 4: DevQA | Da zona de conforto ao comprometimento com a qualidade

Qual futuro no cenário ÁgilO que percebi:

em abril de 2015 AgileTrends – após palestra Testador Ágil 3.0 de Daniel Amorim

/* ninguém sabia ao certo qual era o papel do testador no contexto ágil */

Page 5: DevQA | Da zona de conforto ao comprometimento com a qualidade

‘todo mundo’

/*os principais profissionais que eu conhecia*/

tinham em mente que ser ágil era APENAS automatizar testes

Page 6: DevQA | Da zona de conforto ao comprometimento com a qualidade

os testes continuavam sendo deixados para “trás”

/*salvem-se quem puder e testar o que der*/

Page 7: DevQA | Da zona de conforto ao comprometimento com a qualidade

ou seja cenário “ágil” para o desenvolvimento e waterfall / cascata para testes

IN – JUS – TI - ÇA!

Page 8: DevQA | Da zona de conforto ao comprometimento com a qualidade

Mas [1] ainda se falava sobre:

- QA DevOps- QA Técnico- Analista Automatizador

E o que esses ‘cristões’ fazem de tão diferente que precisam ser / ter atividades distintas dos Analistas de Testes / Testadores [??]

Page 9: DevQA | Da zona de conforto ao comprometimento com a qualidade

Mas [2] temos e precisamos enxergar o Analista de Testes como:

[!]PARTE INTEGRANTE E

ATUANTE DE UMA EQUIPE DEDESENVOLVIMENTO

Page 10: DevQA | Da zona de conforto ao comprometimento com a qualidade

[!]O CARA

que dissemina a qualidade por todo os processo de

desenvolvimento

Page 11: DevQA | Da zona de conforto ao comprometimento com a qualidade

[!]O CARA

que trabalha para evitar inconformidades

Page 12: DevQA | Da zona de conforto ao comprometimento com a qualidade

DevQA - Mudança de Paradigma [?]

- [tchau tchau] zona de conforto [!] [!]

- reinventar atividades [comuns]

- auxiliar sua equipe [por completo][!]

Page 13: DevQA | Da zona de conforto ao comprometimento com a qualidade

/* Skills ampliadas (analítico & crítico)Lógica de programaçãoEscrever scripts (mesmo simples)Noções de BD e WebservicesBuilds e Integração Contínua

*/

Page 14: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Skills ampliadas/*

além do conhecimento do negócio

conhecimento técnico

*/

Page 15: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Lógica de programação & - Escrever Scripts/*

for

if / else

*/

Page 16: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Banco de Dados & Webservices/*

validar dados

validar conexões

*/

Page 17: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Builds e Integração Contínua/*

autonomia para gerar versões

autonomia para execução de testes

*/

Page 18: DevQA | Da zona de conforto ao comprometimento com a qualidade

Testar Testes de Unidade

- Validar se:

- Estão escritos corretamente- Estão sendo efetivos- A cobertura está gerando valor

Page 19: DevQA | Da zona de conforto ao comprometimento com a qualidade

Mutation Testing/*

altera-se uma parte do código para induzir falhas simples

por meio do Bebuging

*/

Page 20: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Mutações possíveis:

Intra – method

Inter – method

Intra – class

Inter - class

Page 21: DevQA | Da zona de conforto ao comprometimento com a qualidade

MuJava/*

Ferramenta para Java

Ajuda na mutação de operadores

*/*

Page 22: DevQA | Da zona de conforto ao comprometimento com a qualidade

Tipo de mutações em código:/*

Exclusão de declarações

Duplicação ou inserção de declarações

Negação de sub-expressões boleanas

Substituições*/

Page 23: DevQA | Da zona de conforto ao comprometimento com a qualidade

Em resumo:

revelam o quão adequados estão os testes unitários ou seus dados de

teste

Page 24: DevQA | Da zona de conforto ao comprometimento com a qualidade

Em resumo [2]:

- Ajuda na criação de suítes efetivas

- mostra o quão confiável pode ser uma suíte de testes

- valida se alguma implementação está realmente bem testada

Page 25: DevQA | Da zona de conforto ao comprometimento com a qualidade

Qualidade de Código/*

medir e garantir a qualidade do código

>> duplicidade de código>> complexidade ciclomática>> presença de testes de unidade

*?

Page 26: DevQA | Da zona de conforto ao comprometimento com a qualidade

Análise Estática de Código (AEC)/*reduzir erros de programação

bloco catch vaziofluxo não encerradoperda de referênciacomparação de objetos comuns*/

Page 27: DevQA | Da zona de conforto ao comprometimento com a qualidade

- Verificação de Regras de Estilo- Style Checker

- Verificação de Erro - Bug Checker

Page 28: DevQA | Da zona de conforto ao comprometimento com a qualidade

Métricas:

- Número de linhas de código (LOC, KLOC)

- Complexidade Ciclomática (CC)

- Falta de coesão em métodos (LCOM)

Page 29: DevQA | Da zona de conforto ao comprometimento com a qualidade

SonarQube

/* ferramenta eficiente para realizar o cálculo das métricas */

Page 30: DevQA | Da zona de conforto ao comprometimento com a qualidade

Principais categorias de cobertura:/*

Arquitetura e DesignComentáriosDuplicação de CódigoPadrão de CodificaçãoTestesComplexidade CiclomáticaBugs em Potencial

*/

Page 31: DevQA | Da zona de conforto ao comprometimento com a qualidade

/* resultado de um análise completo – apresentado em dashboard */

Page 32: DevQA | Da zona de conforto ao comprometimento com a qualidade

Especificações VivasSerá possível [?]

- documentação formal para ser base ao desenvolvedor

- documentação consistente com o código e entregável

Page 33: DevQA | Da zona de conforto ao comprometimento com a qualidade

/*

BDD

Specification by Example

*/

Page 34: DevQA | Da zona de conforto ao comprometimento com a qualidade

- testes de BDD são compostos, basicamente, por arquivos que especificam as funcionalidades – features

- arquivos com as funcionalidades são compostos por cenários, que exemplificam uma ou mais regras de negócio do sistema

Page 35: DevQA | Da zona de conforto ao comprometimento com a qualidade

Cada cenário segue o padrão:

1. Colocam o sistema em um determinado estado;

2. Fazem alguma ação sobre o sistema (provocação);

3. Examinam o novo estado.

Page 36: DevQA | Da zona de conforto ao comprometimento com a qualidade

/* Exemplo de um arquivo de funcionalidade com fluxo simples de login */

Page 37: DevQA | Da zona de conforto ao comprometimento com a qualidade

Frameworks pra BDD

/*JbehaveRbehave >> Rspec

Gherkin

*/

Page 38: DevQA | Da zona de conforto ao comprometimento com a qualidade

Considerações Finais- Ágil Testers vai além de automatizar

- Não precisa ser expert em programação

- Pedir ajuda sempre que precisar

- Aprender além do esperado

Page 39: DevQA | Da zona de conforto ao comprometimento com a qualidade

Thanks!