GrumPHP is yet another quality control tool for PHP. But unlike a million other – PHPUnit, PHP CodeSniffer, and the like – this one is more of a tying knot. GrumPHP integrates via git hooks. It runs one more of the other tools, making sure that the changes you are committing are up to the par.
The support for other tools is excellent. You’ll find anything from the basic unit tests and coding style checks to commit message formatting and content, Robo tasks, and even custom shell scripts.
PhpMetrics is yet another tool in the ever growing list of the static code analyzers for PHP. Compared to the rest, I think this one is the easiest to install and run. And it produces the most eye candy reports ever. The generated report is in the HTML format, with fancy charts and graphs, and makes it really easy to spot and fix the issues.
composer-plugin-qa is a Composer plugin which adds all the most popular PHP quality assurance tools as composer scripts, so that you don’t have to install and set them up one by one. The list of tools includes the following:
Mailtrap is a handy service for any developer or team that needs to test outgoing emails from test and staging environments, without spamming real users. It’s basically a fake SMTP server with some controls of where and how to forward messages, and ways of analyzing, sharing, and testing of HTML rendering.
“Unit Testing – The Big Picture” is a super useful for those of us who need a refresher or an overview of what software testing is in general, and how unit testing relates to other types of testing in particular. It covers a bit of history of testing, different approaches, terminology, and more.
Psalm by Vimeo. The cool thing about this static analyzer is that it supports both PHP 5.6 and PHP 7, unlike PHPStan which requires PHP 7. (Yeah, I know PHP 5.6 has reached the end of its active support a while back, but there are still quite a few projects around using it.) Additionally, Psalm is easy to control via the XML configuration file, much like PHPUnit and PHP CodeSniffer.
Phan. This one is a bit trickier to install, as it requires some PHP extensions that I’ve never heard about (like PHP AST).
But the above tools are mostly for software developers. With the expansion of our quality assurance efforts, I am looking at some more tools and this time around, those that are aimed more towards QA engineers and testers. One particular area that I am currently very interested in is the tool for test (and requirements) management.
My experience in this area is very limited. I just know that such tools do exist. Most of them are propitiatory and expensive, and are used by large organizations. We are not a large company. Our needs are simpler. And our budget for this is not great yet.
So, here is what I’m looking for:
A web-based tool to manage test cases, test plans, test runs, and test results.
This tool should support git version control.
This tool should integrate well with GitHub and BitBucket.
This tool should integrate well with TravisCI and BitBucket Pipelines.
This tool should integrate well with Redmine.
This tool should integrate well with HipChat.
This tool must support multiple projects.
This tool must support both manual and automated tests.
Preferably, the tool should be Open Source software.
Preferably, the tool should be free (as in money).
Preferably, the tool should be written in PHP, as that’s what where we have a lot of in-house expertise.
If you know of a tool that matches all or most of the above, please let me know.