📜 ⬆️ ⬇️

Quality assurance of the software product

Discipline "Software Metrology" is included in the curriculum for the training of graduates in the direction of 654600 - "Computer Science and Engineering" in the specialty 220400 - "Software of computing equipment and automated systems." Discipline studies the problems of evaluating the metric characteristics of software quality at stages from the development of specifications to the completion of debugging and testing of a software product. The course examines the criteria, characteristics and metrics of software quality; special emphasis is placed on the characteristics of correctness, reliability and complexity of programs. We study the formal models and methods for evaluating both static and dynamic characteristics of software quality, allowing at various stages of development to identify miscalculations and defects in a software product. We consider the tools to support and automate the measurement of software characteristics.
Further in the text there will be a brief overview of the tools with which you can analyze various characteristics in applications created in PHP . This material was born as a result of some experiments in the field of continuous integration, and should have been part of an article on continuous integration (I won’t spoil it yet, I'm afraid to jinx it) all in the same PHP, but I decided to separate it out as an independent review. as it is possible, in subsequent articles I will refer to it, as well as I hope to learn about similar tools that have not yet caught my eye. Some tools have already been reviewed in sufficient detail, but nevertheless there has not yet been a complete list of all available.

PHP_CodeCoverage

PHP_CodeCoverage is a library that collects, processes, and displays information about code coverage by tests, requires xdebug, and also uses some third-party libraries. More information is on the official website.

PhpDocumentor

Based on the comments in the source code, it generates the relevant documentation, it has a lot of features, including presentable and user-friendly templates.

PHP Copy / Paste Detector [phpcpd]

The name speaks for itself: it finds duplicate code and reports it.

PHP_Depend

Collects and displays statistical information about the project.

PHP_PMD

Branch from PHP_Depend: displays information about the size of the code, the names used, the unused code. DevMan Overview

PHP_CodeSniffer

Allows you to monitor the state of PHP, JavaScript and CSS files and determine deviations from accepted coding standards. DevMan Overview

PHPUnit

Perhaps the most famous tool for unit testing, I think it needs no introduction.

PHP_CodeBrowser

It provides syntax highlighting code viewing, has rich visualization capabilities, can use reports from: phpunit, phpcpd, padawan, phpcs. From this review one can understand how promising the tool is.

phploc

Another tool that collects statistical information about the project.

phpdcd

PHP Code Detector (Dead Code Detector). It scans the PHP project for all defined functions and methods and reports them as unused if the call does not occur at least once

Padawan

Tool for detecting antipatterns, workarounds and other troubles.

PHP_CachegrindParser

Handler for cachegrind files creating xml reports for later use in CI.

In the next article we will look at how to put these tools into practice with benefit and try to determine their potential usefulness.

')

Source: https://habr.com/ru/post/91777/


All Articles