Poprawki po programiście

Numega oferuje pakiet do testowania programów, usuwania błędów, profilowania wydajności.

Numega oferuje pakiet do testowania programów, usuwania błędów, profilowania wydajności.

Jednym z najpopularniejszych produktów do znajdowania i usuwania błędów, testowania modułów aplikacji oraz profilowania wydajności jest zestaw narzędziowy Dev-Partner Studio firmy Numega (obecnie filia Compuware). Jest on przeznaczony do współpracy z dowolnymi pakietami narzędziowymi do tworzenia aplikacji w Visual Basicu, C++ i Javie. Przez Compuware jest promowany jako niezbędny dodatek do pakietu Microsoft Visual Studio.

W przypadku programów w Visual Basicu pakiet sprawdza kod pod kątem występowania popularnych błędów logicznych w programie, nieprawidłowych konstrukcji proceduralnych znanych błędów, problemów z rokiem 2000, niezgodności wersji i ze standardem języka. Solidna instrumentalizacja (dodanie informacji testujących do programu wykonywalnego) kodu aplikacji w innych językach pozwala na określenie wydajności poszczególnych części kodu oraz sprawdzenie, które fragmenty w działającej aplikacji nigdy nie są używane. Umożliwia również uzyskanie informacji o stanie błędów w czasie awarii aplikacji.

Błędy kodowania

CodeReview to moduł do analizy kodu Visual Basica, sprawdzający pojawianie się potencjalnych błędów w programie. Nie tylko znajduje błędy, ale również sugeruje poprawne rozwiązanie. Pozwala na ustanowienie lokalnych standardów kodowania, zapisanie ich w bazie danych i kontroluje ich przestrzeganie przez programistę.

SmartCheck służy do wykrywania błędów w kompilowanych aplikacjach Visual Basica i bibliotekach DLL. Najtrudniejsze do wykrycia są błędy pojawiające się w wyniku wywołania funkcji, zwracających niewłaś-ciwy wynik, np. pusty łań-cuch znaków zamiast niezerowego łańcucha.

BoundsChecker dla C++ identyfikuje błędy w alokacji pamięci i zasobów, wykrywa nie zwolnione zasoby, wskazuje na błędy w wywołaniach funkcji API z Windows, sprawdza poprawność działania kodu na wszystkich platformach Win32, w tym na Windows CE.

JCheck to moduł do sprawdzania poprawności kodowania w Javie, o właściwościach zbliżonych do możliwości modułu SmartCheck. Umożliwia sprawdzanie kolejności zdarzeń w wątku programu. Pokazuje strukturę działania wątków programu w formie drzewiastej, pozwalając na dostęp do szczegółów każdego składnika programu.

SoftICE to debugger systemowy, umożliwiający uruchamianie programów ściśle współpracujących z systemem operacyjnym Windows, a więc w szczególności wirtualnych sterowników urządzeń VxD, programów napisanych w asemblerze, nawet jeśli nie mamy dostępu do kodu źródłowego i in.

Profilowanie aplikacji

DevPartner Studio jest wyposażony w moduły do testowania wydajności aplikacji.

TrueTime to moduł do profilowania wydajności poszczególnych części programu: procedur, funkcji, komponentów lub obiektów. TrueTime jest dostępny w trzech specjalizowanych mutacjach: dla Visual Basica, C++ i Javy, różniących się modułami do zbierania danych z aplikacji; prezentację wyników zapewnia wspólny moduł graficzny. Wyniki profilowania wskazują, ile czasu zajmuje aplikacji realizacja poszczególnych funkcji, skąd są one wywoływane, jaki jest minimalny i maksymalny czas ich realizacji z dokładnością do pojedynczych wierszy kodu. Pozwala to na optymalizację funkcji w celu uzyskania zadowalającej szybkości wykonywania kluczowych części kodu.

Profilowanie wydajności poszczególnych funkcji i procedur nie udostępnia zbyt dużo informacji o wydajności aplikacji. Szczegółowe dane o aplikacji można uzyskać dopiero w procesie testowania jej ostatecznej postaci. W tym celu należy stworzyć specjalną zinstrumentalizowaną wersję aplikacji. Polega to na dodaniu odwołań do modułu zbierania danych w kluczowych miejscach aplikacji (np. przy każdym wywołaniu funkcji lub procedury, stworzeniu, usunięciu lub wywołaniu obiektu bądź komponentu).

Do testowania służy moduł TrueCoverage, śledzący używanie poszczególnych części kodu. Podobnie jak w przypadku TrueTime, również TrueCoverage jest dostępny w trzech specjalizowanych wersjach: dla Visual Basica, C++ i Javy.

Wsparcie beta testerów

W pakiecie DevPartner Studio znajduje się moduł FailSafe, umożliwiający obsługę błędów aplikacji napisanej w Visual Basicu. Wymaga on również stworzenia specjalnej wersji aplikacji. Można tworzyć wersje różnie instrumentalizowane, zależnie od tego, z jakim stopniem szczegółowości chcemy sprawdzać poprawność działania aplikacji, tworzyć i przesyłać raporty, odtwarzać stan aplikacji przed awarią.

Ponieważ kod modyfikujący aplikację do działania z FailSafe jest napisany również w Visual Basicu, możliwe jest przesyłanie dokładnej informacji o powstałych błędach w formie komunikatu poczty elektronicznej bezpośrednio do programisty, nawet jeśli osoba testująca aplikację nie zna powodu powstałego błędu ani szczegółów technicznych z nim związanych. Zestaw DevPartner Studio kosztuje 999 USD, choć dostępne są oddzielnie poszczególne moduły, zależnie od potrzeb programisty.