"Jak zmniejszyć koszty produkcji oprogramowania, zwiększając jednocześnie jakość oprogramowania ?" Testowanie oprogramowania jest nie tylko narzędziem, służącym do poszukiwania błędów oraz badania jakości oprogramowania, ale także sposobem na zmniejszenie kosztów produkcji oprogramowania oraz narzędziem, służącym do budowania zaufania do oprogramowania. Testując program i usuwając błędy wykryte na wczesnym etapie powstawania programu, można zaoszczędzić znacznie więcej niż w przypadku wykrycia błędu w późnej fazie projektu albo w programie, który jest już zainstalowany na tysiącach komputerów u kilkudziesięciu klientów w różnych częściach kraju. Przykładowo, gdy zniknie zawartość całej bazy danych, działalność firmy, korzystającej z awaryjnego oprogramowania będzie poważnie ograniczona przez kilka dni, w trakcie których błąd będzie usuwany (baza danych będzie odtwarzana z kopii). Wówczas koszty usuwania skutków awarii programu są znacznie wyższe od środków przeznaczonych na wykonywanie testów oprogramowania. Jakie testy wykonuje firma TestBenefit ? Firma TestBenefit specjalizuje się w zakresie testowania systemów informatycznych. Oferuje kompleksowy model zapewnienia jakości testowanego oprogramowania poprzez analizę dokumentacji projektowej, przygotowanie strategii testów, ich pełną realizację oraz wiarygodną ocenę uzyskanych wyników. Oferta TestBenefit obejmuje realizację różnorodnych rodzajów testów w zależności od potrzeb firm informatycznych oraz firm, wdrażających w swoich strukturach organizacyjnych oprogramowanie, wspierające ich rozwój. Do najczęściej realizowanych przez firmę testów, należą: - testy funkcjonalne, których celem jest sprawdzenie poprawności działania wszystkich funkcji testowanego systemu oraz ich zgodności z wymaganiami i procesami biznesowymi klienta;
- testy akceptacyjne, których celem jest weryfikacja i formalne potwierdzenie zgodności testowanego systemu z zawartym wcześniej kontraktem pomiędzy dostawcą a odbiorcą oprogramowania;
- testy regresyjne, których celem jest sprawdzenie poprawności działania systemu po dokonaniu zmian w oprogramowaniu w wyniku np. poprawy błędów, dodaniu nowej funkcjonalności, zmiany środowiska (nowa wersja systemu operacyjnego, bazy danych), zmiany platformy sprzętowej;
- testy dokumentacji, których celem jest wykrycie niespójności i niezgodności w dokumentacji analitycznej, technicznej oraz dokumentacji użytkownika, sporządzonej w ramach realizowanego projektu informatycznego;
- testy użyteczności, których celem jest weryfikacja interfejsu użytkownika w zakresie przystępności, wygody, szybkości nauki korzystania z niego oraz zgodności z oczekiwaniami przyszłych użytkowników;
- testy wydajnościowe i obciążeniowe, których celem jest oszacowanie stopnia spełnienia wymagań wydajnościowych przez system poprzez kontrolowanie jego pracy przy wzrastającej ilości danych oraz liczbie użytkowników;
- testy zgodności, których celem jest sprawdzenie poprawności działania systemu we współpracy z aplikacjami zewnętrznymi w zależności od ich wersji i dostawcy np. przeglądarki internetowe;
- testy baz danych, których celem jest weryfikacja spójności oraz poprawności wykonywanych operacji w bazie danych testowanego systemu;
- testy integracyjne, których celem jest kontrola poprawności współdziałania testowanego systemu z innymi, już istniejącymi i wykorzystywanymi systemami. Kontrola ukierunkowana jest głównie na sprawdzanie interfejsów działających pomiędzy nimi.
Jakie są korzyści z testowania systemów ? Warto testować systemy informatyczne przede wszystkim dlatego że: testowanie programów pozwala zmniejszyć koszty produkcji oprogramowania, dzięki wykryciu i wyeliminowaniu błędów we wczesnej, a nie końcowej fazie projektu, gdy oprogramowanie jest już przygotowywane do wejścia na rynek lub już użytkowane przez klientów; testowanie oprogramowania pozwala uniknąć wielomilionowych strat, spowodowanych błędami w kodzie programu. Na przykład starty rakiet kosmicznych, zakończone katastrofą, powodują straty rzędu miliardów dolarów, a często wynikają z błędów w oprogramowaniu. Można ich uniknąć testując fragment kodu, gdzie tkwi błąd, będący przyczyną awarii rakiet; programista, choć zna bardzo dobrze napisany przez siebie program, często nie zauważa błędów, które potrafi wykryć niezależny tester; poprzez testowanie i poprawianie błędów zwiększa się jakość oferowanego oprogramowania; błędy wykryte przez użytkowników programu (klientów) negatywnie wpływają na wizerunek oprogramowania, a tym samym mają negatywny wpływ na poziom sprzedaży oprogramowania, dlatego ważne jest, aby błędy wykryte zostały przez testera, a nie klienta.
"Jakość to doskonałość, której nie da się osiągnąć, lecz do której trzeba uporczywie dążyć."
|