|
|
| (19 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| Testing is software development. | | Testing ''is'' software development. Software development is writing code. Testing makes sure the code actually works, so in a nutshell: '''Testing is software development''' :-) |
|
| |
|
| Software development is writing code. Testing makes sure the code actually works, so in a nutshell: Testing is software development :-)
| | One major aspect of testing - especially '''during''' development and the [[Continuous Integration]] process, is [[static analysis]].<blockquote>Program testing can be used to show the presence of bugs, but never to show their absence!<ref>https://en.wikiquote.org/wiki/Edsger_W._Dijkstra</ref> |
|
| |
|
| Phan is a static analyzer for PHP. [https://github.com/phan/phan Phan project on GitHub] It will help you write better PHP7 code. You'll need the [https://github.com/nikic/php-ast Abstract Syntax Tree] generated by PHP. You can read a [https://github.com/phan/phan/wiki/Tutorial-for-Analyzing-a-Large-Sloppy-Code-Base tutorial for how to get Phan working in your project]
| | - Edsger W. Dijkstra (1970)</blockquote> |
|
| |
|
| The MediaWiki project uses Phan. See the article [[mw:Continuous_integration/Phan|Continuous_integration/Phan]]
| | == See also == |
|
| |
|
| == Links ==
| | * [[Software Quality]] |
| | | * [[Ansible#Testing|Ansible [Testing]]] |
| # <nowiki>https://github.com/wikimedia/mediawiki-tools-phan</nowiki>
| | * [[PHPUnit]] |
| # <nowiki>https://github.com/phan/phan</nowiki>
| |
| # <nowiki>https://www.mediawiki.org/wiki/Continuous_integration/Entry_points</nowiki>
| |
| # <nowiki>https://www.mediawiki.org/wiki/Continuous_integration/Phan</nowiki>
| |
| # <nowiki>https://www.mediawiki.org/wiki/Best_practices_for_extensions#File_structure</nowiki>
| |
| # <nowiki>https://github.com/nikic/php-ast</nowiki><br />
| |
| | |
| ==Static Analysis of MediaWiki==
| |
| See https://doc.wikimedia.org/mediawiki-core/master/phpmetrics/complexity.html
| |
|
| |
|
| | <br /> |
| [[Category:Wiki]] | | [[Category:Wiki]] |
| [[Category:MediaWiki]] | | [[Category:MediaWiki]] |
| Line 27: |
Line 20: |
| [[Category:Tools]] | | [[Category:Tools]] |
| [[Category:Continuous Integration]] | | [[Category:Continuous Integration]] |
| | <references /> |