On PhpSpec, BDD, and Not-the-Drupal Way

PhpSpec is a toolset for building out testable pieces of functionality strictly designed to meet (and only meet) the project requirements that you have made explicit. Identify your inputs, test your expected outputs. That's it.

Wait! Don't go. This is not a look-at-this-cool-tool talk. This is a live identity crisis, with a demo. How do we as developers mature our skills and deliver testable, functional code while we continue to work on Drupal 7?

Talking through that question includes:

An introduction to the distinctions between unit, integration, and system testing
An introduction to behavior driven development (BDD)
Using PhpSpec (a BDD tool) to isolate and spec out functionality in your Drupal codebase
Demo of what that looks like
The audience for this presentation probably has:

A deep desire to see projects succeed
An interest in trying new things
And/or an investment in people who do have the above (project managers and other non-developers are very welcome)
Learning Objectives & Outcomes:

An understanding of the cost/benefit tradeoff of unit testing vs. system testing
An introduction to building out custom functionality in Drupal using PhpSpec
A incitement to break the rules, leave behind your "I am a Drupal Developer" identity, and think about writing better code and modernizing your developer skills.

https://2015.badcamp.net/session/phpspec-bdd-and-not-drupal-way

Drupal is a registered trademark of Dries Buytaert.