falácias e outras ilusões sobre teste Ágil

Post on 14-Apr-2017

82 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Apresentação:

- Experiência de 5 anos com Teste de Software - BSTQB - Foundation Level

- Sistemas da Informação - FEANmarionick1848 9692-1488

www.testeinteligente.commarioramos18@gmail.com

marioramos18

Mário Ramos

Falácias e outras Ilusões sobre Teste Ágil

Profissão Teste de Software

Cargo Declaração da Missão

A - Realizar consultoria no desenvolvimento de soluções em sistemas de informação, estratégias para intranet/internet, fábrica de software e out sourcing. Ter boa comunicação, saber trabalhar sob pressão, ser organizado, detalhista e facilidade de aprendizado.

B - Atuar com seleção / desenvolvimento de ferramentas, proposição, implementação e monitoramento de métricas, definição de processos para garantia da qualidade das entregas.

C - Ter boa compreensão de grande volume de regras de negócios. Desejáveis conhecimentos em Scrum, Kanban, SQL. Informações técnicas:•Linguagem: .Net C#, Framework 4.0 - Web Forms, JS e AngularJS •Ferramentas utilizadas: Visual Studio 2015, Microsoft QualityTools, xUnit•Banco de dados: SQL Server 2008 com Transact SQL (envolvendo Stored Procedures e Triggers).Conhecimentos e experiências em desenvolvimento na linguagem .Net C#.

1. Tester

2 . QA

3 . Desenvolvedor

TestadorEssencialista

A busca disciplinada por menos

Ágil todo mundo faz tudo?

PAPEL em um time ÁGIL

Excelência e Maestria

“TIME ÁGIL e o Mindset problema...

… precisamos preservar a Distância crítica”

“... é aquela em que as pessoas com competências diversificadas, interesses, temperamentos e experiência trabalham juntos.”

Relaxe… um papel é uma heurística, não uma prisão.

- Se eu sou um desenvolvedor, eu posso fazer teste?- Sim, claro!- Se eu sou um Testador, eu posso melhorar a qualidade

fazendo TDD?- Estou certo que sim!- Se eu sou um goleiro, eu posso tentar fazer um gol?- Não há nenhuma regra que lhe impeça.- Se eu sou um zelador, eu posso oferecer sugestões a um

CEO?- Por que não?

Relaxe… um papel é uma heurística, não uma prisão.- Se eu sou um desenvolvedor, eu posso fazer teste?

- Claro, como desenvolvedor você já faz teste. E você vai ter que aprimorar suas habilidades e lidar com certas deficiências e preconceitos, se você quiser fazer um grande teste.

- Se eu sou um testador, eu posso melhorar a qualidade fazendo TDD?- Estou certo que sim! E se você fizer isso vai ter adotado, pelo menos,

temporariamente, a função de desenvolvedor. É difícil vestir dois chapéis ao mesmo tempo.

- Se eu sou um goleiro, eu posso tentar fazer um gol?- Não há nenhuma regra contra isso. Mas se você ir para frente a meta do seu

time ficará aberto. E a pessoa que abrange o gol no seu lugar não poderá usar as mãos.- Se eu sou um zelador, eu posso oferecer sugestões a um CEO?

- Por que não? Mas seu papel não é necessariamente ouvir ou cumprir com as sugestões.

Missão

“Ser um testador é um trabalho digno e importante, que exige uma mentalidade especializada e um conjunto especializado de habilidades.”

O que é um Testador? O que eu sou?

- Eu sou um cientista de pesquisa.

- Eu sou um explorador.

- Eu sou um cientista social.

- Eu sou um crítico...

Garantia Qualidade

“Garantia da Qualidade é assumir a responsabilidade sem autoridade.”

“Por que o TESTE NÃO PODE ser codificado”

“TIME ÁGIL e o foco em AUTOMAÇÃO...“

“Não há nenhum suporte na literatura científica ou engenharia que sustente a ideia que o TESTE pode ser codificado…..!

“Conhecimento Tácito e o conhecimento Explícito!

“ Podemos saber mais do que podemos dizer”. - Michael Polanyi (1966)

… INTERPRETAÇÃO não pode ser codificado.

… EXPERIÊNCIA não pode ser codificado.

… INVENÇÃO não pode ser codificado.

CONHECIMENTO TÁCITO não pode ser codificado

“Teste não é um artefato, teste é uma performance”

James Bach

“Automação de teste deve ser visto como uma extensão da mente humana, não um substituto”

… muito pouco disso pode ser codificado!”

Aprender a programar?

Comunicação

Persuasão e Venda

Pensamento Crítico

Pensamento Lateral

Escrita Pensamento Sistêmico

Comportamento Humano

Pensamento Criativo

Psicologia

“... o que eles estão automatizando? "

“O meu negócio é Teste de Software... “

- Tanto no Teste Tradicional como no Ágil as pessoas confundem Verificação de Saída (que é completamente automatizável) com Teste (que não é).

O TESTE é mais que uma

VERIFICAÇÃO

Assim como a programação, o teste é um processo de pensamento vivo, verificando

vida dentro dele.

… é algo que fazemos com a motivação de confirmar crenças existentes.

VERIFICAÇÃO

… fornece um resultado binário de verdadeiro ou falso.

… é tudo sobre responder a pergunta “Será que está afirmação passa ou não”?

… quando uma Verificação passa, não sabemos se existe um problema ali, só sabemos que ela continua a funcionar no âmbito das nossas expectativas.

… possui dependência de um artefato como uma especificação (Critérios de Aceite).

VERIFICAÇÃO

… geralmente possui um resultado previsível e facilmente observável.… é um processo que pode, em princípio, ser realizada por uma ferramenta.

… o processo de fazer avaliações através da aplicação de regras de decisão algorítmicos para observações específicas de um produto.

… tem um resultado em aberto.

TESTE

… é a cerca de perguntar e responder a pergunta “Existe um problema aqui? E se… “?

… não precisa de um artefato como especificação.

… envolve conhecimento tácito.

… é sobre obter informações através de experimentação, aprendizagem e inferência….

“Teste engloba a Verificação, ao passo que a Verificação não pode abranger o Teste.”

“Embora o TESTE envolva alguma Verificação, um programa que só é VERIFICADO é susceptível de ser MAL TESTADO”.

“Mesmo se todas as verificações forem executadas , não há teoria, nem métrica, nem ferramenta que pode nos dizer quantos defeitos importantes permanecem.”

“Se você está sendo solicitado a fazer somente VERIFICAÇÃO, você possivelmente não está sendo muito útil, porque o seres HUMANOS não se comportam de forma algoritimica.”

RATIFICAÇÕES… VERIFICAÇÃO

Estas definições não são de juízos morais. Não estou dizendo que a verificação é uma coisa intrinsecamente má a fazer. Pelo contrário, a verificação pode ser muito importante. Estou afirmando que para a verificação ser considerado boa, deve acontecer no contexto de um processo de teste competente. Verificação é uma tática de teste.

CONCLUSÃO

Os Agilistas (DevOps, Agile…) tem forçado cada vez mais o uso de Ferramentas, elas estão por toda a parte, ferramentas que na maioria se concentram na verificação. Isto não é em si uma coisa ruim. Mas estou preocupado pela ausência de discussão séria sobre testes, meu objetivo é enfatizar o julgamento complexo envolvido em testar as coisas.

LIVROS

CHABRIS, Christopher; SIMONS, Daniel. The Invisible Gorilla: And Other Ways Our Intuitions Deceive . Harmony (2011)

SIMON, Herbert. Sciences of the Artificial. Mit Press (1996)

KHANEMAN, Daniel. Thinking, Fast and Slow. Farrar(2011)

WEINBERG, Gerald. An Introduction to General Systems Thinking. Weinberg(2011)

COLLINS, Harry. Tacit and Explicit Knowledge. University Of Chicago(2010)

MCKEOWN, Greg. Essentialism: The Disciplined Pursuit of Less. Rh Korea (2014)

REFERÊNCIAS

http://www.developsense.com/blog/2015/06/on-a-role/http://www.developsense.com/blog/2009/08/testing-vs-checking/http://www.developsense.com/blog/2015/02/the-rapid-software-testing-namespace/http://www.satisfice.com/blog/archives/1509http://www.satisfice.com/blog/page/2http://www.satisfice.com/blog/archives/1346http://steveo1967.blogspot.com.br/2013/06/tacit-and-explicit-knowledge-and.htmlhttp://www.knowledge-management-tools.net/different-types-of-knowledge.html

top related