Dalekie od doskonałości

O pisaniu bezbłędnych programów można zapomnieć - teraz najważniejsze to by pozostawiać takie błędy, które nie powodują znaczących uszkodzeń danych

Bezbłędne programy pozostają wciąż niespełnionym marzeniem wszystkich użytkowników komputerów. Dzieje się tak, mimo że producenci stosują bardzo wymyślne procedury testujące.

Hamburg, Niemcy, godzina 11.00. Jeżeli któryś ze 120 programistów firmy Star Division nie wprowadził jeszcze do standardowego systemu kontroli oprogramowania swoich poprawek korygujących zauważone błędy, to w tym momencie jest to już bezcelowe. Pięć komputerów Pentium taktowanych zegarem 200 MHz rozpoczęło bowiem kompilację czterech milionów linii kodu źródłowego. Ten potężny zestaw rozkazów – napisanych w większości w C++ i w około dziesięciu procentach w Javie – tworzy coś, co z wyglądu przypomina program StarOffice 6.0. Pliki EXE, DLL i inne zbiory, które powstały w wyniku nieprzerwanej, prawie dwudniowej kompilacji prowadzonej na pięciu komputerach, stanowią jednak dopiero materiał wyjściowy dla 40-osobowego zespołu testującego.

Każdy programista sprawdza najpierw samodzielnie, czy zmodyfikowany lub rozbudowany przez niego moduł programu nadal funkcjonuje. Ta procedura jest niewystarczająca. Oprogramowanie działające bez zarzutu na komputerze wyposażonym w Windows NT i kartę Intel i740 może okazać się zabójcze dla komputera z systemem Linux i kartą S3 Virge. Opisana sytuacja miała miejsce w przypadku wersji 5.0 pakietu StarOffice, który w takiej konfiguracji po prostu się zawieszał.

Informacje w Internecie i na CHIP-CD
Software Testing Laboratories: http://www.stlabs.com/testnet/docs/author.htm

„Winę ponosił tu sterownik” – wyjaśnia Matthias Panczyk, dyrektor ds. konsultingu i pomocy technicznej firmy Star Division. „Jednak zwykle użytkownik oczekuje rozwiązania od nas, nawet jeśli przyczyną danego problemu nie jest bezpośrednio nasze oprogramowanie” – dodaje Panczyk. Z tego też względu czterdziestu „poszukiwaczy błędów” pracuje nieustannie nad tym, aby znaleźć istniejące usterki, zanim uczynią to użytkownicy.

Do wykrywania poważnych błędów wykorzystuje się dwie procedury testowe:

  • tzw. test dziesiętny, czyli kontrolę dziesięciu najważniejszych funkcji pakietu. Ta próba ma m.in. dać odpowiedź na następujące pytania: Czy daną aplikację można w ogóle uruchomić? Czy może ona wczytywać złożone dokumenty testowe i wyświetlać pliki HTML? Czy działa interpreter JavaScriptu? Osoby testujące zajmują się już tylko oprogramowaniem spełniającym takie elementarne wymagania.
  • podczas testu kontroli jakości wykonywane są automatycznie standardowe procedury – często bardzo skomplikowane. W trakcie ich przebiegu komputery generują i przetwarzają złożone dokumenty, liczące wiele tysięcy stron. Maszyny testujące mogą również próbować w kontrolowany sposób „położyć” poszczególne komponenty pakietu StarOffice, dodając ciągle do dokumentów nowe obiekty. Na monitorach w ułamkach sekund pojawiają się kolejne okna dialogowe, a komputery automatycznie wybierają pozycje z list, naciskają przyciski i wprowadzają dane do pól tekstowych – bez względu na to, czy jest to edytor tekstu czy program do tworzenia prezentacji. Umieszczone na wielu półkach drukarki (igłowe, atramentowe i laserowe) produkują tony papierowych wydruków.
0
Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.