08 września 2019, 22:13
Rozdział 13 Testowanie witryn WWW
W TYM ROZDZIALE Podstawowe wiadomości na temat stron WWW Testowanie metodami czarnej skrzynki Testowanie metodami szarej skrzynki Testowanie metodami szklanej skrzynki Testowanie konfiguracji i kompatybilności Testowanie użyteczności Wprowadzanie automatyzacji
Poznane w poprzednich rozdziałach techniki testowe były ogólne. Zostały zilustrowane przykładami zastosowania wobec małych programów takich jak Notatnik Word, Kalkulator albo prosty program graficzny Paint. W tym rozdziale zajmiemy się testowaniem szczególnego typu oprogramowania - stron WWW. Jest to temat na czasie, przypuszczalnie nieźle znany, i dobry, praktyczny przykład zastosowania poznanych wcześniej technik.
W tym rozdziale dowiemy się, że testowanie Internetu obejmuje wiele różnych dziedzin, w tym testowanie konfiguracji, kompatybilności, użyteczności, dokumentacji oraz - jeśli mamy do czynienia z witryną o zasięgu światowym - testowanie ulokalnienia. Oczywiście, stosuje się - jak zwykle - testowanie czarnej skrzynki, szklanej skrzynki, statyczne i dynamiczne.
Niniejszy rozdział nie jest wyczerpującym przewodnikiem po testowaniu Internetu (to wymagałoby osobnej książki)1 , ale znajduje się w nim nieskomplikowane, praktyczne przykłady testowania czegoś rzeczywistego. Ponadto - jeśli czyjaś pierwsza praca będzie właśnie szukaniem błędów w witrynie Internetowej - ułatwi znacznie start.
Najważniejsze punkty w tym rozdziale to: 124.Jakie glówne części strony WWW wymagają testowania? 125.Testowanie Internetu metodami czarnej i szklanej skrzynki 126.Testowanie konfiguracji i kompatybilności 127.Czemu testowanie użyteczności jest szczególnie istotne dla stron WWW
1 Rozdział poświęcony jest testowaniu stron i witryn (głównie statycznych), natomiast testowanie Internetu - czy aplikacji internetowych - obejmuje również m.in. testowanie skryptów w Jawie, testowanie serwerów WWW, komunikacji, serwera aplikacji i bazy danych wspierających daną witrynę, i wiele innych elementów (przyp. tłumacza).
Strona 80 (99) 128.Jak przy pomocy narzędzi można ułatwić testowanie witryn. Podstawowe wiadomości na temat stron WWW
Mówiąc najprościej, strony WWW to są dokumenty składające się z tekstu, rysunków, dźwięków, wideofilmów i hiperpołączeń - podobnie jak popularne w połowie lat 90-ych multimedialne kompakty. Tak samo można tutaj przemieszczać się między stronami klikając będące hiperpołączeniami fragmenty tekstu lub rysunki, szukać słów i zwrotów i przeglądać znalezioną informację.
Jendak Internet dodał do koncepcji mulitmedialnego dokumentu dwie rewolucjonizujące tę technikę możliwości: 129.W przeciwieństwie do danych zgromadzonych wyłącznie na dysku CD, strony WWW nie są ograniczone tylko do jednego komputera. Użytkownicy mogą łączyć się i przeszukiwać Internet na całym świecie. 130.Tworzenie stron nie jest domeną programistów posługujących się kosztownymi narzędziami. Przeciętna osoba może zwykle równie łatwo stworzyć stronę WWW, co napisać dokument w programie do przetwarzania tekstu.
Jak danie komuś do ręki pędzla nie robi z nikogo automatycznie artystymalarza, tak umiejętność tworzenia stronic WWW nie robi z nikogo specjalisty od wydawnictw multimedialnych. Połączywszy to z eksplozją nowych technik tworzenia zupełnie nowych funkcji na internetowych witrynach, mamy wymarzoną okazję dla testerów oprogramowania.
Rysunek 13.1 przedstawia pewna popularną witrynę WWW, która przedstawia wiele możliwych funkcji stron WWW. Oto ich niepełna lista: 131.Teskty w różnych wielkościach, rodzajach czcionek i kolorach (OK, nie da się zobaczyć kolorów na czarno-białym rysuku) 132.Grafika i fotografie 133.Hiperpołącznia tekstu i grafiki 134.Różne reklamy 135.Okna do selekcji 136.Pola, w które użytkownik może wpisywać dane
Strona 81 (99)
Rysunek 13.1 Typowa strona WWW ma wiele dających się przetestować funkcji.
Sporą część funkcjonalności trudno jest zauważyć, ale ona właśnie czyni strony WWW znacznie bardziej skomplikowanymi: 137.Układ strony dający się przystosować do potrzeb klienta 138.Dostosowująca się do potrzeb klienta zawartość, pozwalająca użytkownikom dokonać wyboru, jakie wiadomości i jaką infomrację pragną oglądać 139.Listy rozwijane do dokonywania wyboru 140.Dynamicznie zmieniające się zadania testowe 141.Dynamiczny układ strony i dodatkowa informacja zależna od rozdzielczości ekranu 142.Kompatybilność z różnymi przglądarkami, wersjami przeglądarek, systemami operacyjnymi i sprzętem 143.Ukryte formatowanie, znaczniki i inne rodzaje niewidocznej informacji, podnoszące wygodę korzystania ze strony
Oczywiście, pominąwszy portale do bezpiecznego handlu internetowego, witryna na rysunku to jedna z bardziej złożonych i obfitych treściowo witryn na Internecie. Dla osoby o mentalności testera - jakimi zapewne są czytelnicy tej książki - widok tej strony powinien pobudzić apetyt na jej przetestowanie i znajdowanie błędów. W pozostałej części rozdziału znajdują się wskazówki, gdzie najlepiej tych błędów szukać. Testowanie metodami czarnej skrzynki
Strona 82 (99) W rozdziałach od 4-ego do 7-ego, daleko na początku książki, omawiane były podstawy testowania. W tych ogromnie istotnych rozdziałach opisane zostały główne techniki testowania: czarnej skrzynki, szklanej skrzynki, statyczne i dynamiczne - stanowiące podstawowy arsenał każdego testera. Na stronach WWW można doskonale zacząc ćwiczyć swe nowonabyte umiejętności. Nie trzeba kupować żadnych nowych programów ani specjalnych narzędzi - wystarzy rzucić się na jakąś stronę, ulubioną albo zupełnie nieznaną - i można zaczynać testowanie.
Najprościej zacząc od tego, że stronę WWW - albo nawet całą witrynę - potraktuje się jak czarną skrzynkę. Nie wiemy nic o tym, jak ma działać, nie mamy specyfikacji - jest tylko witryna przed nami. Czego zacząć szukać?
Na rysunku 13.2 pokazany jest obraz ekranu witryny Macintosha, www.apple.com. Jest to dość prosta i typowa witryna. Ma wszystkie podstawowe elementy - tekst, grafikę, hiperpołączenia do innych stron na tej samej witrynie oraz hiperpołączenia do innych witryn. Kilka stron witryny ma pola do wypełnienia, gdzie użytkownik może wprowadzić informację, a kilka innych zawiera sekwencje wideo. Jedna interesująca, rzadziej spotykana cecha tej witryny to jej lokalizacja - w 27 różnych miejscach, od Azji aż po Wielką Brytanię.
Mając dostęp do Internetu, warto teraz poświęcić trochę czasu na eksplorację witryny Apple. Jak przystąpić do jej testowania? Jakie zastosować klasy równoważności? Czego nie warto testować?
Rysunek 13.2 Co trzeba przetestować w prostej witrynie jak ta na rysunku?
Po krótkiej eksploracji, do jakich dochodzi się wniosków? Przypuszczalnie każdy zdał sobie sprawę, że to będzie spore zadanie. Na mapie witryny (www.apple.com/find/sitemap.html) pokazane są połączenia do ponad 60ciu różnych „pod-witryn”, z których każda słada się z kilku stron WWW.
Testując witrynę WWW, należy zacząc od skonstruowania tabeli stanów (rozdział 5-y, „Testowanie z klapkami na oczach”), gdzie każdą stronę potraktuje się jak odrębny stan, a hiperpołczenia - jak przejścia między stanami. Gotowa mapa stanów pozwoli zdać sobie sprawę z rozmiarów przedsięwzięcia.
Strona 83 (99) Na szczęście większość stron jest dość prosta, składają się tylko z tekstu, grafiki, połączeń, a gdzieniegdzie z formularzy do wypełnienia. Nie jest trudno je przetestować. Dalej dowiemy się, czego szukać.
Tekst
Stronę WWW należy traktować tak jak dokumentację i testować tak, jak opisane zostało w rozdziale 12-ym, „Testowanie dokumentacji”. Trzeba sprzwdzić, dla kogo strona jest przeznaczona, jaki jest poziom tej grupy, terminologię, zawartość, tematykę, dokładność - zwłaszcza informację która się starzeje - oraz zawsze, zawsze pisownię.
Nie należy zakładać, że programy do kontroli pisowni są doskonałe, zwłaszcza zastosowane do zawartości stron WWW. Program sprawdzi tylko zwykły tekst, ale nie zawartość tekstową grafiki, rozwijanych ramek, formularzy itp. Po dokonaniu kontroli pisowni, na stronie nadal mogą znajdować się błędy.
Dane na temat adresu poczty komputerowej, numeru telefonu, adresu należy sprawdzić. Sprawdza się również poprawność - w tym datę - informacji o prawach autorskich.
Trzeba skontrolować czy każda strona ma właściwy tytuł. Ten tekst pojawia się w pasku tytułowym przeglądarki (górny lewy róg na rysunku 13.2) i wchodzi w skład list ulubionych stron albo zakładek.
Tekstem, który łatwo przeoczyć podczas kontroli, jest tekst ALT, czyli tekst zastępczy. Rysunek 13.3 przedstawia przykład tekstu ALT. Kiedy użytkownik ustawia kursor nad elementem graficznym, ukazuje się wyskakujący napis, wyjaśniający jego znaczenie. Tekst ALT wykorzystywany jest też przez przeglądarki nie wyświetlające grafiki. Niewidomi użytkownicy mogą dzięki tekstom ALT korzystać ze stron obficie wykorzystujących grafikę - głosowy czytnik przekazuje teksty ALT przez głośnik komputera.
Ewentualne problemy z układem strony można skontrolować zmniejszając albo powiększając stronę. W ten sposób wychodzą na jaw błędy wynikłe z tego, że projektant lub programista założyli stałą wysokość lub szerokość strony. Ujawnią się też błędy układu polegające na wkodowaniu na stałe zmiany wiersza, która wygląda doskonale przy pewnym układzie strony, ale nie przy innych.
Hiperpołączenia
Połączenia mogą być przyłączone do tekstu lub do elementów graficznych. Należy skontrolować każde połączenie, czy prowadzi do właściwego celu i czy otwiera się we właściwym oknie. Nawet nie mając do dyspozycji specyfikacji strony, można skontrolować poprawność wykonanego skoku.
Strona 84 (99) Hiperpołączenia sprawdza się rownież pod kątem tego, na ile są widoczne. Połączenie tekstowe są zwykle podkreślone, a kursor ma zmienić kształt ze strzałki na dłoń, kiedy znajduje się nad połączeniem - zarówno tekstowym jak i graficznym.
Jeśli połączenie otwiera list poczty komputerowej, należy go wypełnić, wysłać i sprawdzić czy otrzymało się stosowną odpowiedź.
Rysunek 13.3 Tekst ALT jest tekstowym opisem elementów graficznych na stronie WWW.
Szukamy osieroconych stron, istniejących wprawdzie w danej witrynie, ale nie dających się osiągnąć przez żadne połączenie, ponieważ zapomniano je podłączyć. Być może uda się uzyskać listę istniejących stron od projektanta witryny i porównać ją nastąpnie z własną tabelą stanów. Jeszcze lepiej, można wykorzystać listę faktycznie istniejących stron z serwera WWW i dokonać analizy pokrycia kodu, żeby sprawdzić czy przetestowało się wszystkie strony, że żadnej nie brakuje i że nie istnieją żadne dodatkowe strony.
Grafika
Wiele możliwych błędów związanych z grafiką omówione zostanie w części poświęconej testowaniu użyteczności, ale pewne najbardziej oczywiste rzeczy można sprawdzić przy pomocy prostego podejścia „czarnoskrzynkowego”. Na przykład, czy wszystkie elementy graficzne są ładowane i wyświetalne poprawnie? Jeśli plik graficzny nie istnieje albo ma błędną nazwę, nie uda się go załadować i przeglądarka wyświetli komunikat błędu tam, gdzie powinien był pojawić się element graficzny.
Jaka jest wydajność ładowania strony? Jeśli strona ma zbyt wiele grafiki, co wymaga przesłania i wyświetlenoia wielkiej ilości danych, wtedy tempo ładowania strony jest zbyt niskie. A co się stanie, jeśli strona będzie ładowana przez powolne połączenie przez modem na lini telefonicznej o niskiej jakości?
Strona 85 (99)
Rysunek 13.4 Kiedy nie daje się załadować elementu graficzngo, na jego miejscu przeglądarka wyświetla okno z komunikatem o błędzie.
Formularze
Formularze to są okna tekstowe i inne typy pól służących do wprowadzania i wybierania informacji na stronie WWW. Rysunek 13.5 przedstawia prosty przykład wzięty z witryny Apple. Jest to formularz do zapisywania się, przeznaczony dla programistów dla platformy Macintosha. Są tam pola żeby wprowadzić imię, drugie imię, nazwisko i adres poczty komputerowej. Mamy na tej stornie oczywisty błąd - miejmy nadzieję, że będzie naprawiony zanim czytelnicy zdążą zapoznać się z tym rozdziałem.
Rysunek 13.5 Formularze na stronie WWW powinny być umieszczone we właściwym miejscu. Warto zwrócić uwagę na błąd ma tej stronie.
Formularze testuje się dokładnie tak samo, jak pola w zwykłym programie - czas ponownie przypomniec sobie rozdział 5-y. Czy pola mają właściwe rozmiary? Czy przyjmują wszelkie poprawne dane i czy odrzucają niepoprawne? Czy uzyskuje się stosowne potwierdzenie po naciśnięciu Enter? Czy pola opcjonalne rzeczywiście są opcjonalne, a wymagane rzeczywiście wymagane? Co się stanie jeśli wprowadzić 9999999999999999999999999999?
Obiekty i inne elementy złożone
Strona 86 (99) Wityrna może mieścić takie funkcje jak licznik odwiedzin, rozwijane ramki tekstowe, zmienne ogłoszenia, albo wewnętrzne przeszukiwarki systemu (nie mylić z przeszukiwarkami ogólnosieciowymi, przeszukującymi całą WWW). Planując testowanie witryny WWW, trzeba zidentyfikować funkcje występujące na każdej stronie. Każdą z nich traktuje się jak funkcję zwykłego programu i testuje osobno poznanymi technikami testowymi. Czy ma różne stany? Jak przetwarzane są dane? Czy da się zidentyfikować przedziały i wartości graniczne? Jakie można znaleźć zadania testowe i na jakie podzielić je klasy równoważności? Testowanie metodami szarej skrzynki
Poznaliśmy już testowanie metodami czarnej i szklanej skrzynki, ale jest trzecia metoda - mieszniana obu poprzewdnich - stąd jej nazwa. Stosując testowanie szarej skrzynki, stoi się na granicy obu pozostałyh metod. Nadal testuje się oprogramowanie jak czarną skrzynkę, ale uzupelnia się tę pracę zerkając (ale nie zaglądając otwarcie, jak w metodach szklanej skrzynki) na to, jak oprogramowanie działa w środku.
Stronice WWW nadają się bardzo dobrze do testowania szarej skrzynki. Większość stron WWW zbudowanych jest z HTML (Hypertext Markup Language, Hipertekstowy Język Znaczników). Listing 13.1 pokazuje rzędy kodu HTML definiujące stronę pokazaną na rysunku 13.6.
Listing 13.1 Próbka HTML pokazujący kod źródłowy strony WWW
Strona 87 (99)
Rysunek 13.6 Część tej strony WWW tworzy kod HTML z Listingu 13.1.
Kto z czytelników nie umie stworzyć własnej witryny WWW, może chcieć poczytać trochę na ten temat. Książka dla początkujących, taka jak „Sam uczy w 24 godziny jak samemu stworzyć stonę WWW” pozwoli nauczyć się podstaw i ułatwi zrozumienie jak zastosować metody szarej skrzynki .
HTML i strony WWW możńa testować jako „szarą szkrzynkę”, ponieważ HTML nie jest językiem programowania - jest językiem znaczników. W epoce wczesnych programów do przetwarzania tekstu, nie dało się po prostu wybrać fragmentu teksu i zamienić jego format na tłusty druk albo na kursywę. Trzeba było używać znacznikóew, zwanych też czasem znacznikami pól. Aby na przykład napisać zdanie
To jest tekst tłustym drukiem.
pisze się coś takiego
[begin bold]To jest tekst tłustym drukiem.[end bold]
Tak samo działa HTML. Aby napisać to samo w HTML, pisze się
<b>To jest tekst tłustym drukiem</b>
Strona 88 (99) HTML ma obecnie setki różnych znaczników i opcji, co widać na Listingu 13.1. Niemniej, w grucie rzeczy HTML nie jest niczym innym jak podrasowanym, staroświeckim językiem znaczników. Różnica między HTML a programem polega na tym, że HTML nie jest wykonywane, tylko określa jak tekst i grafika są wyświetlane na ekranie.
Aby zobaczyć w przeglądarce Internet Explorer, jak wygląda kod HTML dla danej strony, klika się prawym klawiszem myszy gdzieś na stronie (nie na elemencie graficznym) i wybiera Kod Źródłowy (View Source) z menu. Inne przeglądarki działają torchę inaczej, ale większość daje możliwość obejrzenia kodu HTML, z którego zbudowana jest oglądana w danej chwili strona.
Ponieważ tak łatwo dotrzeć do kodu źródłowego HTML, można to wykorzystać w trakcie testowania. Dla testera stosującego metody czarnej skrzynki jest to doskonała okazja, by zacząc przesuwać się w stronę metod szklanej skrzynki.
Najlepiej zacząć od tego, by nauczyć się samemu budować proste strony WWW. Nauczywszy się znaczenia podstawowych znaczników, można zacząć badać jak zrobione są różne strony WWW dostępne na Intenecie. Poznawszy HTML, jest się w stanie patrzeć na strony WWW w nowy sposób i stać się bardziej skutecznym testerm. Testowanie metodami szklanej skrzynki
Na rysunku 13.1 widzieliśmy przykład strony WWW mającej statyczną zawartość w formie tekstu i grafiki. Tego typu strony zwykle tworzy się przy pomocy prostego kodu HTML. Strony HTML mogą też mieć elementy zmienne, dynamicznie dostosowaywane do potrzeb. Trzeba cały czas pamiętać, że HTML nie jest językiem programowania, tylko systemem znaczników dla tekstu i grafiki. Aby stworzyć elementy zmienne, trzeba uzupełnić HTML przy pomocy kodu, który może być wykonywany i wybierać różne ścieżki zależnie od warunków decyzji.
Strona 89 (99) Najczęściej spotykane języki programowania1 stosowane do tego to DHTML, Java, JavaScript, ActiveX, VBScript, Perl, CGI, ASP i XML. Jak powiedziano w rozdziale 6-ym „Badanie kodu” i w 7-ym „Test oprogramowania z rentgenem na oczach”, nie trzeba koniecznie być specjalistą w dziedzinie danego języka programowania, aby zastosować testowanie metodą szklanej skrzynki - wystarczy znać go na tyle, by móc go czytać i rozumieć, oraz konstruować zadania testowe na podstawie znajomości kodu.
W tym rozdziale nie ma miejsca, aby wdać się we wszelkie szczegóły testowania witryn metodami szklanej skrzynki. Niektóre funkcje dają się najlepiej przetestować przy pomocy metod szklanej skrzynki. Oczywiście, można by je też przetestować metodami czarnej skrzynki, ale złożoność bywa tak duża, że aby na pewno zdołać znaleźć najważniejsze błędy, powinno się mieć pewną znajomość struktury witryny i programowania: 144.Treść dynamiczna. Treść dynamiczna to grafika i tekst, które zmieniają się zależnie od warunków - na przykład od pory dnia, preferencji użytkowanika albo tego, co zrobił użytkownik. Programowanie zmian treści może być zrobione w prostym języku jak JavaScript i wbudowane wprost w kod HTML. Nazywa się to programowaniem po stronie klienta. Sprawdzając skrypt i kod HTML, posługujemy się metodami szarej skrzynki. Jednak ze względu na wydajność, zwykle programy umieszca się serwerze WWW; nazywa się to programowaniem po stronie serwera. Aby móc zbadać kod, musiałoby się mieć dostęp do serwera.
1 Nie wszystkie wymienione tu programy są dosłownie "językami programowania", ale nie ma to znaczenia w tym kontekście (przyp. tłumacza).
Strona 90 (99) 145.Strony WWW sterowane przez bazę danych. Wiele stron WWW stosowanych w handlu internetowym, które pokazują katalogi towarów, jest sterowanych przez bazy danych. HTML stwarza prosty układ strony, zaś ilustracje, opisy tekstowe, cenniki itd. ściąga się z bazy danych na serwer WWW i następnie wkleja na odpowiednia stronę HTML. 146.Strony WWW stwarzane przez program. Wiele stron WWW z dynamiczną treścią jest tworzonych przez programy - to znaczy kod HTML, niekiedy nawet kod skryptowy - wytwarza program. Projektant strony WWW wprowadza odpowiednie dane do bazy danych, przeciąga i upuszcza elementy do programu robiącego skład strony, naciska guzik i po chwili program dostarcza gotowy kod HTML do wyświetlenia danej strony. Brzmi to groźnie, ale naprawdeę nie różni się niczym od np. kompilatora produkującego kod maszyny1. Testując taką stronę, należy sprawdzić czy wygenerowany kod jest zgodny z oczekiwaniami projektanta. 147.Wydajność i ładowanie. Popularne witryny WWW dostają miliony trafień dziennie. Każde trafienie powoduje konieczność załadowania strony WWW z serwera WWW do przeglądarki na komputerze klienta2. Aby przetestować wydajność i zachowanie systemu pod obciążeniem, należy znaleźć sposób zasymulowania milionów połączeń i ładowań3.
1 A nawet jeszcze "zwyczajniej": dokument - razem z ilustracjami, tabelami itp. - napisany np. w powszechnie znanym programie Word można zlecić programowi zapisać w formacie HTML i strona WWW jest gotowa. Innym przykładem takiego programu jest Composer, będący częścią populanej przeglądarki Netscape Navigator (przyp. tłumacza).
2 Zwykle o wiele więcej niz załadowanie jednej strony. W systemach do handlu Internetowego każde odwiedziny mogą spowodować ładowanie wielu różnych stron, uruchomić poszukiwanie w bazie danych i inne transakcje (przyp. tłumacza).
3 Istnieje wiele programów, które to umożliwiają (więcej na ten temat w rozdziale o automatyzacji), a nawet firmy, wykonujące na zlecenia tego rodzaju testowanie (przyp. tłumacza).
Strona 91 (99) 148.Bezpieczeństwo. Zagadnienia bezpieczeństwa witryn WWW często trafiają na pierwsze strony gazet, gdy hakerzy na różne sposoby usiłują dostać się do wewnętrznych danych witryny. Witryny zawierające dane finansowe, medyczne i inne wymagające ochrony są szczególnie narażone i wymagają drobiazgowej znajomości techniki pracy serwera WWW, aby móc je przetestować pod kątem bezpieczeństwa.
Mitologia testowania bezpieczeństwa
Na pierwsze strony gaet często trafiają historie o hakerach, którzy włamali się do superbezpiecznych witryn i uzyskali poufne informacje. Artykuły prasowe podkreślają, że hakerzy zrobili to przy pomocy programu składającego się z trzech linijek kodu albo przez niezamknięte tylne wejście. Nie dajmy się oszukać - hakerzy musieli pracować długo i ciężko, aby znaleźć możliwość wejścia. Oczywiście, wynikiem tej pracy mógł być program mający zaledwie trzy linijki, ale e=mc2 ma ledwo pięć znaków, a Einsteinowi zajęło wiele lat, by to sformułować. Będąc testerm, trzeba być przygotowanym na to, że poszukiwanie niezabezpieczonych dróg dostępu do witryny jest czasochłonne i trudniejsze niż się na pierwzy rzut oka wydaje. Testowanie konfiguracji i kompatybilności
Czas powrócić do testowania stron WWW. Przypomnijmy sobie najpierw z rozdziałów 8-ego i 9-ego, co to jest testowanie konfiguracji i kompatybilności. Testowanie konfiguracji polega na sprawdzaniu, jak oprogramowanie działa na różnych rodzajach platform programowych i sprzętowych i na ich rozmaitych konfiguracjach. Testowanie kompatybilności to sprawdzian działania oprogramowania razem z innymi programami. Strony WWW dają szerokie pole do zastosowania obu tych typów testowania.
Załóżmy, że mamy do przetestowania witrynę WWW. Zastanówmy się, jakie aspekty konfiguracji sprzętu i oprogramowania mogą wpłynąć na działanie lub wygląd witryny. Oto lista propozycji: 149.Platforma sprzętowa. Czy to jest Macintosh, PC, wbudowana w telewizor przeglądarka, telefon czy zegarek na rękę? Każde urządzenie na swój własny system operacyjny, układ ekranu, oprogramowanie komunikacyjne itd. Każdy z tych aspektów wpływa na wygląd stron WWW na ekranie.
Strona 92 (99) 150.Rodzaj i wersja przeglądarki. Istnieje wiele różnych typów przeglądarek - a każda ma wiele wersji. Niktóre działają tylko na jednej platformie sprzętowej, inne na wielu. Przykłady: Netscape navigator 3.04 i 4.05, Internet Explorer 3.02, 4.01 i 5.0, Mosaic 3.0, Opera, Emacs.
Każda przeglądarka i każda wersja ma nieco inny zestaw możliwości. Strona WWW może wyglądać świetnie w jednej przeglądarce, a nie dać się wyświetlić w ogóle w innej. Projektanci witryn mają do wyboru dwie drogi: albo zaprojektować witrynę używając najmniejszego wspólnego mianownika, tak żeby wyglądała bardzo podobnnie na wszystkich przglądarkach, albo napisać kod wykorzystujący wszelkie ciekewe możliwości jednej z nich. Jakie ma to znaczenie dla testowania? 151.Wtyczki programowe. Wiele przeglądarek stosuje wtyczki programowe albo inne rozszerzenia, aby uzyskać dodatkowe możliwości, na przykład aby móc odgrywać muzyke lub wyświetlać wideo. 152.Opcje przeglądarki. Wiele przegladarek ma wiele rożnych ustawień. Na rysunku 13.7 znajduje się przykład. Można wybrać opcje dotyczące bezpieczeństwa, wybrać sposób działania tekstu ALT, uaktywnić wybrane wtyczki programowe itd. Każda opcja może wpłynąć na to, jak będzie się zachowywać i wyglądać przegądana witryna - co stwarza nowe możliwe scenariusze do przetestownania.
Rysunek 13.7 Przykład ilustrujący możliwości różnorakiego skonfiguraowania przeglądarki Internet Explorer.
Strona 93 (99) 153.Rozdzielczość ekranu i wielkość skali kolorów. Na wielu platformach można wybrać różne rozdzielczości ekranu i kolory. Na przykład na PC pod Windows można wybrać rozmiary ekranu 640x480, 800x600, 1024x768, 1280x1024 i jeszcze większe. Strona WWW może prezentować się dobrze tylko przy pewnej rozdzielczości, a nie przy innej. Tekst i grafika mogą mieś inaczej zawinięte wiersze, być obcięte albo nie pojawiać się wcale.
Dostępna skala kolorów też może wpłynąć na wygląd witryny. Ilość kolorów może być bardzo różna - od 15 do 224. Czy testowana witryna daje się oglądać tylko w 16-u kolorach? 154.Wielkość tekstu. Użytkownik może zmieniać wielkość tekstu używanego przez przeglądarkę. Czy strona da się oglądać, kiedy wybrana czcionka jest szczeólnie mała lub szczególnie wielka? Co się stanie, jeśli ogladać ją na małym ekranie z niska rozdzielczością i dużą czcionką? 155.Szybkość modemu. Nie da się przecenić znaczenia wydajności. Kiedyś, w przyszłości, każdy będzie mieć połączenie do Internetu wysokiej szybkości, dostarczające nowe dane tak szybko, jak tylko zdoła się je przeczytać. Zanim to nastąpi, trzeba sprawdzać, jak witryna funkcjonuje dla różnych szybkości modemów.
Wziąwszy pod uwagę wszystkie powyższe możliwości, przetestowanie nawet najprostszej stroniczki WWW staje się olbrzymim przedsięwzięciem. Nie wystarczy, by wyglądała dobrze na PC projektanta. Musimy mieć pewność, że będzie poprawnie działać i wyglądać dla wszystkich, do kogo chcemy dpotrzeć. W tym celu trzeba uwzlędnić, jakie użytkownicy mogą mieć konfiguracje. Mając tę wiedzę, można wybrać klasy równoważności dla konfiguracji najważniejszych do przetestowania. Testowanie użyteczności
Użyteczność i witryny WWW zdają się niekiedy wykluczać. Każdy spotkał się z witrynami na których nawigacja jest trudna, które są nieaktualne, powolne albo po prostu brzydkie. Nic dziwnego, że te witryny zapewne nigdy nie przeszły przez ręce testera oprogramowania. Programista albo ktoś inny z niedostateczną znajomością zasad projektowania i wzornictwa (albo ze zbyt wielką wiedzą na temat wzornictwa) skonstruował strony i załadował, nie dbając o to czy są użyteczne.
Strona 94 (99) Jak powiedziane zostało w rozdziale 11-ym, testowanie użyteczności niełatwo jest zdefiniować. Co nie podoba się jednemu, podoba się drugiemu - niektórzy uważają że jeleń na rykowisku1 to wielka sztuka. Na szczeście, przestrzegając kilku prostych zasad - i testując ich użycie - można uczynić witryny WWW użyteczniejszymi.
Jakob Nielsen, www.useit.com, znany ekspert w zakresie wzornictwa i użyteczności witryn WWW, dokonał wielu badań w tej dziedzinie. Poniższe punkty przystosowane są z jego książki Dziesięć głównych błędów projektowania witryn WWW2: 156.Nieuzasadnione użycie „najostrzejszych” technologii. Witryna nie ma usiłować przyciągnąć uwagi użytkowników ostentacyjnym stosowaniem najnowszych dostępnych technologii. Będzie to aktrakcyjne dla kilku technologicznych fanatyków, ale dla większości użytkowników najważniejsza jest zawartość strony i dobra jakość oferowanego wsparcia i serwisu. Użycie najnowszych technologii zanim jeszcze się rozpowszechniły jest pewną receptą na zniechęcenie użytkowników. Jeśli ich system ulegnie awarii podczas odwiedzin takiej witryny, niewielu będzie próbowało powrócić. Wyjąwszy firmy sprzedające internetowe produkty lub serwis, lepiej jest zaczekać aż zastosowana technologia będzie już dostatecznie rozpowszechniona. W czasach, kiedy skład komputerowy był nowością, niektórzy potrafili zastosować i dwadzieścia różnych typów czcionek w swoim dokumnecie. Unikajmy podobnych pułapek przy projektowaniu stron WWW. 157.Rozwijany tekst, ruchome ramki, nieustannie poruszjące się animacje. Nie wolno dopuścić elementów strony będących w ciągłym ruchu. Poruszające się obiekty przyciągaja zawsze ludzkie tak zwane widzenie peryferyjne. Strona WWW nie powinna naśladować neonowej tablicy ogłoszeniowej w nieustannym ataku na zmysł wzroku - dajmy użytkownikom chwilę spokoju, żeby mogli przeczytać znajdujący się na stronie tekst!
1 W oryginale "Elvis on velvet" - tyz piknie! (przyp. tłumacza).
2 W oryginale: Top Ten Mistakes in Web Design (przyp. tłumacza).
Strona 95 (99) 158.Długie, przewijane strony. Użytkownicy zwykle nie lubią przewijania poza infromację widoczną na ekranie po pierwszym otwarciu strony. Kluczowe informacje i opcje do nawigacji powinny być dostępne w górnej części strony. Ostatnie badania wskazują, że dzisiejsi użytkownicy są bardziej skłonni przewijać strony niż w początkowym okresie Internetu, ale nadal warto minimalizować przewijanie. 159.Niestandardowe kolory połączeń. Hiperpołączenia do stron, których użytkownik nie odwiedził powinny byc niebieskie, zaś do stron wcześniej odwiedzonych purpurowe lub czerwone. Nie powinno się niczego z tymi kolorami wydziwiać - spójność jest konieczna, żeby użytkownicy nauczyli się znaczenia tych kolorów. Odróżnianie połączeń już wcześniej wykorzystanych od jeszcze niewykorzystanych jest jedną z nielicznych pomocy nawigacyjnych dostępnych we wszystkich niemal typach przeglądarek. 160.Przestarzała informacja. Zespół projektowy powinien mieć do dyspozycji „ogrodnika WWW” - kogoś zajmującego się usuwaniem chwastów i przesadzaneim kwiatów kiedy kształt strony się zmienia. Niestety, wiele zespołów woli wytwarzać nowe strony niż zajmować się pielęgnacją starych. W rzeczywistości, pielęgnacja jest tanim sposobem na poprawienie zawartości witryny. Większość starych stron zachowuje swą wartość i podłącza się je do nowych stron. Oczywiście, zdezaktualizowane strony najlepiej usunąć z serwera jak najszybciej. 161.Zbyt długi czas ładowania. Szacuje się, że około 0,1 sekundy to maksyamalny czas reakcji, przy którym użytkownicy mają wrażenia, że system reaguje bezzwłocznie. Jedna sekunda to górna granica czasu, do której bieg myśli pozostaje nienaruszony. Dziesięć sekund to najdłuższy możliwy czas zatrzymania zainteresowania użytkownika. Użytkownicy Internetu tylekroć byli narażeni na długie czasy ładowania, że przypuszczalnie mają nieco większą odporność, tak że być może wolno przedłużyć ten limit czasu do 15 sekund przez kika stron. Niemniej nie należy się tym zadowalać - poprzeczkę należy umieścić o wiele niżej.
Strona 96 (99) 162.Brak wsparcia dla nawigacji. Nie wolno zakładać, że użytkownicy znają witrynę tak samo dobrze, jak jej autorzy. Zawsze będzie im trudno znaleźć właściwą informację, więc trzeba im pomóc, dając silne, wyraźne oparcie w strukturze i orientacji w położeniu. Projektowanie witryny należy zacząć od zrozumienia struktury informacji. Tę samą orientację trzeba jakoś przekazać użytkownikom. Najlepiej sporządzić mapę witryny, na której użytkownicy moga śledzić gdzie są i dokąd mogą pójść. Witryna powinna także dysponować dobrą przeszukiwarką, gdyż sama pomoc w nawigacji zwykle nie wystarcza. 163.Osierocone strony. Każda strona powinna byc oznaczona, do jakiej witryny należy, bo użytkownicy moga przecież wejśc na nią wprost, pomijając stronę domową. W tego właśnie podou, każda strona witryny powinna mieć połączenie powrotne, prowadzące do strony domowej oraz wyjaśnienie, gdzie w strukturze witryny w danej chwili się znajdujemy. 164.Złożone adresy witryn WWW (URL-e). W zasadzie "maszynowy" adres URL nie powinien w ogóle pojawiać się w interfejsie użytkownika, ale każda przeglądarka go wyświetla, a praktyka i badania dowodzą, że użytkownicy często przy jego pomocy usiłują domyslić się struktury witryny. Przyczyną tego stanu rzeczy jest brak wspomagania dla nawigacji i orientacji we wspólczesnych przeglądarkach. Tak więc należy to brać pod uwagę i używać w URL-ach czytelnych dla ludzi nazw, tak by odzwierciedlały naturę zawartości danej strony.
Użytkownicy często piszą również adresy URL, tak więc należy starać się minimalizować ryzyko pomyłek używąc krótkich nazw, tylko małych liter i żadnych znaków specjalnych - wiele osób nie wie, jak przy pomocy klawiatury napisać znak ~.
Strona 97 (99) 165.Używanie ram. Ramy to technika HTML umożliwiająca wyświetlanie stron WWW wewnątrz storn WWW, ska nazwa rama - jak rama obrazu. Podzielenie strony na ramy myli użytkowników, gdyż sprzeniewierza się intuicyjnemu modelowi strony większości użytkowników. Znienacka nie można oznaczyć bieżącej strony zakładką i powrócić do niej (zakładka wskazuje na inną część systemu ram), adresy URL przestają działać, a wydruki stają się utrudnione. Co gorsza, znika też przewidywalność działań - kto wie, co się stanie, kiedy kliknie się na połączenie?
Testując witrynę, warto wykorzystać przysługujące testerom prawo składania również donosów na błędy użyteczności. Warto poczytać na temat podstawowych zasad projektowania interfejsu i dowiedzieć się, na czym polega użyteczność. Dobrym źródłem informacji jest wydana przez Microsoft praca pod tytułem "Poprawa użyteczności i atrakcyjności witryn WWW" (Improving Web Site Usability and Appeal). Jej adres na WWW jest msdn.microsoft.com/workshop/management/planning/improvin gsiteusa.asp. W tym dokumencie znajduje się obszerna lista doświadczeń, jakie Microsfot zdobył w trakcie opracowywania swojej własnej witryny MSN. Niech nikogo nie zniechęci data - 1997 - tego dokumentu. Dobre wzory się nie starzeją. Wprowadzanie automatyzacji
Ostatnia część tego rozdziału wprowadza w pewnym sensie do następnego rozdziału książki, rozdziału 14-ego "Testowanie automatyczne i narzędzia do testowania".
Czytając ten rozdział można było się czasem zastanawiać, w jaki sposób jest w ogóle możliwe zdążyć przetestować dużą i skomplikowaną witrynę WWW. Zwykłe klikanie wszystkich połączeń w celu sprawdzenia, czy są poprawne może zając mnóstwo czasu. Jeśli dodać do tego testowanie podstawowych funkcji, test konfiguracji i kompatybilności oraz wymyślenie sposobów na przetestowanie osiągów i obciążenia poprzez symulowanie tysięcy czy nawet milionów użytkowników, ma się naprawde sporo pracy.
Strona 98 (99) Na szczęście nie trzeba tego wszystkiego robić ręcznie. Dostępne są narzędzia do testowania, zarówno darmowe jak i do kupienia, które moga znacznie ułatwić pracę. Darmowe narzędzia można znaleźć pod www.netmechanic.com lub pod websitegarage.netscape.com. W obu tych witrynach znajdują się łatwe w użyciu narzędzia do automatycznej analizy witryny i testowania pod kątem niekompatybilności z przeglądarkami, kłopotów z wydajnością, pękniętych hiperpołączeń, zgodności ze standardem HTML i błędów pisowni. Mogą nawet powiadomić, które grafiki witryny sa zbyt duże i mogą spowodować zbyt powolne ładowanie. Te narzędzia potrafią zaoszczędzić wiele godzin mozolnej, ręcznej pracy. Warto im się przyjrzeć żeby zorientować się, o czym będzie mowa w rozdziale 14-ym. Podsumowanie
Ten rozdział zamyka część III-ą "Zastosowanie umiejętności w praktyce". Zapoznaliśmy się w niej z tematyką bardzo obszerną: począwszy od ustawień karty wideo, poprzez węgierskie ulokalnienie programu, aż do brzydkich witryn WWW. Te tematy to jedynie fragment całego świata oprogramowania. Ta różnorodność powoduje, że testowanie oprogramowania jest nieskończonym wyzwaniem. Każdego dnia wytwarza się nowe, fascynujące programy, technologia robi kolejny krok naprzód i pojawiają się do rozwiązania nowe interesujące problemy w dziedzinie testowania. Testowanie witryn WWW jest dzisiaj stosownym tematem do tej części książki, ale kto wie, co będzie nim w przyszłości.
Mijemy nadzieje, że po przeczytaniu rozdziałow w części III-ej zdajemy sobie sprawę, że nawet przetestowanie małej witryny czy niewielkiego programu bywa zadaniem przekraczającym możliwości jednego testera czy nawet zespołu testerów. Przetestowanie napisanego przez jednego programistę, liczącego kilkaset rzędów programu może wymagać dziesiątek albo nawet setek testerów, aby mogli oni dokładnie przetestowąc wszelkie możliwe platformy, konfiguracje, języki i typy użytkowników. Ilość kombinacji i permutacji jest bezkresna i nawet przy zastosowaniu podziału na klasy równoważności ilość pracy może przekraczać nasze możliwości.
W następnych dwóch rozdziałach dowiemy się, jak - przy pomocy zarówno ludzkich sił jak i narzędzi - zredukować to zadanie do rozsądniejszych wymiarów. Pytania
Pytania mają na celu ułatwienie zrozumienia. W aneksie A „Odpowiedzi na pytania” znajdują się prawidłowe rozwiązania – ale nie należy ściągać! 1.Jakie podstawowe elementy strony WWW można łatwo przetestować technikami czarnej skrzynki? 2.Co to jest testowanie metodami "szarej skrzynki"?
Strona 99 (99) 3.Dlaczego możliwe jest zastosowanie metod szarej skrzynki do testowania witryn WWW? 4.Dlaczego program do wyszukiwania błędów pisowni nie gwarantuje poprawnej pisowni na stronie WWW? 5.Wymień parę ważnych zagadnień, które trzeba wziąć pod uwagę przy testowaniu konfiguracji i kompatybilności witryn WWW. 6.Które z opisanych przez Jakoba Nielsena 10 głównych błędów witryn WWW spowodowałyby błędy kompatybilności i konfiguracji?