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

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

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

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

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

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

    image

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

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

    image

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

    image

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

    image

    В общем и целом, Grafana — очень удобное средство для мониторинга разного типа параметров, которое всегда придет на помощь.
    В следующем посту от отдела тестирования мы на примере одного дня из жизни тестировщика покажем специфику работы в нашем ОТК.
    RealTrac Technologies
    54,00
    Разработчик системы локального позиционирования
    Поделиться публикацией

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое