Інструменти необхідні для тестування 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. Є в будь-якому дистрибутиві.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Доповідь
8.2кб. | скачати


Схожі роботи:
Фотосинтез і необхідні для нього умови
Антибіотики необхідні для лікування урогенітальних інфекцій
Біологічні особливості європейської ряпушки необхідні для її штучного розведення
Життєво-необхідні фактори середовища для організму людини Вода
Кроссплатформне програмування для Linux
Тестування для користувача інтерфейсу
Створення бази даних функціональних аналогів Windows-програм для ОС Linux і розробка методики
Використання компютерів для тестування в компютерному класі
Програма для тестування знань з дисципліни Програмування на мові С 2
© Усі права захищені
написати до нас