Максим Уваров
Введение
Данная статья представляет из себя набор тех утилит, с которыми приходится сталкиваться 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]
Очень хорошая коллекция тестов. Включает в себя тесты файловых систем, системных вызовов и многое другое.
-netperf
Утилита позволяющая проверить производительность сети.
-ircp, irdump, openobex
Улилиты для проверки инфрокрасного порта.
-telnet,ssh
Удаленный shell. Если необходимо часто вводить одни и те же команды, можно воспользоваться expect. Есть в любом дистрибутиве.
Другие работы по теме:
Исследование оперативной памяти
Методика применяется для изучения оперативной памяти в тех случаях, когда она несет основную функциональную нагрузку. Порядок проведения Испытуемому вручается бланк, после чего экспериментатор дает следующую инструкцию.
Выбор хостинга с базами данных
Какой тип веб-сайтов зависит от информации из баз данных? Сайты, предлагающие сформированные по условиям пользователя страницы наполненные богатым и динамичным содержанием. Сайты, которые автоматически ищут и предлагают товары on-line.
Проверка ОС на безопасность
Microsoft рекламирует Vista как самую безопасную версию Windows, Apple обещает стопроцентную защиту от вирусов, якобы надежнее их всех вместе взятых. Мы попытались разобраться, чему из этого можно верить.
Анализ эффективности ЛИНУКС
Теоретический анализ эффективности использования операционной системы Линукс. Преимущество Linux в производственных процессах. Устойчивость работы.
Організація роботи з програмою VirtualBox
Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.
Синтез системи оперативної обробки мінімальної конфігурації
Еverest як програма для перегляду інформації про апаратні і програмні конфігурації комп'ютера, її структура та принцип роботи, значення та функціональні особливості. Обчислення середнього часу відповіді та вартості СОО. Методи діагностики Linux.
Робота з командним рядком Linux
Основні команди операційної системи Linux. Інтерфейс та робота в режимі командного рядка. Системи управління програмою на основі меню. Посилання в текстовому режимі. Список файлів і каталогів, зупинених і фонових завдань. Права доступу до файлів.
Преимущества и недостатки ОС Linux
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САНКТ - ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ»
Файловая система ОС Linux
Файловая система ОС Linux Одним из наиболее важных компонентов в ОС Linux является файловая система. В данном разделе будут рассмотрены понятие файловой системы и ее предназначение; иерархия файловой системы ОС Linux; типы файлов ОС Linux. Остальные вопросы, касающиеся администрирования файловой системы, более подробно будут рассмотрены в модуле 3.
Linux 2
Linux Linux, произносится «ли́нукс» (некоторые, также, GNU/Linux, произносится «гну ли́нукс» или «гну слэш ли́нукс») — общее название Unix-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.
Here Now Later Essay Research Paper Do
Here Now, Later Essay, Research Paper Do you see fragmentation in the Linux distribution market to be a good, bad, or neutral thing? Do you think that the”media frenzy” over Linux tends to harm other worthy OS projects like the BSDs and BeOS? Do you think that big business’s entry into the Linux market will change the gift-culture aspects of Linux, or will the businesses in question adapt to Linux? Or both? What do you think is in store for humanity in terms of relations between governments, businesses, and individuals? Do you think that we should actively pursue colonization of other planets in our star system at this time, and if not, then when?
Linux Os Overview Essay Research Paper The
Linux Os Overview Essay, Research Paper The Linux Operating System The Linux Operating SystemThe following report contains a brief overview of the Linux operating system – in particular, the system managers. First, the Linux interface is described, followed by the system managers:- memory manager- process manager- processor manager- file manager- device managerThis report is targeted at readers who have a general knowledge of computing and operating system fundamentals, and want to know a little more about Linux as compared to other operating systems in general.
Linux Essay Research Paper Introduction TOPIC
Linux Essay, Research Paper Introduction ? TOPIC: Can Linux succeed in a Windows world? Linux is a Unix-language-based computer platform and is described as being slimmer, faster, more reliable
Hacking Essay Research Paper Imagine this you
Hacking Essay, Research Paper Imagine this, you are driving along the road and suddenly you see something spectacular. Now imagine that you are not allowed to deviate from your course to
Operating Systems Essay Research Paper Purpose The
Operating Systems Essay, Research Paper Purpose The first thing I wanted to do for this project was to determine how the computer system I chose was going to be used. I wanted to purchase a personal computer system, with monitor and printer that I could use to do Web-based research. The research will be done out of my house.
CyberCommunism The New Threat In The New
Millennium Essay, Research Paper My expedition into cyber-communism began when I read Brock Meeks’ “Hackers Stumble Toward Legitimacy”[1]. The article addressed a recent hackers’ convention. Interestingly, the keynote speaker was Eric Boucher[2] (alias Jello Biafra[3]), a rock star with no technical background.
Mp3 Vs Md Essay Research Paper MD
Mp3 Vs Md Essay, Research Paper MD vs MP3 The day is almost here. It’s not the second coming. Its not the day Linux outsells Windows. Nor is it the day when we all own flying cars and our shoes tie themselves. It’s the day the CD dies. By using digital recording techniques, recorded music could sound as true as the original, and any part of a recording could be accessed instantly.
Linux Vs Nt Essay Research Paper Comparing
Linux Vs Nt Essay, Research Paper Comparing any network operating system is really like comparing an apple to an orange. To judge between the underlying functionality of each operating system geared towards different networking environments is too broad of a subject to come to a reasonable conclusion.
Network Essay Research Paper What is open
Network Essay, Research Paper What is open source?The basic idea behind open source is very simple. When programmers on the Internet can read, redistribute, and modify the source for a piece of software, it evolves. People improve it, people adapt it, people fix bugs. The open-source community have learned that this rapid evolutionary process produces better software than the traditional closed model, in which only a very few programmers can see source and everybody else must blindly use an opaque block of bits.Open source doesn’t just mean access to the source code.
Comparing Kde And Gnome Essay Research Paper
John Wingate CIS-350 Comparing and Contrasting GNOME and KDE Desktop environments help give Linux a more attractive and customizable look. Linux has a few different choices for desktop environments to help enhance the users experience. Two of the most popular are GNOME, which stands for GNU Network Object Model Environment, and KDE, which stands for Kool Desktop Environment.
Microsoft Monopoly Essay Research Paper By now
Microsoft Monopoly Essay, Research Paper By now everyone is familiar with the case U.S. vs. Microsoft. What is all this about? According to my two articles, Microsoft, the world’s leading software company, is being sued by the Justice Department joined by 19 states.
Letter To Supreme Court About Microsoft Essay
, Research Paper Microsoft Associate Justice John Paul Stevens United States Supreme Court Washington, DC Dear Judge Stevens, I am a freshmen student attending Penn State University. I would like to take a moment from your involving world to express my opinion on why Microsoft should not be broken up. I feel that the outcome of the verdict will have a ripple affect throughout the economy and can possibly be damaging.
Open Source Vs Traditional Development Essay Research
Paper In the world of technology today there is room for everyone at every level of expertise. From our identified Gurus, to the just bought their first computer newbie. Home computers are sometimes almost to easy to use. The old saying “just enough rope to hang yourself” comes to mind. Settings that modify the very way the system looks, and runs can be changed with the simple click of the mouse.
Boot Process And Hardware Components Essay Research
Paper Observing the Boot Process and Hardware Components 1. Carefully watch your computer screen during the boot process (press Pause if necessary), and record which CPU is used by your home or lab computer?
Linux And Windows NT Essay Research Paper
Forget the browser wars. This year’s big nerd battle is the server shootout between Linux and Windows NT – and it’s not just a bunch of geeks nit-picking. While both offer more affordable platforms for Web service than in
Apple Vs The World A Comparison Of
Pc?S And Apple Computers Essay, Research Paper INTRODUCTION This article will evaluate the practicality of several PCs vs. Apple Macs for an incoming college freshman. The ever-changing computer world is a maze of options and capabilities. Within this ever-changing world lie to very different elements; the PC and the Mac are two very different computers.
Red Hat Linux
Red Hat Linux — бывший популярный дистрибутив Linux компании Red Hat. Выпускался в 1995—2003 гг. Ранние версии дистрибутива также носили названия Red Hat Software Linux, Red Hat Commercial Linux и Red Hat LiNUX. На основе Red Hat Linux был создан ряд других дистрибутивов, в том числе Mandriva и ASPLinux.
LINUX 10
Міністерство науки і освіти України Реферат на тему: LINUX Виконала Свістяк А.С Перевірила Красничук В.В Зміст Історія Linux . Системні характеристики .