Darmowe narzędzia wspierające testowanie
Darmowe narzędzia do zarządzania i wykonywania testów są równie dobre jak ich komercyjne odpowiedniki, no i co najważniejsze są całkowicie za darmo. W wielu przypadkach można dojść do wniosku, że nawet takie aspekty jak serwis lub obsługa aplikacji mogą być równie dobre w aplikacjach open-source jak i w aplikacjach komercyjnych. Przykładowo do Bugzilli można zgłaszać błędy i jest pewne, że zostaną one naprawione. Mnogość forów, FAQ-ów i instrukcji zapewni, że każdy poradzi sobie z ewentualnymi problemami. Poniżej opisane przykłady to tylko część spośród mnogości oprogramowania wspierającego testowanie.
Zarządzanie wymaganiami i defektami - Bugzilla
Narzędzie do śledzia błędów w oprogramowaniu z wbudowanym interfejsem sieciowym. Aplikacja napisana jest w Perl, a jej zaplecze stanowi baza danych MySQL. Bugzilla uznawana jest za standardowy system zarządzania błędami, do którego porównuje się wszystkie inne. W tym momencie, Bugzilla jest używana w bardzo wielu firmach do pomocy przy rozwoju ich własnych aplikacji. Bugzilla jest bardzo stabilną aplikacją i oferuje wiele zaawansowanych funkcji. Między innymi:
- zintegrowany, oparty na produktach schemat bezpieczeństwa
- zależności między błędami i możliwość tworzenia z nich grafów
- zaawansowane funkcje związane z raportowaniem błędów
- ogromne możliwości konfiguracji
- bardzo wygodny i naturalny system rozwiązywania błędów
- interfejs do E-mail, XML-a, konsoli i HTTP
- możliwa integracja z automatycznymi aplikacjami konfiguracji zarządzania, takimi jak Perforce czy CVS (przez interfejs e-mail Bugzilli oraz skrypty zapisu/odczytu)
- … i wiele innych.
Kto używa Bugzilli? Lista jest niesamowicie długa: Linux Kernel, Gnome, Open Office, Eclipse, Red Hat, NASA, Alcatel – Lucent, AT&T, Motorola, mplayer, NATO, Siemens, Wikipedia, Yahoo itd.
Oprogramowanie jest nie tylko darmowe, ale również bardzo bezpieczne i stabilne. To jak Bugzilla działa w realnym świecie można zobaczyć na przykładzie Mozilli/FireFoxa. Na stronie https://bugzilla.mozilla.org/ postawiona jest baza błędów. Można zostać użytkownikiem i samodzielnie raportować błędy.
Najnowsza wersja oprogramowania jest do pobrania z http://www.bugzilla.org/download/. Dostępna jest również polska wersja językowa przygotowana przez Aviary.
Mantis
Kolejne narzędzie do śledzenia i ewidencjonowania błędów oprogramowania. Napisany jest w PHP z interfejsem webowym i bazą MySQL. Nie jest tak popularny jak wspomniana wyżej Bugzilla, ale ma grono zagorzałych zwolenników. Program do pobrania z http://www.mantisbt.org/download.php
TestLink
Lista najważniejszych funkcji:
- produkt testuje się zgodnie z planem testów
- definiowane role (np. tester, lider)
- przypadki testowe ułożone są w menu tree
- oparcie o kluczowe słowa dla łatwiejszego wyszukiwania błędów
- raporty i metryki
- export dokumentów do Word, HTML itd.
- powiązanie z skrzynką e-mailową
- testowanie oparte na wymaganiach.
Aplikację można pobrać z http://teamst.org
Zarządzanie konfiguracją CVS
CVS skrót z angielskiego Concurrent Versions System jest popularnym narzędziem do kontroli wersji. Jego głównym celem jest wpieranie pracy grupowej nad kodem programów. W środowisku testerskim służy głównie do ewidencjonowania i wersjonowania źródeł. Strona, z której można pobrać CVS http://cvs.nongnu.org/.
Subversion
Subversion jest zaawansowanym systemem kontroli wersji, który jest starszym bratem CVS. Funkcjonalnie jest z nim zgodny w większości przypadków. Aplikacja jest dostępna w licencji Opensource Apache. Subversion zapisuje nie tylko zawartość pliku oraz informacje czy dany plik istnieje, ale także położenie pliku w katalogach, jego kopie, zmiany nazw. Pozwala również zapamiętywać właściwości danego pliku lub katalogu np. flagi wykonywalności itp. Zmiany w kilku plikach lub katalogach odnoszą skutek tylko wtedy, gdy każda modyfikacja została zakończona pomyślnie. W CVS możliwa była sytuacja, gdy część plików została zaktualizowana, a część nie, np. w przypadku zerwania połączenia sieciowego. Dodatkowo wprowadzono ważne funkcje, takie jak uwierzytelnianie i autoryzację użytkowników, kompresję przesyłanych danych oraz podstawowy dostęp do repozytorium.
Pozostałe funkcje:
- własny protokół klient/serwer.
- protokół umożliwia przesyłanie różnic w plikach od klienta do serwera i odwrotnie.
- rozmiar przesyłanych danych przy zmianie pliku jest proporcjonalny do rozmiaru zmian, a nie pliku.
- efektywna obsługa plików binarnych.
- repozytorium przechowywane w bazie danych lub w systemie plików.
Narzędzie do pobrania ze strony http://subversion.tigris.org/.
Testowanie obciążeniowe WAST
Skromna aplikacja wyprodukowana przez Microsoft (!) i o dziwo darmowa. WAST to skrót od Web Application Stress Tool i oznacza mniej więcej tyle, że jest to aplikacja do obciążania aplikacji w sieci. Możliwe jest tworzenie własnych skryptów oraz nagrywanie akcji użytkownika. Dostępna jest instrukcja obsługi na stronie http://www.microsoft.com/technet/archive/itsolutions/intranet/downloads/webstres.mspx?mfr=true.
Samo narzędzie do pobrania z http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en.
JMeter
Kolejna aplikacja do testowania obciążenie HTTP oraz FTP. Symuluje ona rzeczywiste działania użytkowników w sieci. Podręcznik użytkownika dostępny na stronie http://jakarta.apache.org/jmeter/usermanual/index.html. Istnieje również ciekawy artykuł opisujący po polsku działanie JMeter: http://rainbow.mimuw.edu.pl/SO/Projekt04-05/temat2-g2/index.html
Aplikacja do pobrania z http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
Źródła
Do stworzenia tego artykułu przyczyniły się strony i dokumentacja twórców programów oraz artykuły wspomniane w tekście. Jak zawsze nieocenioną pomocą okazała się Wikipedia.