-
Notifications
You must be signed in to change notification settings - Fork 73
[DISCUSS] Roadmap for Humbug 2.0 #228
Comments
A few comments on items by way of explanation:
|
As at the end of the year PHP 7.0 will have reached its end of active support, I would rather go for PHP 7.1 right away.
I'm less convinced about dropping PHPUnit 5.x. PHPUnit 6.0 may not get adopted as fast as we hope, if supporting the latest 5.x doesn't require too much extra work we could support it.
Actually why is this needed?
I think that would be a very big plus to have it. I would add a few things:
|
@padraic edited your comment to add numbers to each point to make easier to know of what we are talking about when talking of a specific point. |
Perfect. On code coverage, there are two specific uses for it: Sort of linking to [F007], I don't think we currently filter tests within test suites - just the suites themselves. If you have 100 tests in a TestSuite class, and only 5 apply to a line, we're still stuck executing the lot of them. I'm trying to recall the details of what was blocking that (less tests = improved performance so it would be REALLY nice to have this). It could have been a mix of both identifying tests per line and/or implementing the filter. @Covers is one way, but it's not required so still needs a backup - and it may be open to abuse to fool the MSI score. P.S. Anyone can the original comment to add items - should have mentioned that at start. |
a) For what comparison to we need it? My understanding was that mutation testing allows you to assess the robustness of your test suite. You can have a rock solid coverage but if the tests are not good your results with Humbug will suck, showing they are weak. On another hand you could have a lesser coverage but for which the tests are quite robust. b) looks like a much more interesting reason to me, although it makes me lean me more toward being able to run without coverage if we want to. [F009] indeed is redundant with [F007], and your point makes me want to try different strategy, the one I described above and/or the current when relying on the code coverage. |
The second reason would be the primary issue - performance. We do a lot of odd, sometimes even messy, things to boost performance. IA would be even faster - it's essentially mapping test suites to files, caching results, and running only a subset of MT for changed files (source or tests). It's lightening fast...well, when it works! On the comparisons, other than MSI which applies to the entire source, having code coverage let's us generate a MSI for test covered code in isolation. Even if your code coverage sucks, you can still have some idea if the existing tests are any good. Ideally that enables an informed choice of priorities between fixing existing tests vs writing new tests. This is more of a nice-to-have - we likely wouldn't have bothered if we didn't already need coverage for performance reasons. |
Added a few points arising from #191 |
Roadmap 2.0
These are initial suggestions only for discussion whether here or on Slack.
Edits: Added @theofidry's suggested F010 and F011.
Edits: Added references to supporting phpspec + codeception.
Edits: Added references to extended mutation support.
The text was updated successfully, but these errors were encountered: