SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Integração do Zabbix com
Testes Automatizados
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
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
Motivação e
Objetivo
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.
O que são testes?
O que são testes?
▪ Processo que tem como objevo verificar se o
desenvolvimento atende as especificações.
▪ Conceitos:
▪ Teste Manual.
▪ Teste Automazado.
7
Teste Manual
▪ Casos de Teste.
▪ Acessa a aplicação e aplica
os casos de testes.
8
Teste Automatizado
▪ Script de Teste.
▪ Trechos de código para
validar o funcionamento do
sistema.
9
Tipos de testes
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
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
Por que testar?
Por que testar?
▪ Garantir o funcionamento do sistema e que
futuras alterações não impacte no
funcionamento.
14
TDD e BDD
16
TDD – Test-Driven Development (Desenvolvimento Orientado a Testes)
BDD – Behavior Driven Development (Desenvolvimento Guiado por
Comportamento ou Desenvolvimento Orientado a Comportamento)
Por que integrar
com Zabbix?
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
Exemplo prático
Projeto Monitoramento Novo EAD
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
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
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
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
Step - Cadastro
24
from behave import *
@given('Pagina_de_cadastro')
def step_impl(context):
context.browser.visit_cadastro()
@when('Efetuar_cadastro')
def step_impl(context):
context.browser.cadastro()
@then('Validar_cadastro')
def step_impl(context):
context.browser.validar_cadastro()
Step - Login
25
from behave import *
@given('Pagina_de_login')
def step_impl(context):
context.browser.visit_login()
@when('Efetuar_autenticacao')
def step_impl(context):
context.browser.login()
@then('Validar_login')
def step_impl(context):
context.browser.validar_login()
PageObject
26
def cadastro(self):
self.find(self.NOME).send_keys('Teste
Automatizado')
self.find(self.TELEFONE).send_keys('13999999999')
self.find(self.EMAIL).send_keys('teste6@automatizado.
com.br')
self.find(self.PASSWD).send_keys('teste')
self.find(self.SUBMIT).click()
PageObject
27
def login(self):
email = self.find(self.EMAIL)
email.clear()
email.send_keys(self.EMAIL_VALUE)
passwd = self.find(self.PASSWD)
passwd.clear()
passwd.send_keys(self.PASSWD_VALUE)
submit = self.find(self.SUBMIT_PAGE_LOGON)
submit.click()
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
Relatório no formato JSON
29
{
"keyword": "When",
"location": "features/novoead.feature:8",
"match": {
"arguments": [],
"location": "features/steps/cadastro.py:9"
},
"name": "Efetuar_cadastro",
"result": {
"duration": 4.735882997512817,
"status": "passed"
},
"step_type": "when"
},
Integração
30
Configuração do Zabbix
31
Regra de Descoberta
Configuração do Zabbix
32
Protótipo de Item
Configuração do Zabbix
33
Dados Recentes
Vídeo
Demonstravo
Vídeo Demonstravo
35
OBRIGADO!
Perguntas?
robert.silva@jlcp.com.br
https://www.linkedin.com/in/contatorobert/
36
CREDITS
Special thanks to all the people who made and
released these awesome resources for free:
▪ Presentaon template by SlidesCarnival
▪ Photographs by Unsplash
37

Mais conteúdo relacionado

Mais procurados

Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXLuiz Andrade
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneZabbix
 
Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureArvids Godjuks
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
 
Zabbix construindo templates personalizados (zabbix-inventory)
Zabbix construindo templates personalizados  (zabbix-inventory)Zabbix construindo templates personalizados  (zabbix-inventory)
Zabbix construindo templates personalizados (zabbix-inventory)Magno Monte Cerqueira
 
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorZabbix BR
 
Network LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikNetwork LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikGLC Networks
 
Workshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCSWorkshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCSLinux Solutions
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HAharoonm
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
Primeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCPPrimeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCPRobert Silva
 
Zabbix - Gerenciando relatórios personalizados com Jasper Reports
Zabbix - Gerenciando relatórios personalizados com Jasper ReportsZabbix - Gerenciando relatórios personalizados com Jasper Reports
Zabbix - Gerenciando relatórios personalizados com Jasper ReportsZabbix BR
 
Trouble Ticket Integration with Zabbix in Large Environment
Trouble Ticket Integration with Zabbix in Large EnvironmentTrouble Ticket Integration with Zabbix in Large Environment
Trouble Ticket Integration with Zabbix in Large EnvironmentAlain Ganuchaud
 
Zabbix - Company, Product and Services
Zabbix - Company, Product and ServicesZabbix - Company, Product and Services
Zabbix - Company, Product and ServicesZabbix
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance TuningRicardo Santos
 
Zabbix e o Mistério das Expressões Regulares
Zabbix e o Mistério das Expressões RegularesZabbix e o Mistério das Expressões Regulares
Zabbix e o Mistério das Expressões RegularesHenrique Haag Ribacki
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 

Mais procurados (20)

Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIX
 
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for EveryoneAlexei Vladishev - Zabbix - Monitoring Solution for Everyone
Alexei Vladishev - Zabbix - Monitoring Solution for Everyone
 
Zabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructureZabbix - an important part of your IT infrastructure
Zabbix - an important part of your IT infrastructure
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
 
Zabbix construindo templates personalizados (zabbix-inventory)
Zabbix construindo templates personalizados  (zabbix-inventory)Zabbix construindo templates personalizados  (zabbix-inventory)
Zabbix construindo templates personalizados (zabbix-inventory)
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do InteriorDeploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
Deploy MySQL e Performance Tuning - 3º Zabbix Meetup do Interior
 
Network LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with MikrotikNetwork LACP/Bonding/Teaming with Mikrotik
Network LACP/Bonding/Teaming with Mikrotik
 
Workshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCSWorkshop de Monitoramento com Zabbix e OCS
Workshop de Monitoramento com Zabbix e OCS
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
Monitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com ZabbixMonitoramento de Banco de dados SQL Server com Zabbix
Monitoramento de Banco de dados SQL Server com Zabbix
 
Brkdct 3101
Brkdct 3101Brkdct 3101
Brkdct 3101
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Primeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCPPrimeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCP
 
Zabbix - Gerenciando relatórios personalizados com Jasper Reports
Zabbix - Gerenciando relatórios personalizados com Jasper ReportsZabbix - Gerenciando relatórios personalizados com Jasper Reports
Zabbix - Gerenciando relatórios personalizados com Jasper Reports
 
Trouble Ticket Integration with Zabbix in Large Environment
Trouble Ticket Integration with Zabbix in Large EnvironmentTrouble Ticket Integration with Zabbix in Large Environment
Trouble Ticket Integration with Zabbix in Large Environment
 
Zabbix - Company, Product and Services
Zabbix - Company, Product and ServicesZabbix - Company, Product and Services
Zabbix - Company, Product and Services
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
Zabbix e o Mistério das Expressões Regulares
Zabbix e o Mistério das Expressões RegularesZabbix e o Mistério das Expressões Regulares
Zabbix e o Mistério das Expressões Regulares
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
 

Semelhante a Integração Zabbix Testes Automatizados

Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumRafael Cruz, MCT, MBA
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreDionatan default
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...Allan Ferreira
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4André Vidal
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Agile Think® Share
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Fábio Nogueira de Lucena
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareElvis Lima
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 

Semelhante a Integração Zabbix Testes Automatizados (20)

Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
 
Métodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software LivreMétodos Ágeis para Desenvolvimento de Software Livre
Métodos Ágeis para Desenvolvimento de Software Livre
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4Cursos Agile Think - Feature Driven Development (FDD) - 4/4
Cursos Agile Think - Feature Driven Development (FDD) - 4/4
 
Brisa Qualidade e Testes de software
Brisa   Qualidade e Testes de softwareBrisa   Qualidade e Testes de software
Brisa Qualidade e Testes de software
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
DevOps
DevOpsDevOps
DevOps
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
Como funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de softwareComo funciona uma empresa ágil de desenvolvimento de software
Como funciona uma empresa ágil de desenvolvimento de software
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 

Mais de Robert Silva

Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPRobert Silva
 
Primeiros Passos com a API do Zabbix - 3 Meetup do Interior
Primeiros Passos com a API do Zabbix - 3 Meetup do InteriorPrimeiros Passos com a API do Zabbix - 3 Meetup do Interior
Primeiros Passos com a API do Zabbix - 3 Meetup do InteriorRobert Silva
 
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Robert Silva
 
Visão de Negócio com Zabbix
Visão de Negócio com ZabbixVisão de Negócio com Zabbix
Visão de Negócio com ZabbixRobert Silva
 
Agilizando a administração do Zabbix com API
Agilizando a administração do Zabbix com APIAgilizando a administração do Zabbix com API
Agilizando a administração do Zabbix com APIRobert Silva
 

Mais de Robert Silva (6)

Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 
Primeiros Passos com a API do Zabbix - 3 Meetup do Interior
Primeiros Passos com a API do Zabbix - 3 Meetup do InteriorPrimeiros Passos com a API do Zabbix - 3 Meetup do Interior
Primeiros Passos com a API do Zabbix - 3 Meetup do Interior
 
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
 
Visão de Negócio com Zabbix
Visão de Negócio com ZabbixVisão de Negócio com Zabbix
Visão de Negócio com Zabbix
 
Zabbix + Grafana
Zabbix + GrafanaZabbix + Grafana
Zabbix + Grafana
 
Agilizando a administração do Zabbix com API
Agilizando a administração do Zabbix com APIAgilizando a administração do Zabbix com API
Agilizando a administração do Zabbix com API
 

Integração Zabbix Testes Automatizados

  • 1. Integração do Zabbix com Testes Automatizados
  • 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.
  • 6. O que são testes?
  • 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
  • 9. Teste Automatizado ▪ Script de Teste. ▪ Trechos de código para validar o funcionamento do sistema. 9
  • 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
  • 14. Por que testar? ▪ Garantir o funcionamento do sistema e que futuras alterações não impacte no funcionamento. 14
  • 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
  • 24. Step - Cadastro 24 from behave import * @given('Pagina_de_cadastro') def step_impl(context): context.browser.visit_cadastro() @when('Efetuar_cadastro') def step_impl(context): context.browser.cadastro() @then('Validar_cadastro') def step_impl(context): context.browser.validar_cadastro()
  • 25. Step - Login 25 from behave import * @given('Pagina_de_login') def step_impl(context): context.browser.visit_login() @when('Efetuar_autenticacao') def step_impl(context): context.browser.login() @then('Validar_login') def step_impl(context): context.browser.validar_login()
  • 27. PageObject 27 def login(self): email = self.find(self.EMAIL) email.clear() email.send_keys(self.EMAIL_VALUE) passwd = self.find(self.PASSWD) passwd.clear() passwd.send_keys(self.PASSWD_VALUE) submit = self.find(self.SUBMIT_PAGE_LOGON) submit.click()
  • 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
  • 29. Relatório no formato JSON 29 { "keyword": "When", "location": "features/novoead.feature:8", "match": { "arguments": [], "location": "features/steps/cadastro.py:9" }, "name": "Efetuar_cadastro", "result": { "duration": 4.735882997512817, "status": "passed" }, "step_type": "when" },
  • 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