Pull to refresh

Обеспечение качества программного продукта

PHP
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.

PHP_CodeCoverage

PHP_CodeCoverage это библиотека, которая обеспечивает сбор, обработку и отображение информации о покрытии кода тестами, требует xdebug, а так же использует некоторые сторонние библиотеки. Более подробная информация находится на официальном сайте.

PhpDocumentor

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

PHP Copy/Paste Detector [phpcpd]

Название говорит само за себя: находит дублированный код и сообщает о нем.

PHP_Depend

Собирает и отображает статистическую информацию о проекте.

PHP_PMD

Ответвление от PHP_Depend: отображает информацию о размерах кода, используемых именах, неиспользуемом коде. Обзор от DevMan

PHP_CodeSniffer

Позволяет наблюдать за состоянием PHP, JavaScript и CSS файлов и определять отклонения от принятых стандартов кодирования. Обзор от DevMan

PHPUnit

Пожалуй самый известный инструмент для модульного тестирования, думаю в представлении не нуждается.

PHP_CodeBrowser

Обеспечивает просмотр кода с синтаксической подсветкой, имеет богатые возможности по визуализации, может использовать отчеты от: phpunit, phpcpd, padawan, phpcs. Из этого обзора можно понять насколько инструмент перспективный.

phploc

Еще один инструмент собирающий статистическую информацию о проекте.

phpdcd

Детектор неиспользуемого кода (Dead Code Detector) для PHP. Он сканирует PHP проект на предмет всех определенных функций и методов и сообщает о них как о неиспользуемых если из вызов не встречается хотя бы однажды

Padawan

Инструмент для обнаружения антипаттернов, обходных путей и прочих неприятностей.

PHP_CachegrindParser

Обработчик для cachegrind файлов создающий xml отчеты для последующего использования в CI.

В следующей статье рассмотрим как применять на практике эти инструменты с пользой и попробуем определить их потенциальную полезность.
Tags:phpmdphpdocphpcpdpdependphpcsphpunitphpcbphplocphpdcdphpcovpadawanPHP_CachegrindParser
Hubs: PHP
Total votes 127: ↑115 and ↓12+103
Views11K