Wprowadzenie

Testowanie oprogramowania odgrywa bardzo ważną rolę w procesie jego tworzenia. Niniejszy podręcznik ma za zadanie przybliżyć Czytelnikowi proces testowania jądra systemu Linux. Jest podzielony na kilka krótkich rozdziałów omawiających ważniejsze zagadnienia, które powinny być znane każdemu dobremu testerowi. Nie opisuję w nim dogłębnie wszystkich problemów na jakie można natrafić podczas testowania aby nie zanudzać Czytelnika, oraz aby zostawić pole do własnych odkryć.

Dlaczego warto się zająć testowaniem jądra Linux?

„Otóż moim zdaniem powinniśmy je testować, jeżeli chcemy mieć gwarancję, że kolejne wersje jądra będą prawidłowo działać na naszym sprzęcie i będą prawidłowo robić to, co jest nam potrzebne. Innymi słowy, jeżeli chcemy używać Linuksa „na poważnie”, to warto poświęcić trochę czasu na sprawdzanie, czy w kolejnej wersji nie „szykuje się” coś, co nam popsuje szyki, zwłaszcza, że obecnie jądro dość znacznie zmienia się między „stabilnymi” wersjami (z czego większość użytkowników nawet nie zdaje sobie sprawy). W gruncie rzeczy na tym polega odpowiedzialność użytkownika Open Source: należy sprawdzać nowe wersje i informować o problemach. Jeżeli tego nie robimy, to później nie mamy prawa narzekać, że coś przestało działać.

Oczywiście z naszego testowania skorzystają także inni użytkownicy, ale raczej nie warto liczyć na to, że ktoś za nas sprawdzi czy na naszym sprzęcie nowa wersja jądra będzie działać prawidłowo, czy nie. :-)”
– Rafał J. Wysocki

Niestety wśród użytkowników Linuksa pokutuje mit mówiący, że ludzie chcący testować jądro systemu muszą umieć programować. Takie stwierdzenie jest równie prawdziwe jak stwierdzenie, że ludzie oblatujący nowe modele samolotów muszą umieć je projektować. Umiejętność programowania jest bardzo przydatna podczas wykonywania testów, pozwala lepiej ocenić sytuację, oraz pozwala poznać sposób działania jądra systemu, jednak brak tej umiejętności
nie dyskwalifikuje nas jako testerów.

Kolejny często spotykany mit mówi: „używając rozwojowych wersji systemu narażamy się na utratę danych”. Jest to jak najbardziej prawdziwe stwierdzenie, tak samo jak „używając noża kuchennego narażamy się na utratę palców”. Aby zaradzić utracie danych, najlepiej jest wykonywać testy na systemie przeznaczonym do tego celu, zainstalowanym na oddzielnej partycji lub dysku, na którym nie montujemy żadnych partycji z systemu stabilnego. Dobrą praktyką jest też wykonywanie regularnych kopii zapasowych naszych danych (to jest bardzo dobra praktyka również na systemach uważanych za stabilne).

Powinniśmy posiadać wiedzę o budowie i zasadzie działania systemu operacyjnego. Polecana lektura:

Na stronie KernelNewbies można znaleźć listę wszystkich ciekawych książek http://kernelnewbies.org/KernelBooks. Bardzo przydatne artykuły przybliżające działanie niektórych komponentów jądra Linux można znaleźć na stronach Linux Weekly News http://lwn.net/Kernel/Index/ (ang.). Powinniśmy jednak pamiętać, że żadna nawet najlepsza książka czy artykuł nie zastąpią nam lektury kodu źródłowego jądra systemu jedynej zawsze aktualnej dokumentacji.

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-Share Alike 2.5 License.