Название: Инструменты необходимые для тестирования Linux
Вид работы: доклад
Рубрика: Информатика и программирование
Размер файла: 14.66 Kb
Скачать файл: referat.me-137376.docx
Краткое описание работы: Данная статья представляет из себя набор тех утилит, с которыми приходится сталкиваться QA инженеру при тестировании linux/unix подобных таргетов. Здесь описаны лишь некоторые, основные инструменты, с которыми Вам наверняка придется работать.
Инструменты необходимые для тестирования Linux
Максим Уваров
Введение
Данная статья представляет из себя набор тех утилит, с которыми приходится сталкиваться 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. Есть в любом дистрибутиве.
Похожие работы
-
Анализ эффективности ЛИНУКС
Теоретический анализ эффективности использования операционной системы Линукс. Преимущество Linux в производственных процессах. Устойчивость работы.
-
Выбор хостинга с базами данных
Какой тип веб-сайтов зависит от информации из баз данных? Сайты, предлагающие сформированные по условиям пользователя страницы наполненные богатым и динамичным содержанием. Сайты, которые автоматически ищут и предлагают товары on-line.
-
Операционная система LINUX
Самым популярным проектом UNIX-системы конца XX века стала недорогая альтернатива дорогостоящим (HP-UNIX, SUN Solaris, Digital UNIX) решениям - ОС Linux. Сегодня темпы освоения рынка данной системой по сравнению с остальными известными ОС являются самыми интенсивными.
-
Считаем время выполнения скрипта
Вы наверняка замечали на некоторых сайтах внизу страницы надпись, что мол скрипт выполнен или страница создана за столько-то секунд. И сейчас мы сделаем это средствами PHP.
-
Сказка о том, как Windows и Linux дружили в одной сети
Об используемых технологиях. Реализация х-сервера для windows. Подготовка машины linux. Установка и конфигурация GYGWIN/X. Работа с CYGWIN/X. Установка и настройка WEIREDX. Установка и настройка X-DEEP/3.
-
NetWare встречается с Linux
Независимость от платформы как принцип. Позиционирование OES. Настоящая интеграция. Гетерогенные кластеры.
-
Робота з командним рядком Linux
Основні команди операційної системи Linux. Інтерфейс та робота в режимі командного рядка. Системи управління програмою на основі меню. Посилання в текстовому режимі. Список файлів і каталогів, зупинених і фонових завдань. Права доступу до файлів.
-
Классификация операционных систем
Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.
-
Преимущества использования операционной среды z/OS UNIX при отладке программ для больших вычислительных машин
В данном статье мы рассмотрим операционные системы семейства UNIX на платформе zSeries, имеющие встроенную поддержку сервисов UNIX и поддерживающие возможность компиляции программ из исходного кода.
-
Поиск того, чего нет
Часто существуют зависимости между количеством ошибок, относящихся к определенной области, и тем была ли эта область полностью протестирована. Также дыры могут быть в том, что показывают типы ошибок.