? QA Design Gurus: Zabbix for testing

Mar 25, 2016

Zabbix for testing

QA is the first customer for any product. As a test engineer, we work on the product as end users, but, we are never bothered about the memory and CPU consumption or our product until we do a performance testing.
Why to wait for performance tests? Why can’t we monitor consumption of resources while running our functional tests? It is quite possible that any use case might trigger a memory leak, which might not be the test case for performance. 
Zabbix is an opensource network monitoring tool which helps to capture the information of memory and CPU utilization during our test runs.

Zabbix Introduction
Zabbix is a real-time monitoring tool, which automatically collects and parses data from monitored hardware so administrators can check availability and see trends in network performance. It proactively monitors for the processes, services, disk, logs, nodes, network devices etc to keep the IT infrastructure stable and secure.

How Zabbix can be used for testing?
Being a network monitoring tool, zabbix can be used to monitor processes that our product initiates during our test executions. Here are the detailed steps on how it can be used.

Pre-requisites
1.                  A centralized zabbix server to monitor your processes.
2.                  Host on which processes should be monitored should have zabbix client installed.

Once the product is up and running, before starting the tests:
1.                  Register the host (network device that you want to monintor) on which the processes to be monitored are running with Zabbix.
2.                  Add an item to the host. Item - a particular piece of data that you want to receive off of a host, a metric of data.
3.                  This step is optional - Write triggers, to get email alerts while monitoring the processes. This can be used to set threshold limits for memory consumption or CPU utilization etc.
4.                  Start your test execution.
5.                  Upon completion of test execution, collect the metrics / data of monitored item and analyze.

You might be wondering, it takes quite a long time to do steps 1, 2 and 3 before test runs, while test runs are started automatically upon availability of build. To avoid these manual steps, zabbix provides an API interface, using which u can register hosts, configure items and adding triggers. So, we need to put some extra effort to automate steps 1, 2 and 3, which is just a one time job.

Hope this helps, as it is a simple process to implement and its worthy to monitor network during test runs!

No comments:

Post a Comment