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.
Tools
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 [ltp.sf.net]
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.