Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Josh Justice:
Approaches to Testing: A Survey
Feb 08, 2016 @ 10:49:23

On the CodingItWrong site Josh Justice has written up an interesting article about the different "schools" of testing and the approaches they take. While it's not specific to PHP testing, a lot of the principles still apply.

The last few months have been my first opportunity to do automated testing at my full-time job. As I’ve been trying to get the hang of it, my biggest question has been how many of each type to test to write: how many unit, integration, and acceptance tests. Turns out Folks Got Opinions™ on this! As I researched, I found at least four different approaches to testing, and they each provide different answers to a number of questions I had.

His research answered questions about what the different types are, what processes are used to create tests and what to check for. He also answered question about how to change code based on what you find during testing and what "good code" is. HE then breaks down the rest of the article into the four different types of software testing he found during his research:

  • Test Approach #1: Whatever it is DHH does.
  • Test Approach #2: Classical TDD
  • Test Approach #3: Mockist TDD
  • Test Approach #4: Discovery Testing

Each sections includes a summary of the testing practices, links to some other resources on the topic and an illustration of the typical flow when writing the tests.

tagged: testing survey approach types tdd classical mockist discovery dhh

Link: http://codingitwrong.com/2016/02/08/approaches-to-testing-a-survey.html

Allan MacGregor:
TDD is not Dead
Sep 08, 2015 @ 10:30:01

Allan MacGregor has a post to his site with some of his thoughts on why TDD isn't dead and is still a viable option to help reduce bugs and improve software quality.

So, where does this whole TDD is DEAD thing came from? Well, it all started with let's say a provocative talk and follow up blog post by David Heinemeier Hansson (@DHH) where he expressed his frustration with testing and put into question the value of TDD. [...] TDD is not dead, not really. And it won't really ever be dead, it will change or be replaced with something better; in fact it already has, and in my Magento Extension Test Driven Development book we focus on Behavior Driven Development, an approach that emerged from the original TDD methodology.

He goes through each of the points that DHH mentions in his post and offers some of his own thoughts on the topic:

  • Developers make you feel like your is dirty if you don't practice TDD
  • Driving design from unit tests is not a good idea
  • TDD notion of "fast tests" is shortsighted
  • 100% coverage is silly.
  • TDD created test-induced design damage.

He ends with the most common misconception about testing in general too: i"t's too much work/it will make my development slower." He also looks at some of these kinds of comments specifically targeted at Magento 2.

tagged: tdd testdriven development dead opinion dhh

Link: http://coderoncode.com/testing/magento/2015/09/03/tdd-is-not-dead.html

7 Reasons Why TDD Failed to become Mainstream
Jun 11, 2014 @ 09:44:39

In the latest PHPClasses.org post Manuel Lemos suggests severn reasons why TDD failed to become mainstream in most development communities. This is related to comments from an leader in another community about his perspective on the "TDD movement".

Recently the creator of Ruby On Rails declared that TDD (Test Driven Development) is dead. Despite he used to be a supporter of TDD as the right way to do software development, he finally decided to announce that he really does not agree that TDD is really the right way. Read this article to learn more about what happened and what does this mean for developers that support TDD or not.

He starts with a brief look at what TDD (test-driven development) is and a link to a ThoughtWorks video of DHH talking about his new stance. Among his reasons are things like:

  • TDD is Expensive
  • You Will Change Your Projects and Old Tests Become Waste
  • Extensive Testing is Boring
  • Many TDD Preachers Do Not Use it Most of the Time But Do Not Admit it

Manuel shares some of his own opinions on the matter, though, pointing out that he doesn't think TDD is dead. He suggests that it helps to "make you rethink" when developing and that your (and your development group's) practices shouldn't be influenced by outside opinions - use what works.

tagged: tdd fail mainstream opinion dhh video introduction

Link: http://www.phpclasses.org/blog/post/237-7-Reasons-Why-TDD-Failed-to-become-Mainstream.html