Инструменты необходимые для тестирования Linux

4207
знаков
0
таблиц
0
изображений

Максим Уваров

Введение

Данная статья представляет из себя набор тех утилит, с которыми приходится сталкиваться QA инженеру при тестировании linux/unix подобных таргетов. Здесь описаны лишь некоторые, основные инструменты, с которыми Вам наверняка придется работать. Эта статья будет полезна тем людям, которые только собираются тестировать устройства с линуксом и мало знакомы с теми программами, которые им предстоит использовать. Статья состоит в основном из названия программы и краткого описания, описания того, каким образом можно ее использовать для тестирования. Хотелось бы надеется, что она послужит началом wiki странички с примерно таким же названием.

В данной статье мне хотелось бы рассказать о инструментах для тестирования программ на базе linux. Но большинство данных решений будет применимо к большинству unix-based систем. Сложилось так, что большинство приложений — это консольные приложения, которые легче автоматизировать.

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

a) ядро (kernel)

Сюда относится само ядро, модули ядра, и userspace level управления ядром ( имеется ввиду /proc и /sys интерфейсы). Поскольку само ядро написано на С и ASM, то для тестирования вам в основном придется использовать именно С. Обычно это небольшие тестовые модули ядра, проверяющие какие либо функции, либо модуль с разным параметрами + скрипт. Как показывает практика лучше использовать не один модуль проверяющий сразу всю фичу, а много модулей проверяющих каждую функцию отдельно. Стоит также не забывать проверять все возможные коды возврата функций.

б) пользовательские программы (userspace level)

Любые приложения работающие на операционной системе. Тут все не однозначно, все зависит от приложения. Естественно если программа написана например на Java, то вам понадобится сама Java, хотя бы для того, чтобы убедится, что программа вообще собирается.

в) ядро + пользовательские программы

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

Инструменты

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

- GCC - Gnu C compiler

Основной C, C++ компилятор linux. Если вам надо протестировать сам компилятор, то на сайте gcc есть тесты (входят в исходники gcc3.0 например). Компилирование с опцией -g позволит сделать отладку с помощью gdb.

- bash

Оболочка bash тоже есть в каждом дистрибутиве. Очень удобна для написания скриптов.

- expect

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

- expect-perl и expect-python (pyexpect)

Библиотеки expect для скриптовых языков perl и python.

-gdb -Gnu Debuger

Стандартный C/C++ отладчик. Имеет очень много возможностей, если вы им не разу не пользовались, то советую с ним ознакомится. Используйте kgdb для ядра.

-ltt - Linux Trace Toolkit

Если ваше ядро поддерживает LTT, то вы можете просмотреть активные процессы/системные вызовы в данный процесс времени.

-import и gimp

Утилита import из imagemagic и программа gipm могут использоваться для снятия скриншотов при тестировании графических приложений.

-minicom

Термнимальная программа для ручного тестирования. Если нужно автоматизировать работу с консолью, то лучше использовать expect ( или в связке с "cat" и "echo", либо просто открыть /dev/ttySx как файл; иногда второй случай не подходит).

-ltp - Linux Test Suite Page [ltp.sf.net]

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

-netperf

Утилита позволяющая проверить производительность сети.

-ircp, irdump, openobex

Улилиты для проверки инфрокрасного порта.

-telnet,ssh

Удаленный shell. Если необходимо часто вводить одни и те же команды, можно воспользоваться expect. Есть в любом дистрибутиве.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://software-testing.ru/


Информация о работе «Инструменты необходимые для тестирования Linux»
Раздел: Информатика, программирование
Количество знаков с пробелами: 4207
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
120458
12
1

... eth0:2 - 192.168.3.1/24 Для того что бы протестировать первым средством понадобится рабочая станция из которой нужно пытаться зайти на сервер. Для тестирования на ней будет установлено: Операционная система Linux и Windows 2000 pro Интернет обозреватель (Internet Explorer,Fire Fox или любой другой). Сетевая карточка, которая поддерживает технологию Ethernet. После того как сервер и рабочая ...

Скачать
249681
5
8

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

Скачать
255323
33
27

... в помещении представлена на рисунке 4.1 Рисунок 4.1 - Схема размещения светильников в аудитории № 209. Заключение В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning ...

Скачать
134267
5
10

... с обслуживанием сотрудников и как следствие снижение эффективности их работы, и как следствие снижение производительности работы организации в целом, что может привести к значительным финансовым потерям. 2. Практические аспекты внедрения корпоративного сервера на базе ОС Linux. 2.1 Основания для внедрения системы Решение любой задачи состоит из двух этапов. Первый этап теоретический ...

0 комментариев


Наверх