Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy...

32
Page 1 Ω-Ψ R Uczelniana Baza Wiedzy Testowanie Bazy Wiedzy Wersja 1.0 Wydział Elektroniki i Technik Informacyjnych i Biblioteka Główna Politechnika Warszawska

Transcript of Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy...

Page 1: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

Ω-ΨR

Uczelniana Baza Wiedzy

Testowanie Bazy Wiedzy

Wersja 1.0

Wydział Elektroniki i Technik Informacyjnych

i Biblioteka Główna

Politechnika Warszawska

Page 2: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

Historia dokumentu

Numer

wersji

Data

wersji Opis zmian Autor

Page 3: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 3

Spis treści

1 Wprowadzenie .............................................................................................................. 4

2 Testy funkcjonalne......................................................................................................... 5

2.1 Założenia ......................................................................................................................... 5

2.2 Testowanie interfejsu redaktora ........................................................................................ 6

3 Badanie wydajności systemu repozytoryjnego ............................................................ 27

3.1 Cel badań ...................................................................................................................... 27

3.2 Narzędzia ....................................................................................................................... 27

3.3 Charakterystyka ruchu portalu WEiTI ............................................................................. 27

3.4 Założenia dotyczące obciążenia .................................................................................... 28

3.5 Scenariusze testowe ...................................................................................................... 28

3.6 Wyniki badań i wnioski ................................................................................................... 29

4 Wnioski i dalsze kroki .................................................................................................. 32

Page 4: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 4

1 Wprowadzenie

W okresie 01.2012-07.2012 w ramach etapu B26 realizowano prace nad zagadnieniami

związanymi z budową Repozytorium Uczelnianego. Zadanie jest realizowane przez zespół

pracowników z II, WEiTI oraz BG PW.

Prace nad uczelnianą bazą wiedzy są prowadzone przede wszystkim z zastosowaniem

wyników etapu B3, ale także etapów B11 i B12.

W raportowanym okresie skoncentrowano się na następujących zagadnieniach:

1. Metody testowania wybranych kategorii zasobów informacyjnych

2. Metody testowania wybranych elementów funkcjonalnych

3. Przeprowadzenie testów wydajnościowych

W pracach wykorzystano doświadczenia zespołu w realizacji wydziałowego repozytorium

REPO zaimplementowanego w roku 2010 dla Wydziału Elektroniki i Technik

Informacyjnych Politechniki Warszawskiej. Analiza pokazała możliwość szybkiego

zaadaptowania systemu do potrzeb uczelnianej bazy wiedzy. Dlatego też dokonano adaptacji

w systemie REPO. Zmiany te miały na tyle zasadniczy charakter, że postanowiono wyróżnić

uzyskane oprogramowanie jako system o nowej nazwie Omega.

Na niniejsze opracowanie składa się 4 rozdziałów. Rozdział 2 jest przedstawione są analizy

funkcjonalne systemu, zaś Rozdział 3 prezentuje badania wydajnościowe systemu.

Page 5: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 5

2 Testy funkcjonalne

2.1 Założenia

Do ogólnych założeń konstrukcyjnych przyjętych przy realizacji systemu zaliczyć należy tu w

szczególności:

1. Elastyczność traktowania metadanych – tak, aby możliwe było dostosowanie opisów

bibliograficznych do potrzeb istniejących już systemów, w tym w szczególności

systemu BIBLIO Biblioteki Głównej oraz bibliotek wydziałowych wykorzystujących

oprogramowanie Aleph, przy jednoczesnym umożliwieniu eksportu i importu danych

do systemów zewnętrznych (w tym w szczególności do systemu dLibra, stosowanego

przez Federację Bibliotek Cyfrowych; np. docelowy system także stanowić mógłby

element FBC);

2. Elastyczność w zakresie możliwości rozszerzania systemu, w szczególności

definiowania większości parametrów systemu bez potrzeby ingerowania w kod

systemu i przeprogramowywania go. W szczególności dotyczy to:

a. definiowania (i redefiniowania) struktur danych, oraz towarzyszących im

formularzy do wprowadzania danych, warunków integralności danych

b. definiowanie ekranów wyszukiwania dla poszczególnych typów obiektów

(i/lub grup) oraz definiowanie sposobów prezentacji wyników, sortowania, w

tym także definiowanie struktur na potrzeby eksportu danych, np. w formie

Excela, BIBTEXa, itp;

c. definiowanie reguł dostępu

d. definiowanie reguł oceny parametrycznej

Narzędzia pozwalające definiować możliwości systemu zostały zrealizowane w ten

sposób, że nie ma potrzeby wprowadzania zmian w oprogramowaniu systemu w

przypadkach zmieniających się wymagań co do systemu. Zmiany takie mogą być

przeprowadzane przez administratora systemu. Zrealizowane narzędzia są opisane w

niniejszym rozdziale w p. 3.2.

3. Stworzenie mechanizmów półautomatycznej (lub nawet – w uzasadnionych

przypadkach – w pełni automatycznej) weryfikacji metadanych oraz deduplikacji

Page 6: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 6

obiektów składowanych w repozytorium, w tym zastosowaniem metod

automatycznego przetwarzania języka naturalnego i eksploracji danych;

4. Wykorzystanie otwartych formatów danych, w tym w szczególności formatu PDF/A

i/lub Pub dla dokumentów tekstowych, oraz Ogg Vorbis / Theora dla dokumentów

audiowizualnych;

5. Wykorzystanie uznanych za standardy dla bibliotek cyfrowych protokołów transmisji

danych (OAI-PMH, OAI-ORE) i organizacji meta danych (Dublin Core).

6. Elastyczna konstrukcja repozytorium, pozwalająca użytkować system w wersji

rozproszonej, jak też w wersji scentralizowanej;

W niniejszym rozdziale pokrótce omówiona zostanie architektura systemu OMEGA,

rozwiązania w zakresie przyjętych struktur danych oraz podstawowe narzędzia administratora

zrealizowane w systemie.

2.2 Testowanie interfejsu redaktora

Testy przeprowadziła M. Sadowska-Hinc, mająca doświadczenie i umiejętności związane z

pracą w Ośrodku Informacji Naukowej BG PW, ale nie przeszkolona w zakresie

oprogramowania. Wybór taki miał pomóc w ocenie trudniej uchwytnych cech, jak

intuicyjność.

Test miał dwie części: w pierwszej części chodziło o wyszukiwanie informacji, bez jej

wprowadzania, w części drugiej doszło wprowadzanie.

2.2.1 Wyszukiwanie informacji. Ocena ogólna

1. Na etapie wyszukiwania proste i intuicyjne okienko. Jak się domyślam w okienku

Szukaj możemy wpisać dowolny element z opisu rekordu. Na co dzień tyle wystarczy,

ale może warto wprowadzić wyszukiwanie zaawansowane, gdzie będzie można

wyszukiwać w każdym z pól opisu z osobna. Na przykład będziemy chcieli szybko

stworzyć listę książek Kowalskiego z lat 2000- ale tylko z punktacją 5

Page 7: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 7

2. W nawiązaniu do poprzedniego wyszukiwania mogą nas interesować tylko publikacje

z punktacją co najmniej 5

3. Literówka w słowie książki, artykuły i tłumaczenia w lewym menu

4. Warto dodać możliwość sortowania wyników w zależności od obranego kryterium,

tzn. szukam publikacji od 2000 roku, w tej chwili otrzymuje 3388. Są uszeregowane

wg pierwszego autora. Może warto dodać możliwość szeregowania wg chociażby

tytułu, roku, punktacji, wydawcy

itp.

Page 8: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 8

5. Brakuje możliwości przeskoku do konkretnej strony – można przesuwać się tylko

suwakiem, co w przypadku 200 stron jest bardzo niewygodne.

6. Przydałaby się możliwość ustawienia – każdy użytkownik sam wybiera ile rekordów

wyświetla się na stronie np. 20 czy 50

7. Dodatkowo jak przejdę suwakiem do danej strony, wejdę np. w Info lub Pokaż a

następnie wycofam się do strony poprzedniej to system wraca na pierwszy ekran.

Jest to bardzo niewygodne bo ponownie muszę przedzierać się do wybranej strony.

8. Po najechaniu na autora w Info otrzymuję tylko informacje o Instytucie, ale bez

nazwy wydziału (domyślam się że to będzie dodane).

9. W przypadku osób z innych placówek może lepiej dopisać informację np. osoba z

zewnątrz czy spoza uczelni, zamiast kreski. Kreska wprowadza wahanie, czy znaczy

brak danych, błąd osoby wprowadzającej czy właśnie afiliację zewnętrzną.

Page 9: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 9

10. Czym różni się Gość od Osoby z zewnątrz? (brak tutaj polskich liter w słowie gość i

zewnątrz)

11. Odnośnie powyższego zrzutu – czy nie lepiej zamienić Dyplomant na Student? Może

zdarzyć się, że coś opublikuje.

12. Literówka powyżej – Imie na Imię , a po Akronim jednostki organizacyjnej spacja i

dopiero nawias

13. W doktoratach – domyślam się że akronim PE dotyczy zakładu, ale dla osoby

niezwiązanej z wydziałem to taki akronim nic nie mówi – może gdzieś obok powinien

być wykaz.

Page 10: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

0

14. Szkoda że tekst streszczenia nie rozciąga się na cały ekran – pewnie zależy to od

monitora,

15. Dlaczego jak w Doktoratach wpisałam Arabas Jarosław to otrzymuje 5 pozycji z czego

w dwóch widzę, że wpisany pracownik był promotorem i autorem pracy doktorskiej,

a pozostałe jak są powiązane z zapytaniem?

Page 11: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

1

16. W przypadku afiliacji wygodniej by było wybrać wydział i od razu przejść do jego

publikacji – lub zakład i do jego publikacji. Teraz trzeba w tym celu wejść jeden krok

dalej do Info.

17. Po wejściu w wydział w Info system bardzo długo szuka danych do pola Liczba wersji

danego rekordu (sprawdzałam dla WEiTI)

18. Dlaczego po wpisaniu nazwiska Rybinski w Autorzy i pracownicy system wyświetla 5

rekordów, w dodatku właściwa osoba jest na końcu (rozumiem że alfabetycznie); ale

nie intuicyjnie.

Page 12: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

2

19. Jeżeli te pozostałe osoby wymienione powyżej to doktoranci profesora, to powinni to

być gdzieś wskazane. (patrz wyżej)

Page 13: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

3

20. Wg jakiego klucza uszeregowani zostali autorzy instytucjonalni?

Page 14: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

4

21. Wg jakiego klucza uszeregowano konferencje?

Page 15: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

5

22. Jak szeregować tytuły czasopism – czy brać pod uwagę rodzajniki, np. ‘the’?; ja bym

wolała bez, przykład jak jest obecnie poniżej (The Anatolian Journal of Cardiology)

23. Przydała by się możliwość zawężania do dokumentów, do których dołączono pełny

tekst w PDF.

Page 16: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

6

24. W jaki sposób ustalane są nazwy klików PDF?

25. Czy jest jakaś możliwość wyeksportowania uzyskanych rezultatów do innych

programów, czy to już będzie w interfejsie zwykłego użytkownika?

26. Do czego służy zaznacz/odznacz wszystko – próbuję zaznaczyć ale nie widzę różnicy?

27. Czy jest możliwość wprowadzenia pracy, w której redaktorem jest nasz pracownik i

dodatkowo nasi pracownicy są też redaktorami? Czy rolę autora można ustawić tylko

albo tak albo tak?

28. „Nazwa algorytmów punktujących”? Domyślam się co to znaczy ale skomplikowane

sformułowanie

Page 17: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

7

29. Wygodniej by było, żeby przy każdym polu do wprowadzania danych były dwa zdania

co i jak tam wpisać, szczególnie jeżeli dużo osób będzie uzupełniać dane.

Page 18: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

8

30. book.field ? Co to znaczy?

2.2.2 Wprowadzanie danych

1. Wprowadziłam pierwszą z brzegu książkę, pt. Vademecum organizacji europejskich –

dwa rekordy do usunięcia id - WUT13442 i WUT13443. Po zakończeniu edycji

połączyłam oba rekordy wybierając jeden poprawny – wiodący.

Page 19: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 1

9

a) Przy wprowadzaniu danych brakowało mi instrukcji, a nie byłam przeszkolona w tym

zakresie stąd zapewne wiele wątpliwości. Nie zajmuję się w Bibliotece opracowaniem

dlatego nie jest dla mnie oczywiste jakiego typu danych oczekuje się w

poszczególnych polach.

b) Przy wprowadzaniu danych do pola Autor próbowałam wprowadzić jako redaktora

osobę z PW, a następnie zmieniłam rolę na Autor, jako autora dodałam kolejną osobę

z PW. W trakcie wprowadzania danych nie widzę, czy dobrze oznaczyłam role.

Page 20: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

0

Po zapisaniu rekordu wydaje się że system pozwala albo tylko wprowadzić

redaktorów albo tylko autorów. Rolę wybiera się raz. Nie ma możliwości

wprowadzenia w jednym rekordzie obu tych ról.

c) Brakuje możliwości zapisania wersji roboczej rekordu. Chciałam na chwilę zawiesić

wprowadzanie danych, a następnie powrócić do rekordu ale nie został zapisany,

ponieważ w roboczym opisie były elementy niepoprawne.

d) Może zamiast „Adres wydawcy” – „Miejsce wydania”

e) Może zamiast „Paginacja” – Strony lub ewentualnie Liczba stron, chociaż w

artykułach będzie do zakres stron

f) Może zamiast Pick file – Wybierz plik

g) Dodałam okładkę książki – Czy nazwa pliku może być dowolna? Ja nazwy nie

zmieniłam, dodałam domyślną, nadaną przez księgarnie internetową - Vademecum-

organizacji-europejskich_J-Gajewski,images,6,83-87545-50-3.jpg

h) Obiekt dodany w polu Plik - to pewnie np. pełny tekst dokumentu o ile jest dostępny?

i) Czy lepiej pozostawić „Data wydania”, czy po prostu „Rok” lub ewentualnie Rok

wydania

j) Po zapisaniu rekordu i odszukaniu go – w wierszu wprowadzonego przeze mnie

rekordu pojawia się nieco więcej funkcji, niż w przypadku pozostałych rekordów. Nie

Page 21: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

1

wiem dlaczego?

k) wprowadziłam drugi rekord – tą samą książkę ale z nieco zmienionym opisem. Bez

problemu połączyłam oba rekordy wybierając jeden wiodący.

l) wprowadziłam dowolny artykuł z czasopisma, do usunięcia - id WUT13451. Czy w

zakładce „Opis” nie przydałaby się funkcja sprawdzania, która koryguje lub zwraca

uwagę na to czy słowa kluczowe są rozdzielone tym samym znakiem interpunkcyjnym

– ja wprowadziłam i średnik i przecinek i obie formy zostały przyjęte. Może w tej

chwili nie jest to istotne ale w przypadku automatycznej konwersji danych do innego

programu, może okazać się ważne.

Page 22: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

2

m) Dlaczego przy dodawaniu tłumaczeń niektóre pola są oznaczone gwiazdką, a w

przypadku wprowadzania książek i artykułów nie ma takich oznaczeń? Podobnie w

zakładce Projekty

Page 23: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

3

n) Czy taki podział na rodzaje książek jest zawsze wystarczający? – tzn. Monografia,

Podręcznik akademicki, Skrypt. Pewnie wynika to z przydzielanej punktacji, ale mogą

zdarzyć się takie publikacje jak tablice dziedzinowe, encyklopedie, słowniki –

pracownik może być chociażby redaktorem.... ? Jak je klasyfikujemy?

o) W zakładce Tłumaczenia kilka pól do przetłumaczenia, np. translation.URL,

translation.journal, translation.field

Page 24: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

4

Funkcje Redaktorskie.

p) Czy powinno być Nazwisko edytora czy Nazwisko redaktora?

q) Najpierw zaznacza się Redakcja Czasopisma, Redakcja wydania specjalnego

czasopisma lub Redakcja serii książkowej a później pojawia się pole o nazwie

„Czasopismo”???

r) W opisie „Funkcji redaktorskich” dwa razy pojawiają się pola punktacji – czy to

oznacza, że stosuje się dwie punktacje – jedna odnosi się do tytułu, a druga do osoby?

s) Czy dane w polu „Funkcja” nie powinny być w jakiś sposób ujednolicone, pobierane

z listy? W jednym z rekordów ktoś podał Funkcja: red., a w innych jest poprawniej

np. Senior Editor

Page 25: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

5

t) Brakuje możliwości przechodzenia do kolejnych rekordów za pomocą np. Następny.

Po wejściu w Pokaż lub w Info mogę tylko powrócić do zbiorczej tabelki, a nie mogę

przejść bezpośrednio do kolejnej pozycji z tabeli.

2.2.3 Funkcje pomocnicze

Brak polskich znaków lub tłumaczenia w różnych miejscach, np. Afiliacja nadrzedna, Imie,

Pokoj, authorprofile.field, journalseries.type, Typy projektow

Page 26: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

6

Page 27: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

7

3 Badanie wydajności systemu repozytoryjnego

3.1 Cel badań

Celem badań było oznaczenie czasów odpowiedzi systemu w zależności od liczby

równoległych użytkowników a także wskazanie komponentów systemu które należy

niezwłocznie lub w przyszłości zaktualizować w celu poprawy wydajności. Badania związane

są z przeniesieniem instalacji repozytorium z poziomu wydziałowego na poziom uczelniany.

3.2 Narzędzia

Testy obciążeniowe zostały przeprowadzone z użyciem narzędzia JMeter

(http://jmeter.apache.org/) które umożliwia min:

nagrywanie scenariuszy testowych na podstawie aktywności użytkownika, przez podłączenie

do przeglądarki internetowej

parametryzację scenariuszy testowych z użyciem zewnętrznych źródeł danych

uruchamianie scenariuszy testowych w sposób równoległy dla wielu symulowanych

użytkowników

uruchamianie testów rozproszonych

raportowanie

Badanie wąskich gardeł zostało zrealizowane przy użyciu wtyczki Java Monitor dla

środowiska Eclipse.

3.3 Charakterystyka ruchu portalu WEiTI

Maksymalna odnotowana liczba odsłon portalu WEITI w ciągu doby wynosi 20000 przy

4000 użytkownikach. Maksymalna liczba odsłon w ciągu godziny wynosi 1356 przy 359

użytkownikach. Średni czas trwania sesji użytkownika wynosi 5 min. Daje to w przybliżeniu

6 użytkowników w ciągu minuty i 23 odsłony w ciągu minuty.

Page 28: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

8

3.4 Założenia dotyczące obciążenia

Statystyki przytoczone dotyczą całego portalu. Ruch w obrębie repozytorium to na razie

około 5 promili całego ruchu wydziałowego. Zakładać należy jednak iż przyjęcie jako

wartości odniesienia ruchu dla całego wydziału będzie gwarantować bezpieczną ocenę

zdolności systemu do udźwignięcia ruchu całej uczelni w zakresie świadczenia dostępu do

repozytorium.

Środowisko testowe

Pamięć RAM: 8GB

Dysk twardy: 160GB

Procesor: 4-rdzeniowy 2666 Mhz

3.5 Scenariusze testowe

Do badań zostały wybrane dwa scenariusze testowe, bazujące na zrachowaniach edytorów i

gości portalu.

Scenariusz 1. Scenariusz polega na wyszukiwaniu w pełnej bazie publikacji za pomocą

wyszukiwania pełno tekstowego przez użytkownika niezalogowanego. Jest to możliwie

najbardziej czasochłonny proces realizowany przez system ze względu na konieczność

przeszukania wszystkich rekordów, wszystkich typów, w tym po treści dokumentów.

W bazie danych w chwili testów występowało około 10 tys. publikacji.

Frazy zapytań zostały przygotowane tak, by zbadać zależność prędkości od liczby

zwracanych wyników, a także by każdy wątek mógł operować na różnej frazie, co

minimalizuje wpływ mechanizmów cache’owania bazy danych i silnika indeksowania na

obserwowalną wydajność systemu.

Scenariusz 2. Scenariusz ten odzwierciedla pracę edytora. Polega na uwierzytelnieniu się w

systemie autoryzacji CAS, przejścia do ekranu artykułów – wyszukania autora z pomocą

automatycznego podpowiadania. Wyszukiwanie właściwe. Scenariusz ten jest mniej istotny,

Page 29: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 2

9

gdyż ruch w sekcji dla zalogowanych edytorów powinien być istotnie niższy niż publiczny

dostęp do repozytorium.

3.6 Wyniki badań i wnioski

3.6.1 Badanie czasu odpowiedzi

Eksperyment 1: Badanie czasu odpowiedzi przy obciążeniach zbliżonych i kilkukrotnie je

przekraczających. Czas uruchomiania wątków: 60s, każdy wątek zadaje inne zapytanie inne

niż „pokaż wszystkie”. (wg scenariusza 1)

l.

użytkowników

Łączna

liczba

odsłon

Czas

minimalny

odpowiedzi

[ms]

Czas średni

odpowiedzi

[ms]

Czas

maksymalny

odpowiedzi

[ms]

25 25 200 810 2300

100 100 83 835 5562

Wniosek: wyniki pokazują iż przy założonym ruchu i kilkukrotnie go przekraczającym

system jest w stanie reagować w czasie umożliwiającym użytkownikom wygodną pracę

3.6.2 Badanie wpływu mechanizmu „cache”

Eksperyment 2: Badanie wpływu mechanizmów „cache”. Czas uruchomiania wątków: 60s,

100 użytkowników, każdy zadaje jedno pytanie inne niż „pokaż wszystkie” (wg scenariusza

1)

Nr

uruchomienia

Czas

minimalny

odpowiedzi

[ms]

Czas średni

odpowiedzi

[ms]

Czas

maksymalny

odpowiedzi

[ms]

Pierwsze

uruchomienie

83 835 5562

Kolejne

uruchomienia

79 179 454

Wniosek: wyniki pokazują duże znaczenie mechanizmów cache’u, które działają nawet przy

wielu różnych zapytaniach generowanych przez użytkowników.

Page 30: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 3

0

3.6.3 Badanie zachowania systemu przy przeciążeniach

Eksperyment 3: Badanie zachowania systemu przy przeciążeniach (wg scenariusza 1)

l.

użytkowników

Łączna

liczba

odsłon

Czas

minimalny

odpowiedzi

[ms]

Czas średni

odpowiedzi

[ms]

Czas

maksymalny

odpowiedzi

[ms]

% błędnych

odpowiedzi

(np.

timeout)

100 1000 83 6401 73251 0%

1000 1000 25 67000 301000 50%

Wniosek: system reaguje w rozsądnym czasie przy 1000 odsłonach na minutę pod warunkiem

iż żądania nie pochodzą od 1000 różnych użytkowników. Wykres skalowania w zależności od

ilości odwołań prezentowany jest poniżej. W drugim przypadku system odrzuca połączenia.

Jest to spowodowane tym iż każda sesja musi być zarządzana przez serwer przez 30 min od

pierwszego zgłoszenia, co powodowałoby ataki typu DOS. Przed taką sytuacją chroni

konfiguracja serwera. Zwiększenie parametrów serwera jest możliwe, ale dodatkowe prace

musiałby być wykonane (np. skracanie czasu sesji) celem uniknięcia zatkania serwera1.

1 Na podstawie czasów odpowiedzi można zaobserwować, że zablokowanie serwera musiałoby wystąpić.

Page 31: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 3

1

3.6.4 Badanie wydajności interfejsu edytora

Eksperyment 4: Badanie wydajności interfejsu edytora dla różnych czynności (wg

scenariusza 2). Liczba użytkowników: 100.

Optymalizacje:

W trakcie prac dokonano 5-krotnego przyspieszenia działania systemu dzięki korekcie

mechanizmu sortowania, a prezentowane wyniki odzwierciedlają stan po wykonanej

optymalizacji. Zidentyfikowano dodatkowy czynnik, którego wyeliminowanie może

przynieść dodatkową kilkukrotną poprawę. Ze względu na satysfakcjonujące wyniki –

optymalizacja ta nie została na razie zaimplementowana.

Page 32: Testowanie Bazy Wiedzy - Omega-PSIRen.omegapsir.io/download/docs/inne/Dokumentacja... · 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy

Pag

e 3

2

4 Wnioski i dalsze kroki

Od testów minęło ponad rok. Usterki funkcjonalne są usuwane na bieżąco. Ze względu na

ciągły rozwój systemu istnieje konieczność jego ciągłego testowania zwłaszcza w okresach

zmiany wersji. Od momentu realizacji opisanych tu testów – dokonane zostały liczne

optymalizacje podnoszące wydajność systemu takie jak odchudzenie sesji użytkownika,

poprawa mechanizmów sortowania, skrócenie czasu sesji dla użytkowników zewnętrznych i

wiele innych. Niezbędny będzie dalszy monitoring pracy systemu w miarę zwiększania liczby

użytkowników zewnętrznych. Spodziewać się można iż liczba użytkowników wewnętrznych

PW zostanie zwiększona nieznacznie w stosunku do możliwości systemu. Istnieje jednak

możliwość, iż ruch generowany z wyszukiwarek może rosnąć w miarę zwiększania się liczby

zasobów udostępnianych przez repozytorium. W tym kontekście kluczowe jest zapewnienie

jakości pracy użytkownikom PW w szczególności w okresach sprawozdawczych, tak aby

nasilony ruch z zewnątrz obniżał czasy odpowiedzi dla użytkowników z zewnątrz, zaś dla

użytkowników wewnętrznych pozostawał na niezmienionym poziomie.