Knowledge Center

Necessary Tools to Test Linux

This article represents a description of the utilities which QA engineer faced to test linux / unix. Here we describe only some basic tools with which you will certainly had to work. This article will be useful to people who are just going to test the devices with Linux and not familiar with those programs that they will use.

In Linux all programs can be divided into the following groups:

a) kernel

This includes the kernel itself, the kernel modules and userspace level control of core (meaning the /proc and /sys interfaces). Since the kernel itself is written in C and ASM, then for test you basically have to use C. Usually it is a small test modules of kernel that check some a function or a module with different parameters + script. As practice shows it is better to use no single module checks once all feature, but many modules which test each function separately. You should also not forget to check all possible codes of return of functions.

b) userspace level

Any application running on the operating system. Everything depends on the application.

c) the kernel + userspace level

Most likely, you will meet this kind of applications most of all. This scheme consists of core driver that provides low-level connection to any device and the user program.


Linux is very convenient for programming and testing.

Let’s try to describe all the necessary tools:

  • GCC - Gnu C compiler

The basic C, C + + compiler linux. Compiling with -g will make debugging using gdb.

  • Bash

The bash shell is also found in each distribution. It is very useful for writing scripts.

  • Expect

It is used to automate a process. It is simple, but not very convenient syntax TCL.

  • Expect-perl and expect-python (pyexpect)

Libraries expect for scripting languages perl and python.

  • Gdb-Gnu Debuger

Standard C / C + + debugger. Has so many possibilities, if it is not never been used, we advise you to study it. Use kgdb for kernel.

  • Ltt - Linux Trace Toolkit

If your kernel supports the LTT, you can see the active processes / system calls in the process of time.

  • Import and gimp

Utility import of imagemagic and gipm program can be used for screenshots for testing graphics applications.

  • Minicom

It is the program for manual testing. If you want to automate the work with the console, it is best to use expect (or in conjunction with the "cat" and "echo", or simply to open / dev / ttySx as a file).

  • Ltp - Linux Test Suite Page []

Very good collection of tests. It includes tests of file systems, system calls, and much more.

  • Netperf

It is utility to verify the performance of network.

  • Ircp, irdump, openobex

It is utility to check infra-red port.

  • Telnet, ssh

Remote shell. If you frequently enter the same command, you can use expect.