2. Quem sou eu?
Robert Silva
Especialista Zabbix e Instrutor na JLCP
Ministro Palestras sobre monitoramento
+7 anos na área de TI
2 anos de Zabbix
Membro ativo nas comunidades Zabbix Brasil
e Grafana Brasil
https://www.youtube.com/robertsilva
Focado em desenvolver soluções para
agregar valor ao negócio.
Apaixonado por tecnologia e automação.
2
3. Agenda
▪ Motivação e Objetivo.
▪ O que são testes?
▪ Tipos de testes.
▪ Por que testar?
▪ TDD e BDD.
▪ Por que integrar com o Zabbix?
▪ Exemplo prático.
▪ Encerramento.
3
5. Motivação e Objetivo
▪ Microsserviços e DevOps.
▪ Zabbix é voltado para Infraestrutura?
▪ Demonstrar que é possível integrar testes
automatizados com Zabbix, agregando cada vez
mais valor a ferramenta.
7. O que são testes?
▪ Processo que tem como objevo verificar se o
desenvolvimento atende as especificações.
▪ Conceitos:
▪ Teste Manual.
▪ Teste Automazado.
7
8. Teste Manual
▪ Casos de Teste.
▪ Acessa a aplicação e aplica
os casos de testes.
8
11. Tipos de testes
▪ Existem diversas categorias de teste de soaware:
▪ Teste de Unidade:
▫ Tem o objevo testar um componente ou classe. É o teste
cujo objevo é testar somente um “pedaço do código”.
▪ Teste de Interface:
▫ Verifica se a navegabilidade e os objevos da tela funcionam
como especificados e se atendem da melhor forma ao
usuário.
11 https://www.devmedia.com.br/testlink-gerenciando-atividades-de-teste/32281
12. Tipos de testes
▪ Teste de Desempenho
▫ Certifica se o tempo de resposta é o desejado para o
momento de utilização da aplicação;
▪ Teste de Carga
▫ Assegura o funcionamento da aplicação com a utilização de
uma quantidade grande de usuários simultâneos;
▪ Teste de Aceitação
▫ Verifica se a solução atende às solicitações dos usuários;
12 https://www.devmedia.com.br/testlink-gerenciando-atividades-de-teste/32281
16. 16
TDD – Test-Driven Development (Desenvolvimento Orientado a Testes)
BDD – Behavior Driven Development (Desenvolvimento Guiado por
Comportamento ou Desenvolvimento Orientado a Comportamento)
18. Porque integrar com Zabbix?
▪ Centralizar as informações em uma única solução.
▪ Ulizar o BDD para prover um Health Check das aplicações.
▪ Facilitar o troubleshoong para equipe de sustentação
▪ Minimizar o impacto para o cliente.
▪ Gerar indicadores de disponibilidade e desempenho.
18
20. Teste de aceitação
Verifica se a solução atende às solicitações dos usuários
▪ Ferramentas ulizadas:
▫ Python 3 – Linguagem de programação simples e
poderosa
▫ Behave – Escrever as funcionalidades do sistema
ulizando linguagem natural com base no (Gherkin)
▫ Selenium WebDriver – Consultar elementos web,
ações no navegador.
▫ Zabbix – Solução de Monitoramento
21. O que é Gherkin?
▪ É uma linguagem comum de fácil entendimento, mas
conhecida como “Business Readable, Domain Specific
Language”, ou seja desenhada para fazer pessoas que não são
programadoras ou técnicas, entender o que o pessoal técnico
esta fazendo. Pelo Gherkin descrevemos o comportamento
do soaware, sem detalhar como esse comportamento é
implementado.
21 https://behave.readthedocs.io/en/latest/philosophy.html#the-gherkin-language
22. Estruturando nosso projeto
22
Behave Estrutura
features
features/steps/
features/steps/cadastro.py
features/steps/login.py
features/environment.py
features/novoead.feature
Estrutura Extra
features
features/results
features/results/test.json
features/novoead.py
23. Feature
23
Feature: Novo EAD
"""
Validar as funcionalidades de cadastro e login do novo EAD
"""
Scenario: Cadastro
"""
Efetuar cadastro de um novo usuário
"""
Given Pagina_de_cadastro
When Efetuar_cadastro
Then Validar_cadastro
Scenario: Login
"""
Efetuar login com um usuário
"""
Given Pagina_de_login
When Efetuar_autenticacao
Then Validar_login
28. Executando o Teste
28
$ behave --format=json.pretty --outfile=features/results/test.json
features/novoead.feature
--format = define o formato de saída
--outfile = define o arquivo de saída
37. CREDITS
Special thanks to all the people who made and
released these awesome resources for free:
▪ Presentaon template by SlidesCarnival
▪ Photographs by Unsplash
37