background image

Narzędzia 
do 
testowani
a

Opracowali:
Kamil Kućka
Kamil Policht

background image

Plan 

Prezentacji

1. Na czym polega testowanie ?
2. Co testujemy ?
3. Rodzaje narzędzi testowych
4. Przykład narzędzia - 

LoadRunner

background image

Na czym polega 

testowanie ?

background image

Na czym polega testowanie ?

Proces testowania rozpoczyna się od 

testowania pojedynczych jednostek 

programów takich jak funkcje lub obiekty

Proces testowania rozpoczyna się od 

testowania pojedynczych jednostek 

programów takich jak funkcje lub obiekty

Następnie integruje się je w podsystemy 

i systemy oraz testuje się ich interakcję

Następnie integruje się je w podsystemy 

i systemy oraz testuje się ich interakcję

Gdy program jest gotowy, przeprowadza 

się zestaw testów akceptacyjnych w 

celu sprawdzenia czy system działa 

zgodnie ze specyfikacją

Gdy program jest gotowy, przeprowadza 

się zestaw testów akceptacyjnych w 

celu sprawdzenia czy system działa 

zgodnie ze specyfikacją

background image

Co testujemy ?

background image

Co testujemy ?

 Wydajność

 

oprogramowania i poszczególnych jego funkcji np. 
wymagania organizacyjne, jakość komunikatów , 
jakość informacji o błędach

 Zabezpieczenie oprogramowania 

odporność na naruszenia prywatności, tajności, 
integralności, spójności i dostępności

 Przenoszalność oprogramowania

poprawność działania w zróżnicowanym 
środowisku, różnych rozmiarach zasobów i 
rodzajach sprzętu

 Odtwarzalność oprogramowania

mierzoną zwykle średnim czasem doprowadzenia 
do sprawnego działania po wystąpieniu awarii (od 
zgłoszenia awarii do ponownego działania)

background image

Co testujemy ? - cd.

 Jakość dokumentacji 

jakość pomocy, materiałów szkoleniowych

 Wykorzystanie zasobów 

np. czas jednostki centralnej, pamięć operacyjna, 
przestrzeń dyskowa

 Modyfikowalność  oprogramowania

zdolność do zmiany przy zmieniających się 
założeniach lub wymaganiach

 Bezpieczeństwo oprogramowania 

stopień minimalizacji katastrofalnych skutków 
wynikających z niesprawnego działania (np. awaria 
zasilania)

 Akceptowalność oprogramowania 

stopień usatysfakcjonowania użytkowników

background image

Rodzaje narzędzi 

testowych

background image

Narzędzia do debugowania i 

śledzenia

Debugery

  pozwalają programistom 

na:

wykonanie programu linia po linii

zatrzymanie programu na dowolnym 
wyrażeniu

ustawianie i sprawdzanie wartości 
zmiennych

Wykorzystywane są do namierzenia 

obszaru występowania defektu czyli 

błędu w programie

Wykorzystywane są do namierzenia 

obszaru występowania defektu czyli 

błędu w programie

Przy użyciu ich programiści 

powtarzają usterki i śledzą stan 

programów w celu znalezienia błędu

Przy użyciu ich programiści 

powtarzają usterki i śledzą stan 

programów w celu znalezienia błędu

background image

Narzędzia do posiewu i 

wstrzykiwania błędów

Posiew błędów

narzędzie podobne do kompilatora 

tworzy jeden lub ograniczoną liczbę 
różnych usterek w kodzie 

Wstrzykiwanie błędów

wstrzykuje konkretny błąd, żeby 
sprawdzić czy:

oprogramowanie sobie z nim poradzi 
(tolerowanie usterek)

test wzięty z zestawu testów wykrywa 
specjalnie wstrzyknięty błąd

background image

Narzędzia do analizy 

statycznej

znajdowanie błędów przed 
rozpoczęciem testowania 
dynamicznego

wyliczanie miary złożoności 
programu na podstawie kodu 

Podstawowe cele:

• nadzorowanie przestrzegania 

standardów kodowania

• analiza struktur i zależności (np. 

połączonych stron internetowych)

• ułatwienie zrozumienia kodu

background image

Narzędzia do analizy 

dynamicznej

Używane są do:

monitorowania alokacji, użycia oraz 

dealokacji pamięci w celu wykrycia 
wycieków pamięci

odszukiwania niezainicjowanych 

wskaźników

pokazania innych błędów trudnych 

do wykrycia statycznie

Odnajdują błędy dające się 

zaobserwować wyłącznie podczas 

działania programu

Odnajdują błędy dające się 

zaobserwować wyłącznie podczas 

działania programu

background image

Narzędzia do porównywania 

wyników

(komparatory)

mogą być używane automatycznie w 
określonym czasie

w skład narzędzi wchodzą najczęściej 

Komparatory dynamiczne

  

czyli 

uruchamiane podczas działania 
programu , ale niekiedy porównanie 
wykonuje się dopiero po zakończeniu 
działania przy pomocy odrębnego 
narzędzia

 Narzędzia używane do określenia 

różnic pomiędzy plikami, bazami danych 

oraz rezultatami testów 

Narzędzia używane do określenia 

różnic pomiędzy plikami, bazami danych 

oraz rezultatami testów 

background image

Narzędzia do testowania 

wydajności

Generowanie obciążenia

obciążenie generowane jest poprzez symulowanie dużej 
liczby użytkowników (wirtualnych) z konkretnymi 
rozmiarami danych wejściowych

interakcje z programem następuje  na poziomie protokołu 
komunikacyjnego poprzez graficzny interfejs użytkownika

Pomiar i analiza odpowiedzi programu na 
zadane obciążenie

liczba symulowanych użytkowników

liczna i typ transakcji generowanych przez symulowanych 
użytkowników

czasy odpowiedzi na poszczególne transakcje 
wykonywane przez użytkowników

raporty bazujące na logach testowych i grafy pokazujące 
czasy odpowiedzi dla różnych obciążeń

 

Monitorują i raportują działanie programu w 

różnorodnych symulowanych warunkach 

użytkowania

 

Monitorują i raportują działanie programu w 

różnorodnych symulowanych warunkach 

użytkowania

background image

Narzędzia do monitorowania

analizują, weryfikują i raportują 
wykorzystanie określonych zasobów 
systemowych oraz ostrzegają o 
zagrożeniach systemu

przechowują dane dotyczące wersji i 
build’ów oprogramowania a także 
umożliwiają śledzenie powiązań

Narzędzia te nie są ściśle rzecz biorąc 

narzędziami testowymi, ale dostarczają 

informacji wykorzystywanej do celów 

testowania niedostępnej w inny sposób

Narzędzia te nie są ściśle rzecz biorąc 

narzędziami testowymi, ale dostarczają 

informacji wykorzystywanej do celów 

testowania niedostępnej w inny sposób

background image

Narzędzia do testów 

zabezpieczeń

służą do poszukiwania określonych 
typów braku odporności i 
niezabezpieczonego dostępu do 
programu

wyłapują wirusy komputerowe oraz 
identyfikują ataki mające na celu 
przeciążenie programu

Przykład:

Zapora ogniowa
nie jest narzędziem testowym, ale może 
być stosowana do testowania 
zabezpieczeń

Zapora ogniowa
nie jest narzędziem testowym, ale może 
być stosowana do testowania 
zabezpieczeń

background image

Narzędzia webowe

wykorzystywane są do skanowania i 
sprawdzania, czy na witrynie nie 
występują nieważne lub brakujące 
łącza

dostarczają  informacji takich jak graf 
architektury (drzewo witryny), 
prędkość ściągania i rozmiar 
ściągniętych danych

Narzędzia testujące 

hiperłącza

Narzędzia testujące 

hiperłącza

background image

Narzędzie testowania - 
LoadRunner

LoadRunner

 

 

Jest narzędziem, który pozwala 
przeprowadzić testy obciążeniowe. 
Składa się on z 4 podstawowych 
komponentów:

generator wirtualnych użytkowników

kontroler wraz z agentem procesów

moduł analizy i monitorowania

dokumentacja

background image

LoadRunner – cd.

Działa on tak, że 
emuluje setki lub 
tysiące 
użytkowników 
jednocześnie 
sprawdzając 
obciążenie aplikacji. 
Wyniki mogą być 
następnie poddane 
szczegółowej 
analizie, do zbadania 
przyczyn określonych 
zachowań aplikacji.

background image

Dziękujemy za 
uwagę

Opracowali:
Kamil Kućka
Kamil Policht


Document Outline