ТОП-20 лучших программ для анализа и тестирования компьютера

Modbus, краткое введение

Modbus является довольно распространённым протоколом в системах автоматизации на среднем и нижнем (полевом) уровнях. Средний — это уровень контроллеров — устройств, осуществляющих сбор данных и управление технологическим процессом. Нижний или полевой — это уровень взаимодействия датчиков и контроллеров или датчиков напрямую с сервером. Более подробно об уровнях в системах автоматизации можно посмотреть здесь.

Как правило, структура типовой системы автоматизации, использующей в качестве базового протокола Modbus, выглядит так как показано на рисунке в начале статьи. В качестве ”среды” для протокола Modbus может выступать либо RS-485/422/232 (подробно про RS-485 можно прочитать здесь и здесь), поверх него работает Modbus RTU или Modbus ASCII, либо транспортный протокол TCP в TCP/IP сетях, такая версия носит название Modbus TCP. В данной статье будет рассмотрен Modbus RTU.

Протокол Modbus предполагает наличие одного ведущего устройства в сети (оно называется Master или Client) и от 1 до 247 ведомых (они называются Slave или Server). Полное описание можно найти на официальном сайте или в вики.

Смотрите про коптеры:  MP3331 - Приемник диапазона 433 МГц с 6-ю реле купить в Мастер Кит. Драйвер, программы, схема, отзывы, инструкция, своими руками, DIY

Master периодически взаимодействует со Slave-устройствами, считывая или записывая в них какую-либо информацию. Этот процесс осуществляется в форме запрос-ответ. Запрос представляет собой последовательность байт, называемую кадром, в котором время между байтами стандартизировано и зависит от скорости передачи данных (напомним, что речь идет о Modbus RTU) и составляет не более длительности интервала, в течение которого может быть передано 1,5 байта данных. Время между кадрами должно быть не меньше времени передачи 3,5 байт.

Формат запроса имеет следующий вид:

ID — адрес устройства (1 байт),FN — Modbus функция (1 байт),[args] — аргументы функции (N байт, зависит от функции),CRC — контрольная сумма CRC-16 (2 байта).

Ответ имеет схожий формат:

Почти все поля ответного кадра аналогичны кадру запроса, за исключением поля DATA, оно имеет различное наполнение, в зависимости от функции.

Если устройством не поддерживается запрашиваемая функция или аргументы в поле [args] запроса являются некорректными для данного Slave-устройства, то в ответе, в поле FN старший бит будет выставлен в 1 (т.е. на FN наложится маска 0x80), а в поле DATA будет помещена дополнительная информация об ошибке.

Каждое Slave-устройство может иметь определенные области данных и содержать дополнительную специфическую информацию.Возможные области данных представлены в таблице ниже:

За более подробной информацией следует обратиться к полному описанию Modbus RTU, доступному в виде спецификации.

Что такое мобильные эмуляторы и симуляторы

Мобильный эмулятор это программа, которая аппаратно и программно имитирует работу реального необходимого устройства. Эмуляторы настраиваются в виртуальной среде. Настроив виртуальную среду, команда разработки получает доступ к полноценному непрерывному функциональному тестированию.

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

Мобильный симулятор это программа, созданная в виртуальной среде, которая также копирует конфигурацию и поведение реального целевого устройства. По описанию звучит очень похоже на эмулятор, потому что обе программы служат аналогичной цели. Довольно часто эти названия используются взаимозаменяемо, но разница все же есть, и лежит она в плоскости аппаратной части.

Симуляторы не имитируют аппаратную часть устройств. Только с помощью эмуляторов можно протестировать, например, работу микрофона или динамика. Симуляторы созданы для того, чтобы проверять только программную часть, которая существует в производственной среде мобильного устройства.

Что такое попарное тестирование?

Попарное тестирование — это техника тест-дизайна, которая обеспечивает полное тестовое покрытие.

ISTQB определяет попарное тестирование как технику тест-дизайна методом черного ящика, при которой тест-кейсы создаются таким образом, чтобы выполнить все возможные отдельные комбинации каждой пары входных параметров.

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

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

Давайте посмотрим, как применять технику попарного тестирования на примере.

3dmark

Ещё один инструмент компании Futuremark, намного более популярный. Впервые приложение появилось почти 22 года назад и является одним из стандартов тестирования видеокарт, хотя теперь для этого чаще используются игры. Здесь применяется интенсивная трёхмерная графическая нагрузка, используются последние технологии рендеринга с поддержкой самых современных видеокарт.

Есть разные версии для Windows, Android и iOS. Предлагается базовая бесплатная версия, где есть четыре стандартных теста. Продвинутая версия по цене $30 обеспечивает полный набор тестов, включая цикличный стресс-тест и тесты Feature с анализом определённых аппаратных компонентов и возможностей рендеринга. Платная версия позволяет менять графические настройки.

3DMark Professional предназначается для промышленных специалистов и даёт больший контроль над автоматизацией и конфигурацией тестов. За это придётся платить $1495 в год, и вы получите единственный дополнительный тест качества изображения.

3DMark позволяет загружать результаты в базу данных и сравнивать ваш компьютер с другими. Приложение по-прежнему популярно среди любителей разгона. Чтобы добраться до верхних строчек рейтинга, часто используется жидкий азот. Например, чтобы 28 ядер с частотой 3,8 ГГц можно было разогнать до 5,8 ГГц.

7-zip

Это не совсем бенчмарк, но он почти всегда используется в обзорах процессоров. Эта программа занимается сжатием файлов и создаёт мусорные данные, а затем используется алгоритм LZM для архивирования и разархивирования этих данных без потерь. Откройте Сервис > Тестирование производительности для запуска.

Тест на сжатие хорошо показывает, как процессор выполняет кэширование данных и использует системную память. Демонстрируются пропускная способность и задержки. На результаты разархивирования больше влияет внутренняя структура процессора, и как он обрабатывает случайные операции. Если вы хотите сравнить эти аспекты у процессоров разных моделей, 7-zip для этого хорошо подходит.

Программа бесплатная и доступна на Linux и Windows.

Accessport

Программа из разряда “чистых” терминалов. Она не поддерживает Modbus, поэтому при её использовании будьте готовы считать CRC для ваших кадров самостоятельно. Несомненным плюсом является то, что в неё встроен сниффер последовательного порта.

Достоинства: наличие сниффера порта, ПО бесплатное, настраиваемое представление данных, возможность передачи файлов.

Недостатки: не поддерживает Modbus вообще, нет возможность создавать профили, в режиме авто-опрос можно работать только с одним устройством, в настоящее время ПО не развивается.

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

Хочется дополнить список ПО и библиотек для работы с Modbus, тем, что было переставлено в комментариях.SCADAFreeSCADAModbus TCP/RTUAdvanced TCP/IP Data LoggerArdsoft Эмулятор ModbusPortMonMODBUS FOR WINDOWSPeakHMIModpoll Modbus Master SimulatorQModMastermodbus_tkpymodbuslibmodbus

Благодарю всех, кто помог улучшить статью!

Спасибо за внимание!

Aida64 extreme edition

Это профессиональное ПО, благодаря которому осуществляется мониторинг рабочего процесса видеокарты. Ключевая особенность —можно провести диагностическое исследование таких составляющих ПК, как материнская плата, оперативная память, центральный процессор, блок питания, а также жёсткий диск. Можно найти неполадки, сбои в самом устройстве через поисковую систему.

Есть возможность вычислить частоту кадров в секунду (FPS) в 3D-играх и приложениях. Доступно вычисление скорости, с которой вращаются вентиляторы, температурного показателя и напряжения графического адаптера. Важный момент — такое тестирование займёт до 10-ти минут.

Возможности AIDA64 Extreme Edition:

  • Отслеживание установленных драйверов;
  • Проверка, в каком положении находятся модули памяти;
  • Исследование, насколько софт сочетается с Windows 10, 8.1, 8 и 7 (32-bit, 64-bit);
  • Просмотр температурного графика, скорости рендеринга GPU;
  • Обработка материнской платы на чипсете Intel Cannon Lake;
  • Выявление разных неполадок всех комплектующих ПК;
  • Вывод полноценных сведений про все аппаратные составляющие компьютера;
  • Отличная сочетаемость практически с любой нынешней видеокартой NVIDIA и AMD Radeon;
  • Оперативное выявление любого сбоя, касающегося аппаратной части.

Android

В случае с Андроидом инструменты удалённой отладки позволяют работать с десктопа при помощи Chrome’s Developer Tools. Кроме того, инструменты эти опять-таки кросс-платформенные.

Сначала, на телефоне пройдите в “Settings” → “About Phone” (для Android 4.4 ), или “Settings” → “About Tablet”. Затем нужно нажать на “Build Number” семь раз. Кроме шуток. После этого вы увидите сообщение насчёт разработчика.

Затем обратно в основных настройках “Developer Options” нужен пункт “USB debugging”.

В адресной строке браузера Chrome наберите about:inspect. Разрешите “Discover USB devices”, и вы увидите в меню своё МУ.

Также вы должны увидеть открытые закладки в мобильном браузере. Выберите нужную, и вам будут доступны:

DOM Inspector,Сетевая панель с внешними ресурсамиПанель исходного кода, для отладки JavaScriptКонсоль JavaScript

Подробности можно найти в тьюториале “Introduction to Chrome Developer Tools, Part One.”

Также можно заниматься удалённой отладкой в эмуляторе Андроида.

Appium


Преимущество Appium состоит в том, что писать тесты под каждую из платформ можно с помощью единого API, не прибегая к преобразованию приложения в какой-либо особый, совместимый с фреймворком вид.

При тестировании используются фреймворки от вендоров — то есть вы работаете именно с исходным приложением. Для Android 4.2 , соответственно, применяется UiAutomator/UiAutomator2, а для iOS 9.3 — XCUITest. В качестве оболочки фреймворков используется WebDriver (он же — Selenium WebDriver).

Принципы Appium:

Использование Appium оправдано, когда нужен инструмент для автоматизации тестирования сразу на нескольких платформах. Он полезен, если у вас есть специалисты с опытом тестирования веб-приложений, но нет опыта автоматизации тестирования мобильных приложений.

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

Ссылка на документацию.

Basemark gpu

Данная программа может показаться клоном 3DMark. Это неудивительно, поскольку среди разработчиков есть несколько бывших сотрудников Futuremark. Впрочем, этот графический тест имеет важное преимущество над своим конкурентом. У него есть версии для Windows, Linux, macOS, Android и iOS.

Для одного теста рендеринга придётся скачивать файл размером почти 1 Гб. Если вы хотите исследовать, насколько хорошо ваша видеокарта управляется с разными типами сжатия текстур, скачивать потребуется ещё больше. Basemark поддерживает три разных графических интерфейса: DirectX 12, OpenGL, Vulkan.

Это делает данное приложение уникальным.

Есть бесплатная версия для каждой платформы. Если вы хотите разблокировать возможность автоматизировать тесты или настраивать их самостоятельно, этот функционал предоставляется только в корпоративной версии и недоступен для покупки обычным пользователям.

Cinebench 20

Ещё один классический бенчмарк. Инструмент Cinebench является сильно урезанной версией программы рендеринга Cinema 4D. В программе применяются последние технологии трассировки лучей.

Видеокарта в этом тесте не используется, разве что для отправки результата на монитор. Тест показывает, насколько хорошо процессор управляет процессами и памятью. Cinebench можно настроить на отображение сцен при помощи заданного числа потоков, от 1 до 256.

Даже если процессор не поддерживает много потоков, бенчмарк всё равно будет работать. Каждая строка инструкций обрабатывать небольшую часть изображения. Чем больше потоков, тем меньше обрабатываемая секция.

Результаты из Cinebench можно найти почти во всех обзорах процессоров. Старые версии приложения используют другие тесты, поэтому результаты не сопоставимые. Здесь не показывается картина по всей системе, но это лучшее приложение для многопоточных процессоров. Оно полностью бесплатное и доступно на Windows и macOS.

Cpu-z

Небольшая программа существует уже около 20 лет. Её автором является Франк Делаттре из Франции. Программа отображает информацию о процессоре: производитель, модель, количество ядер, размер кэша и многое другое.

Кроме описания процессора, программа собирает информацию относительно материнской платы и оперативной памяти. Изначально функционал CPU-Z был очень простым, но сейчас он существенно расширился.

Также здесь есть простой бенчмарк процессора и стресс-тест. Можно загрузить полученные результаты на сайт и поделиться своей статистикой.

Программа доступна только на компьютерах под управлением Windows, а также на мобильных устройствах на Android.

Detox

На наш взгляд, Detox удобен для приложений, написанных на React Native. Тесты пишутся на JavaScript, при этом iOS и Android приложения генерируются из одного и того же кода JavaScript и максимально похожи. Это позволяет использовать одинаковые тесты для обеих платформ.

Ключевая особенность Detox — тестирование по принципу “серого ящика”. В данном случае фреймворк имеет некоторый доступ к внутренним механизмам, что позволяет соотносить внешнее поведение приложения с тем, что происходит на более глубоком уровне.

Detox может обращаться к памяти и отслеживать выполняемые процессы. Принцип grey-box помогает бороться с неустойчивостью, выражающейся в том, что при сквозном тестировании:

Как ни странно, “серый ящик” показывает не только лучшую устойчивость, но и более высокую скорость по сравнению с “чёрным ящиком”. Избегая разного рода пауз, waitUntil, grey-box может быть в 5-10 раз быстрее.

Detox не нуждается в WebDriver, работая с нативным драйвером через JSON. Он задействует нативные методы прямо на устройстве. Внутри данного фреймворка применяются EarlGrey для iOS и Espresso для Android.

Фреймворк работает как с эмуляторами, так и с физическими устройствами.

Ссылка на документацию.

Furmark

Это программа-тест для видеокарты. Ещё она показывает, насколько стабилен графический процессор. Оснащена специализированными инструментами Xtreme Burn-in Test (помогают проверять систему охлаждения). Для запуска можно воспользоваться командной строкой, функционирующей в стандартном либо оконном формате.

У рассматриваемой нами программы весьма уникальный рабочий принцип: при нагрузке видеокарты вы в широкоформатном режиме смотрите, как на рабочем столе появляется «волосатый бублик», крутящийся по сторонам. Ещё он оснащён температурным датчиком. Прокрутка возможна, пока не остановишь кнопкой «Стоп» (или пока не появится синий экран). Для запуска полноценного теста нужно хотя бы 2-3 часа.

Ещё при помощи утилиты Фурмарк доступна настройка характеристик экранного разрешения и графического сглаживания. Выкладывает детальные сведения про итоги контроля, причём отдельным файлом. Необходимо упомянуть и о сочетании утилиты практически с любой моделью NVIDIA GeForce и AMD Radeon.

Основные плюсы FurMark:

  • Файл для установки достаточно компактный;
  • Приложены стресс-тесты для видеоадаптеров, сочетающиеся с API OpenGL;
  • Можно изучить данные про предельную частоту разгона техники;
  • Интегрируется со всеми версиями ОС Windows — от XP до 10;
  • Практически весь справочный материал имеется на официальном портале создателя Geeks3D;
  • Можно провести сравнительный анализ итогов тестов с иными аппаратами.

Hwinfo

Программа рассказывает о компьютере всё, что только возможно. Информация разделена по трём пунктам: системная, полный отчёт и мониторинг датчиков.

Значительную часть этой информации можно увидеть в диспетчере задач Windows, но в данном случае сведения структурированы намного удобнее.

А также много данных можно получить с датчиков, в том числе с процессора, памяти, материнской платы, видеокарты, вентиляторов корпуса, устройств хранения и т.д. Если же вы хотите графический способ отображения статистики, нажмите на любой пункт в списке и увидите график.

HWinfo существует более 20 лет и обновляется почти каждый месяц. При этом она полностью бесплатная. Разработчик инструмента Мартин Малик заслуживает похвалы за такой долгосрочный проект. Поддерживаются 32-разрядная и 64-разрядная версии Windows, и есть даже версия для DOS.

Modbus poll

Начнем с классического приложения и довольно известного в наших “узких” кругах — Modbus Poll от Witte Software.

Эта программа является симулятором мастера в Modbus-сети. Интерфейс Modbus Poll интуитивно понятен. Если вы представляете себе логику работы протокола, то разобраться с программой труда не составит.

Достоинства: хорошая система логирования, достаточное количество поддерживаемых функций (во всяком случае, наиболее востребованные присутствуют), большое количество настроек внешнего вида.

Недостатки: цена (одна лицензия $ 129.00), нестандартный Modbus поддерживается как опциональная функция, нет профилей для быстрого переключения портов — приходится каждый раз перенастраивать соединение.

Modscan32/64

Следующим ПО в нашем обзоре будет Modscan от WinTECH. Внешне эта программа очень похожа на Modbus Poll, но функционалом она обладает значительно меньшим.

У Modscan есть одна уникальная особенность для программ данного типа — это возможность создания форм (своего рода мнемосхем). Пока ее функционалу далеко до реальных SCADA-систем, но наличие такого бонуса радует. На сегодняшний день это достаточно скудный, по своим возможностям инструмент (имеется ввиду редактор форм), но будем надеяться, что со временем, разработчики доведут его до хорошего уровня.

Достоинства: возможность создания собственных форм для просмотра данных, поддержка MMI & OLE Automation.

Недостатки: цена (одна лицензия $ 84.95), нет поддержки нестандартного Modbus, нет профилей для быстрого переключения портов, ненастраиваемая система логирования, малое количество поддерживаемых Modbus-функций.

Pcmark 10

Если вы ищете более общие бенчмарки для тестирования компьютера на Windows в разных ситуациях, таких как офисные приложения, потоковая трансляция видео, игры и т.д., посмотрите на PCMark 10. Программа существует с 2002 года.

Имеется бесплатная базовая версия, где есть один общий бенчмарк. Чтобы получить доступ к остальным тестам и другим функциональным возможностям, нужно заплатить $30. Если вы хотите ещё больше тестов на автономность, скорость накопителей, в определённых приложениях, а также больший контроль над программой, нужно каждый год тратить $1495 за редакцию Professional.

PCMark ведёт мониторинг разных аспектов, вроде нагрузки и температуры центрального процессора. Результаты можно загрузить в базу данных для сравнения с другими системами. Есть отдельная версия PCMark для Android.

Performancetest

PerformanceTEST производства PassMark многим не нравится за то, как вычисляются результаты в тестах центрального процессора. Поклонники Intel и AMD иногда заявляют, что их процессоры получают неправильные результаты, но такова природа бенчмарков. Всегда лучше использовать больше одной программы для проверки системных возможностей.

PerformanceTEST предлагает тесты процессора, видеокарты, оперативной памяти и жёстких дисков и выдаёт итоговый результат. Этот результат можно загрузить в базу данных онлайн и сравнить с другими результатами. На графические тесты 2D и 3D можно посмотреть собственными глазами.

Полностью бесплатная версия отсутствует. Пробный период составляет 30 дней, потом нужно заплатить $29 за разблокировку продвинутых тестов и год бесплатных обновлений. Затем придётся заплатить ещё $13,5 за продолжение поддержки. По сравнению с возможностями Sandra 20/20 или PCMark 10 ограниченный пробный период выглядит устаревшим.

Ranorex

Платный комплексный инструмент для тестирования десктопных, мобильных и веб-приложений. Позволяет проводить тестирование как с применением программирования, так и вовсе без использования скриптов. Предоставляет возможность тестирования не только через эмуляторы, но также на живых девайсах.

Инструмент даёт возможность создавать и настраивать тесты, а также управлять ими централизованно. Вы можете создать тест в центре управления и запускать его в различных внешних средах и на любых девайсах.

Легко интегрируется с существующей CI-средой: с такими системами управления заявками, как Jira и TFS, а также с системами контроля версий — например, Git и SVN.

В Ranorex прокачано data-driven тестирование с подгрузкой данных из SQL, CSV, Excel.

Инструмент подходит абсолютно для любого устройства, поддерживает параллельное тестирование на каждом из них.

Сочетает все три подхода к тестированию: black-box, white-box и grey-box.

Ссылка на документацию.

Sandra 20/20

Популярный инструмент системного анализа называется SiSoft Sandra. Функциональность здесь похожа на HWinfo и AIDA64, но есть и инструменты тестирования, а не только сбора данных.

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

Для системных администраторов и сборщиков компьютеров Sandra даёт все необходимые сведения, но для обычных пользователей программа может быть не самой понятной, а функционал избыточен.

Приложение есть только на Windows. Версия Lite бесплатная и тоже предлагает немало тестов. Чтобы получить всё, придётся заплатить $69,99. После этого можно будет установить программу на пять компьютеров. Есть версии для профессионалов и различных отраслей промышленности, где используются разные лицензии и дистанционный мониторинг. Они могут стоить от $200 до $2195.

Testcomplete

Платная среда для автоматизации тестирования мобильных, веб и десктопных приложений. Поддерживает Android и iOS, а в разрезе типов приложений: нативные, веб-приложения и гибридные.

Ориентированный, в основном, на функциональное и юнит-тестирование, инструмент также предоставляет возможность проводить многие другие виды тестирования:


В TestComplete есть Recorder — в нём тесты создаются путём записи действий и настройки команд в редакторе. Далее они могут запускаться как непосредственно в самом инструменте, так и экспортироваться в сторонние приложения.

Данный инструмент распознаёт объекты и элементы управления, предлагая специальные команды для эмуляции взаимодействия пользователя с ними. Интегрируется с Jenkins, Git и Jira, что позволяет запускать непрерывное бесшовное тестирование.

Ссылка на документацию.

Unigine superposition

Это набор программ от разработчика Unigine, который занимается созданием трёхмерных графических движков для игр и отраслей визуализации вот уже 15 лет. Здесь есть три графических бенчмарка, но два из них уже устарели для современных систем. Мы рассмотрим последний под названием Superposition.

В нём можно увидеть отличные визуальные эффекты. В некоторых из них используется 6 млн. полигонов на кадр и 30 активных источников освещения. Как и в случае с 3DMark, в настройках можно выставить графику на разрешении выше, чем поддерживает монитор. Данный тест подойдет, если вы хотите как следует нагрузить свою видеокарту.Unigine Superposition

Вы получаете результат теста в баллах, которые можно сравнить с другими системами. Есть версии для Windows и Linux. Базовая редакция бесплатная. За $19,95 вы получите цикличный стресс-тест для анализа стабильности системы, а также возможность загрузить свои результаты для сравнения с другими.

Weinre

Если вам приходится отлаживать устройство с iOS на Windows, или Linux, или отлаживать устройство, работающее под Windows Phone или BlackBerry – попробуйте Weinre (web inspector remote). Работает везде.

Настройка weinre сложновата, т.к. его надо устанавливать и на сервере, и на странице. Сначала вам понадобится установить Node, а затем установить модуль Weinre:

npm install –g weinre

Затем запустите сервер отладки (подставляем ip-адрес компьютера):

weinre –boundHost 10.0.0.1

Затем проходим на localhost:8080 и копируем содержимое тега . Его нужно будет вставить на отлаживаемую страницу.

Xcuitest

Инструмент для black-box тестирования без обращения к коду приложения. Работает только с нативными продуктами — к сожалению, провести cross-app тесты не получится.

С другой стороны, нативный характер фреймворка является преимуществом с той точки зрения, что при использовании XCUITest степень взаимопонимания разработчиков и тестировщиков находится на гораздо более высоком уровне, чем в случаях, когда одни и вторые используют разные языки.

Полезным дополнением является test recorder, который даёт возможность писать тесты путём записи действий в приложении даже тем, кто не работает с кодом.

Инструмент позволяет избежать типичных ошибок и лишних, недоступных пользователю манипуляций с кодом. Однако, при этом XCUITest имеет и некоторые недостатки.

XCUITest, в отличие от Espresso, работает в отдельном потоке, во время тестирования нужно дождаться появления определенных элементов и параметров. Актуальное состояние приложения не считывается, и задержки в обновлении данных могут привести к невозможности обнаружения запрашиваемых элементов.

Документация XCTest и XCUITest.

Автотестирование интерфейсов

Прокликивать вручную каждый раз десяток кнопок в браузере, чтобы проверить, как работает страница или скрипт, — долго и утомительно. Лучше поручить это машине — она справится быстрее.

Есть много программ для тестирования интерфейсов, которые отличаются только способом их программирования. Дело в том, что эта программа сама не знает, куда нужно нажать и что должно получиться. Весь этот алгоритм должен задать тестировщик, а для этого хорошо бы знать язык, который для этого используется.

Puppeteer — пример такой программы для автотестирования интерфейсов. Она написана на Node.js, а значит, для программирования её работы достаточно знать JavaScript. Логика такая: пишете код → отправляете её в программу → она сама открывает страницу и нажимает на кнопки → выдаёт результат и найденные баги.

Пример кода для Puppeteer:

const puppeteer = require("puppeteer");
const jobUrl = process.env.JOB_URL;
let page;
let browser;
let cardArr = [];
class Jobs { static async init() { // console.log('Loading Page ...') browser = await puppeteer.launch(); page = await browser.newPage(); await page.goto(jobUrl, { waitUntil: "networkidle2" }); await page.waitForSelector(".search-card"); }
Какой софт нужен, чтобы стать тестировщиком
Результат запуска теста с Puppeteer и Jest: 8 тестов интерфейса за 4 секунды

В каких случаях для тестирования можно использовать эмулятор или симулятор, а в каких — нужно реальное устройство

В использовании эмуляторов, симуляторов и реальных устройств для тестирования есть свои сильные стороны. Выбранный путь тестирования зависит от степени риска и фазы. К примеру, если единственный риск связан с рендерингом веб-сайта, тогда лучше выбрать эмулятор или симулятор.

Оба варианта приемлемы, если необходимо проверить важную для конечного пользователя отзывчивость. Кроме того, стоимость такого тестирования будет более оптимальной по сравнению с использованием реального устройства. Однако некоторые дефекты можно найти только на реальном устройстве.

Организации предпочитают для тестирования использовать только реальные устройства, но они стоят денег. Из соображений экономии бюджета мы стараемся использовать комбинацию из эмуляторов, симуляторов и реальных устройств. Эмпирическое правило гласит — использовать эмуляторы для тестирования аппаратной части и симуляторы для тестирования программной части. Эмулятор может проверить, как работает наше приложение, используя CPU или разное выделение памяти.

Хороший тому пример — тестирование встроенного программного обеспечения с использованием эмулятора. Встроенное программное обеспечение в нашем телефоне повсюду. Это программное обеспечение, которое обеспечивает низкоуровневый контроль за аппаратной частью мобильных телефонов.

Симулятор может гарантировать высокую производительность внутреннего приложения во время взаимодействия с внешним приложением, например, при обмене данными между приложениями. Эмуляторы и симуляторы полезны для тестирования при широком диапазоне условий.

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

Вывод

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

Валидаторы html

Если вы будете тестировать мобильные приложения, собранные на электроне из веб-страниц, или тестировать сайты, вам точно понадобится валидатор HTML.

В чём суть: валидатор проверяет, насколько ваша страница и её оформление соответствует стандартам HTML, и насколько ваша CSS-вёрстка совместима с разными браузерами. 

Работает так: вы отправляете код в валидатор, а он находит и сообщает вам все потенциально проблемные места. 

Вот так выглядит интерфейс WWW-валидатора: вставляете адрес страницы, настраиваете нужные опции, а на выходе получаете отчёт о состоянии кода.

Вадилатор недоволен нашим учебным сайтом.

Инструменты попарного тестирования:

Приведем примеры популярных инструментов, которые помогают эффективно автоматизировать процесс дизайна тест-кейсов путем создания компактного набора значений параметров в качестве желаемых тест-кейсов:

Заключение:

Техника попарного тестирования помогает существенно уменьшить количество комбинаций проверок, достаточных для обеспечения необходимого уровня качества программного обеспечения. Это в самом деле умная техника тест-дизайна, которая гарантирует беспроигрышный результат как с точки зрения усилий и задействованных ресурсов, так и с точки зрения эффективности тестирования.

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

Наладка систем автоматизации, использующих modbus устройства

Людей, занимающихся наладкой систем автоматизации и просто пытающихся “подружиться” с каким-либо устройством, на борту которого находится Modbus, в разы больше чем, тех, кто эти устройства разрабатывает. Исходя из специфики задачи, требования к соответствующему ПО будут немного отличаться.

Если необходимо соединить контроллер и одиночное Slave-устройство, то прежде всего, нужно установить с ним связь с помощью преобразователя интерфейсов RS-485/USB, ПК и специализированного программного обеспечения либо терминала. В таком случае, логика работы и набор инструментов ничем не отличается от тех, что применяются при разработке Slave-устройства на стадии тестирования. На этом этапе не требуется длительное тестирование с последующим анализом большого количества лог-файлов.

В случае, когда у вас уже есть готовая сеть устройств, можно выделить следующие задачи:

В этом случае, понадобится либо терминал с возможностью создания списка запросов, либо специализированный инструмент типа Modbus Poll, который позволяет опрашивать несколько устройств в рамках одного проекта.

Modbus-устройства могут иметь определенные настройки интерфейса RS-485: количество бит данных, четность и количество стоп бит. Устройства с различными настройками не могут работать в одной сети с одним и тем же мастером. Тестирование и конфигурирование таких устройств удобно проводить, применяя терминальные программы, имеющие возможность быстрого переключения между предустановленными профилями настроек портов или работающие с несколькими линиями одновременно.

Реже возникает задача организации обмена данными с устройством, протокол которого отличается от стандартной спецификации Modbus RTU. Нам приходилось встречаться с ситуацией, когда протокол Slave-устройства логически повторяет Modbus (структура пакета, таймауты и т.п.), но использует функции вне стандарта.

В таком случаем возможна работа с использованием Modbus Poll, он позволяет строить произвольные запросы, или терминала, обладающего сходным функционалом. Стандартная SCADA-система, обычно, в такой ситуации бессильна, и работа с подобным оборудованием осуществляется через специальный OPC сервер.

Плагин разработчика для браузера

Чтобы тестирование шло быстрее, тестировщику иногда нужно имитировать разные ситуации, которые могут быть у пользователя:

  • отключённые картинки,
  • отключённые стили,
  • показать альтернативный текст вместо картинок;
  • заблокировать скрипты;
  • заблокировать куки;
  • и ещё много разных нестандартных моментов, которые нужно проверить.

Чтобы не делать всё это вручную, используют плагины, например Web developer toolbar:

Ещё в этом плагине есть полезная для тестировщика опция «Автозаполнение полей». С ней данные можно ввести один раз, а потом плагин сам будет везде подставлять всё, что нужно. Или можно настроить, какие поля как заполнять в зависимости от разных параметров. Быстро и продуктивно.

Если нужно более гибкое и умное автозаполнение, можно использовать другой плагин Form Filler:

Пример применения попарного тестирования

Приложение для заказа автомобиля:

Шаг 1. Перечислим задействованные переменные.

  1. Категория заказа
    а. Купить
    б. Продать

  2. Местоположение
    а. Дели
    б. Мумбаи

  3. Марка автомобиля
    а. BMW
    б. Audi
    в. Mercedes

  4. Регистрационные номера
    а. Валидные (5000)
    б. Невалидные

  5. Тип заказа
    а. Заказ через Интернет
    б. Заказ в магазине

  6. Время заказа
    а. Рабочие часы
    б. Нерабочие часы

Если тестировать все возможные допустимые комбинации: 2 X 2 X 3 X 5000 X 2 X 2 = получаем 240 тысяч комбинаций 🙁 Кроме того, недопустимых комбинаций вообще может быть бесконечное количество.

Шаг №2: Давайте упростим

  1. Валидный регистрационный номер

  2. Невалидный регистрационный номер

Теперь посчитаем количество возможных комбинаций: = 2 X 2 X 3 X 2 X 2 X 2 = 96

Шаг 3. Упорядочивание задействованных переменных и значений.

Когда мы классифицируем задействованные переменные и значения, то получим что-то вроде этого:

Теперь отсортируем переменные так, чтобы переменные с наибольшим количеством значений шли первыми, а с наименьшим — последними.

Шаг 4. Расставляем переменные для создания набора тестов.

Давайте начнем заполнять таблицу столбец за столбцом. Изначально таблица выглядит примерно таким образом. Три значения в столбце «Марка авто» (переменная с наибольшим количеством значений) напишем дважды каждое (потому что следующая переменная, «Категория заказа»,содержит два значения.

Столбец «Категория заказа» содержит два значения. И именно столько раз нам надо вставить значения первого столбца «Марка авто».

Для каждого набора значений в первом столбце мы помещаем оба значения второго столбца. Повторяем то же самое для третьего столбца.

Теперь у нас есть Покупка&Дели, но нет Покупка&Мумбаи. Есть Продажа&Мумбаи, но нет Продажа&Дели. Давайте поменяем значения из второго набора в третьем столбце.

Так уже выглядит получше.

Повторим шаги для столбцов 3 и 4.

Если сравнить столбцы 3 и 4, каждое значение из столбца 3 имеет пару с обоими значениями из столбца 4. Но если сравнить второй и четвертый столбец, у нас есть комбинации Покупка&Валидный и Продажа&Невалидный, но нет комбинаций Покупка&Невалидный и Продажа&Валидный. Следовательно, нам надо поменять местами последний набор значений в четвертом столбце.

С шестым столбцом (Время заказа) у нас проблемка: не хватает пар Покупка&Нерабочие часы и Продажа&Рабочие часы. Нам не удастся получить недостающие пары, поменяв значения местами, поскольку мы ранее уже поменяли местами все строки, и если мы снова начнём их менять, то есть риск пропустить другие возможные пары. Поэтому добавим еще два тестовых случая, которые содержат эти пары. Заполним пустые строки!

Теперь мы заполним пустые ячейки на свое усмотрение, потому что другие значения переменных являются произвольными (обозначим знаком тильды ~).

Итого мы получили всего 8 тест-кейсов вместо 96.

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

Однако эта техника имеет и некоторые ограничения. Она не сработает, если:

Симулятор ios

Для тестирования яблочных устройств, айфонов и айпадов, есть несколько вариантов. Первый среди них – официальный Apple iOS Simulator, входящий в поставку Xcode. Позволяет тестировать разные комбинации софта и железа – но только на Mac.

Установите и запустите Xcode. Потом ПКМ и выберите «Show Package Contents». Затем пройдите “Contents” → “Applications” → “iPhone Simulator.”

Хотя найти его нелегко, использовать симулятор просто. Откройте Safari в симуляторе и тестируйте свой сайт. Можно переключаться между разными устройствами iPhone и iPad, менять версию iOS, поворачивать устройство и т.п.

Если у вас нету Mac’а, придётся заморачиваться. Можно взять iPadian, симулятор iPad для Windows. Кроме него существует ещё несколько вариантов, в частности онлайновые. Но, честно говоря, они не особенно хороши.

Тестирование устройств с поддержкой modbus rtu в рамках процесса разработки

Как при разработке, так и при наладке устройств с поддержкой протокола Modbus RTU, вам необходимо иметь специализированное программное обеспечение и технические средства. Из технических средств наиболее простой вариант — это преобразователь RS-485/USB, из всех устройств такого типа, по нашему мнению, наилучшим выбором является MOXA UPORT 1130/UPORT 1150, цена вопроса которого составит 5000 — 6000 руб.

Существуют различные отечественные решения, например, преобразователи фирмы Fractal или ОВЕН. Конструкция этих устройств достаточно проста, и при определенной сноровке такой преобразователь можно собрать самостоятельно. Более сложными являются решения типа Ethernet/RS-485 (например, NPORT от MOXA).

При разработке устройств с поддержкой Modbus RTU, чаще всего требуется реализовать функцию Slave, так как в основном это различные датчики, управляемые реле, модули ввода/вывода и т.п., Master-устройства создаются реже. В сетях автоматизации в качестве мастера, обычно выступает контроллер, а он, как правило, уже имеет реализацию Modbus-стека, либо OPC Server/SCADA система, укомплектованные Modbus-драйвером.

Вопрос разработки непосредственно Modbus-стека мы не будем рассматривать в этой статье. Единственное, стоит отметить библиотеку FreeMODBUS, на базе которой достаточно просто построить устройство с поддержкой функций Modbus Slave. Пример реализации описан в статье на Хабре.

Вторым важным моментом при разработке Modbus-устройств является тестирование. Здесь всё зависит от стадии разработки и цели тестирования.

На начальных этапах полезным инструментом является Modbus-терминал. С помощью него мы можем вручную сконструировать запрос, послать его и проанализировать ответ. Существуют терминалы в чистом виде, например, SmartTerminal, Access Port, терминалы с поддержкой Modbus RTU — Termite от S2-Team или Pic18 Terminal от Fractal (не обновлялась с 2006 года) и т.п.

В процессе разработки нередко возникает ситуация, когда устройство принимает запрос и отвечает на него (это можно понять либо по светодиодам приема/передачи пакетов, если вы их предусмотрели в конструкции, либо через отладчик, поставив breakpoint в нужном месте), а в терминале или какой-то другой специализированной программе, данные не отображаются.

В таком случае вам пригодится сниффер для последовательного порта, желательно, с поддержкой протокола Modbus. В качестве примера можно привести Free Serial Analyzer, COM Port Toolkit. Последний в настоящее время, похоже, прекратил свое развитие.

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

Следует учитывать, что собранные логи нужно будет анализировать, то есть определять количество запросов, на которые устройство не ответило, обнаруживать сбои, например, самопроизвольное изменение данных в ячейках и т.п. Конечно, можно использовать полноценную SCADA-систему, либо самому разработать и написать систему анализа и визуализации логов.

Как вариант, рекомендуем обратить внимание на MasterSCADA от Insat. Она имеет встроенный Modbus-драйвер и версия до 32 точек является бесплатной, довольно проста в освоении (на сайте производителя есть хорошая документация и видео уроки).

В конце данной статьи мы определим список функций “идеального” инструмента для тестирования и наладки устройств/систем на базе протокола Modbus, а также сделаем небольшой обзор существующих инструментов.

Типы мобильных тестов

Есть множество мобильных приложений и несколько видов тестирования этих приложений. Самый распространенный вид это функциональное тестирование, целью которого является подтверждение того, что приложение работает в соответствии с требованиями. Другие виды:

  • Тестирование совместимости (Compatibility Testing) — с его помощью проверяется, совместимо ли мобильное приложение с разными операционными системами и версиями.

  • Тестирование установки (Installation Testing) — направлено на проверку удобства процесса установки и удаления приложения для пользователя. С его помощью можно удостовериться, что обновления не содержат ошибок и исследовать, что происходит с приложением, если пользователь его не обновляет.

  • Проверка помех (Interruption Testing) — целью этого вида тестирования является проверка поведения приложения в состоянии приостановки, а затем возврата в предыдущее состояние. Например, пользователь смотрит видео и в этот момент ему позвонили. Приложение, проигрывающее видео, должно перейти в фоновый режим, а после вернуться в предыдущее состояние до звонка.

  • Нагрузочное тестирование (Load Testing) предназначено для проверки того, как отвечает приложение, если к нему обращаются одновременно очень много пользователей. Пользователи пытаются одновременно установить, удалить и использовать приложение, чтобы посмотреть, не даст ли оно сбой или медленную загрузку.

  • Тестирование локализации (Localization Testing) проверяет качество адаптации под определенный географический регион. Например, тест может включить верификацию определенного языка, соответствие требованиям местного законодательства или временной зоны.

  • Тестирование производительности (Performance Testing) — проверяет производительность приложения под определенными условиями загруженности, таких как проверка скорости приложения, плохое покрытие сети и недостаток доступной памяти.

  • Тестирование безопасности (Security Testing) — проверяет уязвимость аутентификации, авторизации, взломов и безопасности данных.

  • Юзабилити-тестирование (Usability Testing) проверяет, удобно ли пользователям использовать приложение. Цель в том, чтобы удостовериться, легко ли с помощью приложения выполнить определенную задачу.

Трекер задач

Трекер задач — это программа для учёта списка дел, которые нужно выполнить по какому-то продукту. Смысл трекера в том, чтобы вы не забыли сделать всё, что нужно, и записать результаты своей работы. 

Какой выбрать трекер — зависит от команды разработчиков. Если нужно сосредоточиться на задачах и их решении, можно выбрать Яндекс-Трекер. А если в компании принято отслеживать бизнес-процессы, выстраивать иерархии, внедрять организационные методологии и анализировать бизнес-активность по KPI, то используют Jira.

Какой софт нужен, чтобы стать тестировщиком
Интерфейс Яндекс Трекера.

Ещё есть отдельный класс трекеров — специализированные QA-трекеры для упорядочивания сценариев тестирования и отслеживания их прохождения. Они нужны, когда у тебя большой продукт, перед выкаткой которого нужно прогнать не несколько десятков, а несколько сотен и тысяч тестов.

Чтобы организовать всё это, есть отдельный софт типа TestRail. Он не тестирует сам по себе, но помогает не потерять важные тестовые сценарии при запуске и красиво отчитаться перед командой. Другие среды тестирования с ним интегрируются и закидывают в него данные, а он отчитывается.

Удалённое тестирование

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

Но это не означает, что вам нужно их все покупать. Можно воспользоваться услугами сервисов удалённого тестирования, которые предлагают веб-интерфейс для тестирования на удалённых устройствах. Можно будет взаимодействовать с телефоном и видеть его экран.

Для тестирования устройств от Samsung, таких, как Galaxy S5, можно бесплатно воспользоваться услугами Samsung Remote Test Lab – они предоставляют для тестирования большой выбор своих устройств.

Также можно пользоваться ресурсами Keynote Mobile Testing. Они недёшевы, но количество доступных устройств поражает, и некоторыми можно пользоваться бесплатно.

Если вам нужны физические устройства, можно обратиться в Open Device Lab, где есть список ближайших доступных лабораторий тестирования.

Часть 2: программы для бенчмарков и стресс-тестов

Теперь у вас есть все инструменты для мониторинга. Остаётся узнать, работает ли ваш компьютер так, как должен. Для этого применяются бенчмарки.

Существует множество бенчмарков и игр, в которые бенчмарки встроены. Игры являются отличным местом для проверки видеокарт. В этой части статьи описаны 19 программ, которые часто используются в обзорах аппаратных компонентов и обладают дополнительными возможностями тестирования, которых нет в играх.

Сюда не вошли программы, которые могут вести мониторинг и запись частоты кадров в играх, такие как FRAPS или Afterburner.

Если же вас интересуют стресс тесты исключительно для видеокарты, читайте нашу статью: Стресс тесты для видеокарты. Ещё есть статья с программами для тестов только процессора: Лучшие программы для стресс-теста процессора.

Подводя итоги

Планируя тестировать то или иное мобильное приложение, обратите внимание на перечисленные выше инструменты. Каждый из них имеет свои особенности, а иногда и ограничения.

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

Если тестами занимаются специалисты SDET, которые знакомы с другими языками (Java, JavaScript, Python и др.) и работали с Selenium, удобно использовать Appium. Если опытного SDET в команде нет, а тесты будут писать специалисты QA, лучше выбрать платные фреймворки, поскольку в них есть утилиты для записи тестов и более стабильная техподдержка, чем в open source фреймворках.

Из нашей практики:Мы работали с одним интернет-магазином, у которого было два мобильных приложения – на iOS и Android. Для покрытия тестами основных пользовательских сценариев мы выбрали Appium по нескольким причинам:

В результате Appium полностью оправдал ожидания, мы успешно провели тесты для iOS и Android. При этом следует учитывать, что подобные end-to-end тесты с Appium не проводятся на каждом merge request, поскольку это занимает много времени.

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

Спасибо за внимание!

Оцените статью
Радиокоптер.ру
Добавить комментарий