Тестирование

Для тестирования предлагается целый ряд инструментов. Среди них — классы Stats и PerformanceTest, разработанные участниками сообщества Flash. Можно также использовать профилировщик в Adobe® Flash® Builder™ и инструмент FlexPMD.

Класс Stats

Для профилирования кода во время выполнения в окончательной версии среды выполнения без внешних инструментов используйте класс Stats, разработанный участником сообщества Flash с псевдонимом mr.doob. Класс Stats можно загрузить на странице: https://github.com/mrdoob/Hi-ReS-Stats .

Класс Stats позволяет проверить следующие характеристики.
  • Количество визуализируемых кадров в секунду (чем больше, тем лучше).

  • За сколько миллисекунд визуализируется кадр (чем меньше, тем лучше).

  • Объем памяти, используемый кодом. Если от кадра к кадру он возрастает, возможно, в приложении есть утечка памяти. Ее необходимо найти и устранить.

  • Максимальный объем памяти, используемый приложением.

Загруженный класс Stats можно использовать со следующим небольшим фрагментом кода.

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

Использование условной компиляции в Adobe® Flash® Professional или Flash Builder активирует объект Stats.

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

Изменяя значение константы DEBUG , можно включать и отключать компиляцию объекта Stats. Таким же образом можно заменять логику кода, чтобы исключить ее при компиляции приложения.

Класс PerformanceTest

Для профилирования выполнения кода ActionScript Грэнт Скиннер (Grant Skinner) разработал инструмент, который можно задействовать в технологическом процессе тестирования. Пользовательский класс передается классу PerformanceTest, который производит с вашим кодом ряд тестов. Класс PerformanceTest позволяет без труда протестировать разные подходы. Класс PerformanceTest может быть загружен на странице http://www.gskinner.com/blog/archives/2009/04/as3_performance.html .

Профилировщик Flash Builder

Flash Builder поставляется с профилировщиком, позволяющим детально проверить код.

Примечание. Используйте для доступа к профилировщику отладочную версию Flash Player, иначе произойдет ошибка.

Профилировщик также можно использовать с содержимым, созданным в Adobe Flash Professional. Для этого загрузите скомпилированный SWF-файл из проекта ActionScript или Flex во Flash Builder и запустите профилировщик. Дополнительные сведения о профилировщике см. в разделе «Профилирование приложений Flex» руководства « Использование Flash Builder 4 ».

FlexPMD

Техническая служба Adobe разработала инструмент FlexPMD, позволяющий оценить качество кода ActionScript 3.0. FlexPMD — это инструмент, схожий с JavaPMD, но предназначенный для ActionScript. FlexPMD оценивает непосредственно исходный код ActionScript 3.0 или Flex, помогая повысить его качество. Инструмент обнаруживает фрагменты неправильного, неоправданно сложного и неоправданно длинного кода, а также случаи некорректного использования жизненного цикла компонентов Flex.

FlexPMD — это проект с открытым исходным кодом от компании Adobe, доступный на странице http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD . Подключаемый модуль Eclipse также доступен на странице http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin .

FlexPMD помогает оценить код и сделать его максимально чистым и оптимизированным. Сила FlexPMD — в его расширяемости. Разработчик может создать собственный набор правил для оценки любого кода. Например, можно создать правила для обнаружения чрезмерного использования фильтров или других неудачных фрагментов кода, которые требуется исправить.