Pull to refresh
0
RealTrac Technologies
Разработчик системы локального позиционирования

Польза от Grafana для отдела тестирования

Reading time 3 min
Views 4.1K
Доброго времени суток!
Как уже говорилось в предыдущих постах, наша компания (RTL-Service) занимается системой локального позиционирования. Перед вами – новая статья от отдела тестирования.
В процессе тестирования каких-либо объектов (устройства, сервер, клиент,...) часто необходимо знать, как в течение промежутка времени изменяются значения параметров этих объектов.

При настройке значений параметров устройств (мощность передачи сигнала, цикл опроса устройства и множество других) возможны ситуации, когда инженер предприятия ошибается и задает недопустимое значение параметра. Также возможны ошибки на этапе разработки прошивки, в том числе указание некорректного интервала допустимых значений параметра. Чтобы вручную отловить все ошибки такого рода, необходимо перепробовать огромное количество различных комбинаций значений параметров.

В нашем отделе был написан проект (на Python) для проверки прошивок устройств на адекватность принимаемых значений параметров. В рамках этого проекта на устройства в течение суток постоянно отсылались запросы на смену значений параметров. При этом, если отсылалось допустимое значение параметра, то отслеживалось, что устройство приняло запрос и установило соответствующее значение параметра. Если устройству отсылалось недопустимое значение параметра, то проверялось, что устройство его отвергло и сохранило «старое» значение параметра. Так как при альфа-тестировании прошивки, как правило, присылаются на устройства только допустимые значения параметров, то в результате проведения тестов появляются баги.

Практика использования разработанного проекта показала, что багофикс идет. Однако, для установления причины возникновения этих багов требовалось еще потратить время, чтобы определить как часто возникает некорректная ситуация, в какие моменты времени, с какой периодичностью. Наиболее простым вариантом решения этой задачи является построение графиков. Конечно, в python есть библиотеки matplotlib и пр., но наиболее оптимальным вариантом является отрисовка изменения параметров с помощью дашбордов.

В сети существует большое количество дашбордов: Graphite, Grafana, Diamond и т.п. Но наш выбор пал именно на Grafana.
Grafana достаточно проста в установке и в использовании, красива, позволяет применять математические манипуляции с данными и отображения большого числа метрик.

image

Это чудо создано шведским человеком по имени Торкель. Посмотреть гайды по установке и использованию можно тут.

С помощью данной системы можно с легкостью просмотреть, как изменялись какие-либо параметры: температура, давление, заряд батареи и другие характеристики. Помимо прочего, можно посмотреть, что за ночь или за несколько дней, какой-то из параметров, который должен сохранять одно и то же значение, не менялся.
Очень удобно отслеживать параметры устройств при проведении автотестов. Например, происходит смена цикла опроса устройства с промежутком в 10 минут. В этом случае, дашборд даст четкое и наглядное представление, когда и как менялся цикл опроса.
На нижеприведенном рисунке видно, как изменялась температура и заряд батареи от времени для одного из наших устройств:

image

На графиках ниже видно, что при резком изменении показаний температуры изменяется показание уровня заряда батареи.
Далее приведу наглядный график изменения давления:

image

Мы используем дашборды и для мониторинга загрузки системы. На графике ниже представлена загрузка оперативной памяти одного из серверов.

image

В общем и целом, Grafana — очень удобное средство для мониторинга разного типа параметров, которое всегда придет на помощь.
В следующем посту от отдела тестирования мы на примере одного дня из жизни тестировщика покажем специфику работы в нашем ОТК.
Tags:
Hubs:
+3
Comments 0
Comments Leave a comment

Articles

Information

Website
rtlservice.com
Registered
Founded
2009
Employees
31–50 employees
Location
Россия