W7 1 2 testowanie

background image
background image

proces związany z wytwarzaniem
oprogramowania. Jest on jednym z
procesów kontroli jakości
oprogramowania.

background image

Weryfikację oprogramowania -

testowanie

zgodności systemu z wymaganiami
zdefiniowanymi w fazie określenia
wymagań.

Walidację (atestowanie) oprogramowania
-

ocena systemu lub komponentu

podczas lub na końcu procesu jego
rozwoju na zgodności z
wyspecyfikowanymi wymaganiami.
Atestowanie jest więc weryfikacją.

background image

Testowania umożliwia wykrycie błędów

we wczesnych stadiach rozwoju

oprogramowania, co pozwala zmniejszyć

koszty usuwania tego błędu.

Warto przeprowadzać testy na każdym

etapie tworzenia oprogramowania.

Testować należy jak najwcześniej,

ponieważ podstawowymi źródłami błędow

są specyfikacja i projekt.

Im później wykryty zostanie błąd tym

większy jest koszt jego usunięcia.

background image

Podstawowym standardem dla testowania oprogramowania jest
IEEE 829 – 1998 (829 Standard for Software Test
Documentation)
. Jest to standard określający formę zbioru 8
dokumentów potrzebnych w każdej z faz testowania
oprogramowania. W efekcie każdej z tych faz tworzony jest 1
dokument wynikowy. Standard ten określa dokładnie format
dokumentów, jednak nie wymaga aby wszystkie były wykonane.
Nie zawiera także informacji o tym co dokładnie mają zawierać.

Test Plan

– dokument planowania zarządzania projektem, który składa

się z informacji o tym, w jaki sposób będą prowadzone testy, kto będzie
je przeprowadzał, co będzie testowane, jak długo potrwa cały proces
oraz jaki będzie zakres testów.

Test Design Specification

– szczegóły na temat warunków

testowania, oczekiwanych wyników a także kryteriach przejścia testu.

background image

Test Case Specification

– specyfikuje dane testowe do użycia

podczas wdrażania warunków testowania określonych w Test
Design Specification.

Test Procedure Specification

– zawiera szczegóły na temat

przeprowadzenia każdego testu włączając w to założenia oraz
poszczególne kroki testów.

Test Item Transmittal Report

– zawiera raporty na temat czasu

przejścia testowanych fragmentów oprogramowania między
etapami.

Test Log

– zawiera informacje o tym, które przypadki testowania

zostały użyte, kto je użył i w jakim porządku oraz informacje o ich
powodzeniu.

Test Incident Report

– zawiera informacje o testach

zakończonych niepowodzeniem. Informacje o wynikach oraz
dlaczego dany test nie powiódł się.

Test Summary Report

– raport ten zawiera wszystkie istotne

informacje ujawnione podczas zakończonych testów oraz wyceny
jakości procesów testowania, jakości oprogramowania poddanego
testowi, a także statystyki uzyskane z Incident Report. Raport
referuje również do typów i czasu trwania wykonanych testów w
celu usprawnienia wszelkich planów związanych z testami w
przyszłości. Ostateczna forma dokumentu jest wykorzystywana w
celach weryfikacji poprawności testowanego systemu względem
wymagań zdefiniowanych przez zleceniodawców.

background image

Pierwszy sposób to

testy funkcjonalne

. Polegają one na

tym, że wcielamy się w rolę użytkownika, traktując
oprogramowanie jak „czarną skrzynkę”, która wykonuje
określone zadania. Nie wnikamy wogóle w techniczne
szczegóły działania programu. Testy te często są
nazywane testami

czarnej skrzynki

(black box testing).

Drugi sposób postępowania to

testy strukturalne

. Tym

razem tester ma dostęp do kodu źródłowego
oprogramowania, może obserwować jak zachowują się
różne części aplikacji, jakie moduły i biblioteki są
wykorzystywane w trakcie testu. Te testy czasami są
nazywane testami

białej skrzynki

(white box testing).

Testowanie oprogramowania dzieli się na dwa główne
nurty, które zależą od przyjętego punktu widzenia
testera:

background image

1. TESTY
MANUALNE

Testy wykonywane ręcznie przez testera, który przechodzi
przez interfejs użytkownika zgodnie z określoną sekwencją
kroków:

a) testy integracyjne pozwalają sprawdzić jak współpracują ze
sobą różne komponenty oprogramowania. Obecnie rzadko
mamy do czynienia z monolitycznymi aplikacjami. Są one raczej
tworzone modułowo, dlatego należy sprawdzić, czy wszystko
razem działa poprawnie
b) testy systemowe dotyczą działania aplikacji jako całości.
Zazwyczaj na tym poziomie testujemy różnego rodzaju
wymagania niefunkcjonalne, takie jak – szybkość działania,
bezpieczeństwo, niezawodność, dobrą współpracę z innymi
aplikacjami i sprzętem.

Testy dopasowane do aktualnego
zapotrzebowania/przeznaczenia:

a) testy funkcjonalne – znane również jako testy czarnej skrzynki.
Osoba testująca nie ma dostępu do informacji na temat budowy
programu, który testuje. Wykonując testy nie opiera danych
testowych na budowie wewnętrznej programu, lecz na założeniach
funkcjonalnych, jakie powinien spełniać program zgodnie z
dokumentacją

background image

b) testy regresyjne – mają na celu sprawdzenie wpływu nowych
funkcjonalności na działanie systemu
c) testy akceptacyjne z udziałem klienta – wykonywane w celu
sprawdzenia na ile oprogramowanie działa zgodnie z wymaganiami
klienta
d) 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
e) testy użyteczności, których celem jest weryfikacja interfejsu
użytkownika w zakresie przystępności, wygody, szybkości oraz
zgodności z oczekiwaniami przyszłych użytkowników.

2.TESTY AUTOMATYCZNE

Testy automatyczne skutecznie przyspieszają proces tworzenia testów
systemowych, ich wykonywanie oraz analizę, a tym samym pozwalają
na wcześniejsze wykrycie i wyeliminowanie błędów w aplikacjach.
Testy automatyczne wykonywane są w oparciu o wysokiej jakości
oprogramowanie:
(LoadRunner, WinRunner; Rational Functional Tester;
Borland® Silktest® ; narzędzia freeware (Apache JMeter, AppPerfect
Test Studio itp.))

background image

Tworzenie testów jest

sztuką

. Nie jest niczym nadzwyczajnym

utworzyć taki test, który będzie łatwo przejść z wynikiem
pozytywnym. Prawdziwym wyzwaniem jest utworzenie
trudnego testu, precyzyjnie testującego wybraną
funkcjonalność, w którym każde jej naruszenie będzie się
kończyło negatywnym rezultatem. Warto pamiętać, że fakt
przejścia z sukcesem przez nawet najpełniejszy zestaw testów
nie gwarantuje, że oprogramowanie na pewno będzie działać
zawsze poprawnie. Przed przystąpieniem do planowania i
wykonania testów, ważne jest aby skupić się na:

a)

Poznaniu architektury systemu. Na tym etapie będzie można

wstępnie określić na ile skomplikowany będzie proces testowania

b

) Określeniu jakiego typu testy są potrzebne. Może być to związane

zarówno z charakterystyką testowanego systemu jak i z wymaganiami
klienta, standardami zapewniania jakości przyjętymi w firmie

c)

Weryfikacji testowalności systemu. Jest to istotne przy dużych,

wielowarstwowych aplikacjach. Tester, aby móc skutecznie testować
system, musi mieć dostęp do wszelkich potrzebnych mu danych

.

d)

Takie podejście do procesu testowania pozwala na dokładne

oszacowanie czasochłonności procesu testowania a co za tym idzie
określenie dokładnych kosztów całego procesu.

background image
background image

Czy projekt dąży do realizacji postawionych celów?

Czy projekt jest pod kontrolą w obszarach budżetu, czasu i
zakresu?

Czy projekt jest realizowany zgodnie z wytycznymi
organizacji/umowy?

Czy mogą wystąpić problemy w realizacji projektu?

Dlaczego wystąpiły problemy w realizacji?

Celem audytu projektu jest wyrażenie przez zespół
audytorów pisemnej opinii wraz z raportem o tym, czy
projekt realizowany jest w zgodzie ze światowymi
praktykami i standardami, zgodnie z założoną metodyką,
prawidłowo i rzetelnie w obszarze osiąganych efektów,
prawidłowo i rzetelnie w obszarze prowadzenia dokumentacji
finansowej projektu.
Pytania, na które może może odpowiedzieć audyt:

background image

Przebieg procesu testowania mutacyjnego
przedstawiony jest na poniższym schemacie:

Cały proces polega na wielokrotnym
mutowaniu kodu testowanego,
uruchamianiu testów jednostkowych i
sprawdzaniu czy po dokonanej
mutacji nadal wykonują się
poprawnie.

background image

Wydajność systemu

Interfejsy systemu

Własności operacyjne systemu

Testy zużycia zasobów

Zabezpieczenie systemu

Przenaszalność oprogramowania

Niezawodność oprogramowania

Odtwarzalność oprogramowania (maintainability)

Bezpieczeństwo oprogramowania

Kompletność i jakość złożonych funkcji systemu

Nie przekraczanie ograniczeń

Modyfikowalność oprogramowania

Obciążalność oprogramowania

Skalowalność systemu

Akceptowalność systemu

Jakość dokumentacji

background image

Test-driven development (TDD) jest techniką tworzenia
oprogramowania zaliczaną do metodyk zwinnych (Agile).
Pierwotnie była częścią programowania ekstremalnego (ang.
extreme programming), lecz obecnie stanowi samodzielną
technikę. Polega na wielokrotnym powtarzaniu kilku kroków:

1. Najpierw programista pisze automatyczny test
sprawdzający dodawaną funkcjonalność. Test w tym
momencie nie powinien się udać.
2. Później następuje implementacja funkcjonalności. W tym
momencie wcześniej napisany test powinien się udać.
3. W ostatnim kroku, programista dokonuje refaktoryzacji
napisanego kodu, żeby spełniał on oczekiwane standardy.

background image

Podsumowując testy możemy klasyfikować
na różne sposoby, ze względu na to, co i w
jaki sposób podlega procedurom testowym.
Również oprogramowanie testujemy na
bardzo różne sposoby, zależnie od tego jaki
aspekt jego działania jest w danym
momencie dla nas ważny.

Stosowanie testowania oprogramowania
może znacznie obniżyć koszty projektu,
dzięki wczesnemu wykryciu błędów i ich
naprawie.

background image

wikipedia

www.testowanie.net

www.testerzy.pl

Ron Patton „Testowanie oprogramowania”

background image

Dziękujemy za czas
poświęcony na obejrzenie i
wysłuchanie prezentacji 


Document Outline


Wyszukiwarka

Podobne podstrony:
W7 4 Automatyzacja wykonywania testów
W7 zarządzanie zapasami
W7 Mosty
06 Testowanie hipotez statystycznychid 6412 ppt
W7 IMMUNOLOGIA INFEKCJI
Metodologia badań z logiką dr Karyłowski wykład 7 Testowalna w sposób etycznie akceptowalny
spoleczna w7
W7 WZNACNIACZ OPERACYJNY RZECZYWISTY
PRI W7 UML
FiR Matma w7 2011
FM zaocz W7 8 pp
Systemy Bezprzewodowe W7

więcej podobnych podstron