1) O documento apresenta os papéis e técnicas de automação de testes para equipes ágeis, discutindo como a automação pode ajudar a resolver problemas como falta de tempo para testar e garantir a qualidade ao longo dos sprints. 2) É destacado que nem todos os casos de teste devem ser automatizados e que é importante separar os ambientes de desenvolvimento e teste. 3) A apresentação discute diferentes níveis de automação, desde scripts lineares até abordagens data-driven e keyword-driven, concluindo que a combinação das últimas é a melhor opção
Apresentação sobre BDD (Behavior-Driven Development) realizada em 06/09/2015.
Tópicos abordados:
- Cenários comuns dentro do desenvolvimento de software
- Test-Driven Development (TDD): uma visão geral
- Testes Unitários no Visual Studio: um exemplo simples
- Behavior-Driven Development (BDD)
- BDD na plataforma .NET
- Exemplo prático no Visual Studio 2015
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Renato Groff
Apresentação sobre testes na plataforma .NET, focando em técnicas como TDD (Test-Driven Development), BDD (Behavior-Driven Development), Mocks e testes de UI com Selenium. Apresentação realizada em 21/11/2017 para funcionários do grupo Bandeirantes em São Paulo-SP.
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
Apresentação sobre a implementação de testes na plataforma .NET, empregando técnicas como TDD, Mocks, BDD e o framework Selenium. Palestra realizada em meetup promovido pelo grupo .NET SP em 09/04/2018 na cidade de São Paulo-SP.
Apresentação sobre BDD (Behavior-Driven Development) realizada em 06/09/2015.
Tópicos abordados:
- Cenários comuns dentro do desenvolvimento de software
- Test-Driven Development (TDD): uma visão geral
- Testes Unitários no Visual Studio: um exemplo simples
- Behavior-Driven Development (BDD)
- BDD na plataforma .NET
- Exemplo prático no Visual Studio 2015
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Renato Groff
Apresentação sobre testes na plataforma .NET, focando em técnicas como TDD (Test-Driven Development), BDD (Behavior-Driven Development), Mocks e testes de UI com Selenium. Apresentação realizada em 21/11/2017 para funcionários do grupo Bandeirantes em São Paulo-SP.
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
Apresentação sobre a implementação de testes na plataforma .NET, empregando técnicas como TDD, Mocks, BDD e o framework Selenium. Palestra realizada em meetup promovido pelo grupo .NET SP em 09/04/2018 na cidade de São Paulo-SP.
Facilitando o desenvolvimento orientado a testes em aplicações PHPPedro Chaves
Palestra sobre Desenvolvimento Orientado a Testes (TDD) em PHP utilizando o framework de testes Codeception. Apresentada no iMasters Developer Week de Belo Horizonte, ocorrido entre 26 e 28 de maio de 2015
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Renato Groffe
Apresentação sobre testes na plataforma .NET, focando em técnicas como TDD (Test-Driven Development), BDD (Behavior-Driven Development), Mocks e testes de UI com Selenium. Apresentação realizada em 30/01/2018, em evento promovido pelo grupo Developers-SP em São Paulo-SP.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
Apresentação sobre o uso de mocks, stubs e objetos fakes na implementação de testes de software. Palestra realizada em 20/07/2017, em meetup promovido pelo grupo Developers-SP na cidade de São Paulo-SP.
Apresentação da ideia de padronização no desenvolvimento de softwares, focando a codificação. Padrões já existem e também podem ser criados. O importante é que sejam aplicados e seguidos em prol do desenvolvimento ágil e eficiente.
Introdução a Behaviour Driven Development.
Nesta apresentação foram respondidas as seguintes perguntas sobre o tema:
O que é? Quais são as vantagens? Como usa-la?
Apresentação sobre testes em ambiente ágil, abordando o manifesto do teste e seus princípios.
Nos testes ágeis usamos os quadrantes de teste como um guia para ajudar a cobertura de todos os tipos de testes.
Diferença entre teste ágil e tradicional e também os níveis de testes ágeis.
Automação de testes dividido para os níveis de UI, Service e Unit.
Métrica de testes.
TDD - Test Drive Development
Apresentação em par realizada com Marcelo Andrade (ao estilo improviso teatral) no encontro #tasafoemacao #misturado no auditório do CESUPA, dia 14 de Outubro de 2010.
Facilitando o desenvolvimento orientado a testes em aplicações PHPPedro Chaves
Palestra sobre Desenvolvimento Orientado a Testes (TDD) em PHP utilizando o framework de testes Codeception. Apresentada no iMasters Developer Week de Belo Horizonte, ocorrido entre 26 e 28 de maio de 2015
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Renato Groffe
Apresentação sobre testes na plataforma .NET, focando em técnicas como TDD (Test-Driven Development), BDD (Behavior-Driven Development), Mocks e testes de UI com Selenium. Apresentação realizada em 30/01/2018, em evento promovido pelo grupo Developers-SP em São Paulo-SP.
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
A palestra inicialmente abordará os princípios do Teste de Software como o que é teste de software, níveis de teste, tipos de teste, como testar um software, gestão de testes, gestão de defeitos, certificações entre outros. Durante a palestra serão mostradas as principais ferramentas que auxiliam os testadores e qual a funcionalidade de cada uma. E por fim será discutido sobre a carreira e os papéis em relação ao mercado atual.
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
Apresentação sobre o uso de mocks, stubs e objetos fakes na implementação de testes de software. Palestra realizada em 20/07/2017, em meetup promovido pelo grupo Developers-SP na cidade de São Paulo-SP.
Apresentação da ideia de padronização no desenvolvimento de softwares, focando a codificação. Padrões já existem e também podem ser criados. O importante é que sejam aplicados e seguidos em prol do desenvolvimento ágil e eficiente.
Introdução a Behaviour Driven Development.
Nesta apresentação foram respondidas as seguintes perguntas sobre o tema:
O que é? Quais são as vantagens? Como usa-la?
Apresentação sobre testes em ambiente ágil, abordando o manifesto do teste e seus princípios.
Nos testes ágeis usamos os quadrantes de teste como um guia para ajudar a cobertura de todos os tipos de testes.
Diferença entre teste ágil e tradicional e também os níveis de testes ágeis.
Automação de testes dividido para os níveis de UI, Service e Unit.
Métrica de testes.
TDD - Test Drive Development
Apresentação em par realizada com Marcelo Andrade (ao estilo improviso teatral) no encontro #tasafoemacao #misturado no auditório do CESUPA, dia 14 de Outubro de 2010.
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
Será apresentada uma breve introdução sobre o SCRUM, as práticas de gerenciamento e os pensamentos que o tornam tão “polêmico” e em seguida serão apresentadas práticas de engenharia de software que complementam o SCRUM utilizando o Visual Studio Team System para gerenciar Story Cards, Tasks, Kanban, acompanhamento de Burndown, além de práticas da Extreme Programming como TDD, Refactoring e Continuous Integration.
Principais conceitos em testes de softwareJoyce Bastos
Dia 2 da mentoria realizada com um grupo voluntariado que estão ingressando ou se aprimorando na carreira de Qualidade de Software. Assunto: principais conceitos da área de testes para quem está começando.
Curso completo com 50% de desconto: https://bit.ly/2EDTlbH
Slide utilizado na ministração do curso Automatizando Testes de Software Com Selenium - Básico
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
Veremos como uma pessoa ou time dedicado ao controle de qualidade pode trabalhar com o gerente do projeto e/ou líder técnico/arquiteto para garantir uma melhor cobertura de casos de usos e testes em múltiplos projetos, e como isso impactará a entrega final. Além disso, também precisamos ensinar os clientes que essa estratégia é importante e devemos investir dinheiro nisso cedo para evitar grandes perdas depois Já passou o momento de levarmos controle de qualidade mais a sério.
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
A importância de testes de software já deveriam ser um consenso entre times de desenvolvimento. Contudo ainda há profissionais que não compreendem o valor deles, um dos motivos é que de fato muitos softwares possuem testes mas continuam a apresentar bugs a cada entrega. Isso ocorre porque é comum os testes garantirem o funcionamento do código, mas não das funcionalidades como um todo. Na apresentação será abordado como equilibrar testes unitários, de componentes e de integração organizando-os através de uma visão mais direcionada ao negócio, features e histórias do que apenas ao código implementado.
Material utilizado na primeira parte do evento Viabilidade e Conceitos Básicos de Automação com o QTP, promovido pelo GUTS-RS em 28/abril/2010. Mais em http://guts-rs.blogspot.com
2. Apresentação
Alini Gottardi
Ciência da Computação, Unicsul, 2004
MBA em Teste de Software, Unieuro, 2012
Certificação CBTS, 2013
Desenvolvedora PHP, Tray Sistemas
Coordenadora de Qualidade, Buscapé
Analista de Automação, BM&FBovespa
Analista de Testes Pleno, Clearsale
3. Papéis na Área de Teste
Segundo o livro Base de Conhecimento em
Testes de Software
Analista de Testes
Arquiteto de Testes
Testador
Automatizador
11. Novo cenário Agile/Scrum/Kanban...
3 desenvolvedores
1 Tester multitarefa
O start da equipe é ao mesmo tempo
No primeiro dia de desenvolvimento,
tester já precisa estar trabalhando junto
Mas nem há o que testar, o que fazer???
No segundo sprint é preciso garantir que o
sprint anterior continua funcionando
13. Então vamos automatizar os testes!
Cria-se o teste uma só vez e pode ser
reexecutado N vezes
A cada novo build, podemos executar a
regressão e verificar se não quebrou nada
Um script de teste bem escrito pode ser
uma documentação executável,
diminuindo tempo de escrita
BDD
14. Então vamos automatizar os testes!
Cria-se o teste uma só vez e pode ser
reexecutado N vezes
A cada novo build, podemos executar a
regressão e verificar se não quebrou nada
Um script de teste bem escrito pode ser
uma documentação executável,
diminuindo tempo de escrita
BDD
15. BDD - Futuro da Automação?
Três princípios para BDD
1.Negócio e Tecnologia deveriam “falar”
sobre um sistema da mesma forma;
2.Qualquer sistema deveria ter um valor
identificável e verificável para o
“negócio”;
3.Análise, design e planejamento
precoce tem, sempre, retorno
questionável.
16. Por que BDD funciona?
BDD se apóia no uso de um vocabulário
pequeno e bem específico, o que
minimiza “ruídos” na comunicação de
forma que tanto TI quanto do negócio
estejam alinhados.
A “venda da ideia” para BDD costuma ser
mais fácil do que para TDD. Embora, por
envolver mais gente, seja mais
“trabalhoso” de implantar.
17. Automação Viva
BDD associa os benefícios de uma
documentação formal, escrita e mantida
pelo “negócio”, com testes de unidade que
“demonstram” que essa documentação é
efetivamente válida.
Isso garante que a documentação deixa de
ser um registro estático, que se converte
em algo gradualmente ultrapassado, em um
artefato “vivo” que reflete constantemente o
estado atual de um projeto.
22. Não é bem assim!
Se mal tem tempo de testar, quanto mais
automatizar
Escolha da ferramenta (web, desktop,
webservice)
Know-how da equipe
Complexidade e testabilidade do sistema
Papéis dentro da equipe
Não se perder desenvolvendo um sistema
versus criar testes
23. 1) Se mal tem tempo de testar, quanto
mais automatizar
Time ágil: todos os membros em busca da
qualidade e da entrega
Teste unitário dos desenvolvedores
também é testware!
Testador ajuda o desenvolvedor com a
massa de teste
Se a automação for complexa, ter um
responsável fora da equipe (arquiteto)
24. 2) Não automatizar todos os casos de
teste
Manutenção constante
Fragilidade do script GUI (Grafic User
Interface)
Relevância/prioridade do caso de teste
Falsa sensação de que está tudo coberto
25. 3) Não automatizar incertezas
Metodologia ágil é instável, os requisitos
mudam todos os dias
Evitar:
Módulos com funções ainda a serem
definidas
Testes que não serão reutilizados
Automação leva 3x mais tempo
26. 4) Quando o sistema não é testável
Testes unitários x Sistema em linguagem
procedural
Elementos HTML Inacessíveis (problema
GUI)
Janelas javascript/popup
Funcionalidades transparentes ao usuário
Antes de sair codificando, testador deve
definir seus requisitos de testabilidade
27. 5) Separar os ambientes
Testar no ambientes dos desenvolvedores
não dá certo!
Suja a base
Estraga pré-condições
Solução:
Fechar builds periódicos do dev para
teste
Se houver integração contínua melhor
ainda!
28. 6) Realizar estudo das ferramentas
Quem vai usar a ferramenta, qual o seu
propósito e quais problemas essa
ferramenta irá ajudar a resolver
Que tipo de processo ela irá suportar e
em caso de mudanças no processo, a
ferramenta pode ou não ser adequada
facilmente
Que funcionalidades a ferramenta precisa
ter (e.g. quais relatórios devem ser
extraídos);
29. 6) Realizar estudo das ferramentas
Quem deve ter acesso à ferramenta e que
nível de controle de acesso e administração
é necessário
Que tipo de interface com o usuário é
necessária (e.g. GUI ou linha de comando);
Com quais plataformas a ferramenta
precisa ser compatível;
Qual o orçamento e tempo disponíveis para
aquisição e manutenção;
30. 7) Manutenção sempre
O script fica obsoleto muito rapidamente
com as mudanças do sistema
Se não for sempre executado, acaba no
esquecimento
Dentro do planejamento do sprint prever
as manutenções
31. 8) Automação não é somente GUI
GUI = Grafic User Interface
É a primeira que os testers usam e a
primeira que dá dor de cabeça
Testes GUI devem ser usados pra testar
GUI, Smoke Tests, Tarefas sujeitas a erro
(fórmulas, partes difíceis, bugs
intoleráveis)
33. 9) Não criar sprints cascata
Não esperar dev codificar tudo
Não passar apenas automatizando e
testar só no fim
34. 10) Testadores nem sempre são
programadores
Ótimos testadores podem não saber
programar
Programadores não possuem técnicas de
teste
Utilizar maneiras onde o testador se
preocupe apenas com testes
36. Ferramentas de Automação de
Testes Funcionais
Ferramentas que permitem reproduzir a
execução manual
Possui comandos como clicar, abrir URL,
mover mouse, preencher campos
Para encontrar os objetos utiliza
posicionamento do mouse, identificador
HTML, Xpath, entre outros
Podem ser utilizadas por meio de interface
gráfica ou linha de código
Nossos exemplos utilizam Selenium
37. Técnicas GUI - Scripts Lineares
Sem laços, ciclos ou condições if
Criada por sistemas Record & Play
38. Scripts Lineares
Bom para testes que serão pouco
reaproveitados. Ex: teste de aceitação, pré-
condições
Fácil aprendizado
Massa de dados hard-coded
Script não pode ser compartilhado com
outros
Manutenção difícil
Execução frágil
41. Scripts Estruturados
Uso livre da linguagem de programação,
podendo criar laços, condições, repetições
Separar scripts em módulos para serem
reaproveitados
Massa de dados hard-coded
Desenvolvimento extenso
Dependência entre os scripts
43. Scripts Compartilhados
Mesmas vantagens do estruturado
Melhor reaproveitamento de scripts
Mesmas desvantagens do estruturado
Mais scripts para manutenção e
documentação
44. Scripts Data-Driven
A massa de dados fica fora do script,
armazenada em tabelas HTML, XML ou
CSV
Script acessa o arquivo de massa e
realiza o teste
45. Scripts Data-Driven
A massa pode ser criada por um testador
não desenvolvedor
Manutenção não envolve os dados
Facilita a reutilização de scripts
Arquitetura inicial demora para ser
construída
Exige conhecimentos sólidos de
programação
47. Scripts Keyword-Driven
A suite de testes pode ser criada por um
testador não desenvolvedor
Desenvolvedor não precisa ser expert em
testes
O caso de teste pode ser entendido por
leigos
Mesmas desvantagens do Data-Driven