Testowanie

Istnieje pełna gama narzędzi dostępnych dla aplikacji przeznaczonych do testowania. Dostępne są klasy Stats i PerformanceTest opracowane przez społeczność użytkowników Flash. W przypadku aplikacji do testowania można także korzystać z programu profilującego Adobe® Flash® Builder™ i z narzędzia FlexPMD.

Klasa Stats

Klasa Stats — opracowana przez użytkownika mr. doob ze społeczności Flash — umożliwia utworzenie profilu kodu w środowisku wykonawczym za pomocą wersji wydania środowiska wykonawczego bez używania narzędzi zewnętrznych. Klasę Stats można pobrać ze strony https://github.com/mrdoob/Hi-ReS-Stats .

Klasa Stats umożliwia śledzenie następujących parametrów:
  • Liczba klatek zrenderowanych na sekundę (im wyższa jest ta liczba, tym lepiej).

  • Liczba milisekund wykorzystanych na renderowanie klatki (im niższa liczba, tym lepiej).

  • Ilość pamięci, z jakiej korzysta kod. Jeśli ilość pamięci wzrasta przy każdej klatce, wówczas możliwe jest, że w aplikacji istnieje przeciek pamięci. Konieczne jest sprawdzenie każdego ewentualnego przecieku pamięci.

  • Maksymalna ilość pamięci, z jakiej korzystała aplikacja.

Po pobraniu klasa Stats może być wykorzystywana z następującym kompaktowym kodem:

import net.hires.debug.*; 
addChild( new Stats() );

Obiekt Stats można włączyć, stosując kompilację warunkową w środowisku Adobe® Flash® Professional oraz w programie Flash Builder.

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

Przełączając wartość stałej DEBUG można włączać i wyłączać kompilowanie obiektu Stats. To samo podejście może być stosowane w celu zamiany dowolnego kodu, którego kompilacja nie jest wymagana w aplikacji.

Klasa PerformanceTest

Aby umożliwić tworzenie profilu wykonania kodu ActionScript, Grant Skinner przygotował narzędzie, które można zintegrować z przepływem pracy testowania modułów. Do klasy PerformanceTest można przekazać niestandardową klasę, a PerformanceTest przeprowadzi serię testów kodu. Klasa PerformanceTest umożliwia łatwe testowanie różnych rozwiązań. Klasę PerformanceTest można pobrać pod następującym adresem: http://www.gskinner.com/blog/archives/2009/04/as3_performance.html .

Program profilujący w programie Flash Builder

Program Flash Builder jest dostarczany z programem profilującym, który umożliwia testowanie kodu z wysokim poziomem szczegółowości.

Uwaga: Dostęp do programu profilującego można uzyskać za pomocą programu Flash Player w wersji z debugerem — w przeciwnym wypadku pojawi się komunikat o błędzie.

Program profilujący może być również używany z zawartością utworzoną w programie Adobe Flash Professional. W tym celu należy wczytać skompilowany plik SWF z projektu ActionScript lub Flex do programu Flash Builder, a następnie uruchomić program profilujący dla tego pliku. Informacje o programie profilującym zawiera sekcja Profilowanie aplikacji Flex w dokumencie Używanie pakietu Flash Builder 4 .

FlexPMD

Dział Adobe Technical Services wydał narzędzie o nazwie FlexPMD, które umożliwia kontrolowanie jakości kodu ActionScript 3.0. FlexPMD to narzędzie ActionScript, które przypomina narzędzie JavaPMD. FlexPMD zwiększa jakość kodu, ponieważ kontroluje katalog źródłowy kodu ActionScript 3.0 lub Flex. Wykrywa mało wydajne fragmenty kodu, np. niewykorzystany kod, kod nadmiernie złożony, kod zbyt długi oraz niepoprawne użycie cyklu życia składników Flex.

FlexPMD jest projektem open source firmy Adobe dostępnym pod adresem http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD . Jest również dostępna wtyczka do środowiska Eclipse, którą można pobrać pod adresem http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin .

FlexPMD ułatwia kontrolowanie kodu i zapewnia, że jest on przejrzysty i zoptymalizowany. Jednak najważniejszą zaletą narzędzia FlexPMD jest jego rozszerzalność. Programiści mogą tworzyć niestandardowe zestawy reguł w celu kontrolowania dowolnego kodu. Na przykład: można utworzyć zestaw reguł, które będą wykrywać nadmierne stosowanie filtrów lub dowolne inne mało wydajne praktyki kodowania.