Testing Like You've Never Tested Before (Because You Haven't)

By Steve Grunwell

Elevator Pitch

Testing software in an automated fashion is one of the best ways to guarantee quality, reduce bugs, and prevent regressions in our code. Unfortunately, the most difficult parts of testing come right at the beginning; for those who are new to automated testing, these hurdles can prove overwhelming.

Description

Testing software in an automated fashion is one of the best ways to guarantee quality, reduce bugs, and prevent regressions in our code, and is a prerequisite to operating in a Continuous Integration environment. Unfortunately, the most difficult parts of testing come right at the beginning: scaffolding a test suite and writing our very first tests. For those who are new to automated testing, these hurdles can prove overwhelming.

This talk covers the fundamentals of testing, in a beginner-friendly way. We’ll discuss how testing makes software better, the various levels of the Automation Pyramid, how to scaffold some basic unit and integration tests, and discuss the characteristics of great tests.

Notes

Slides and presentation history: stevegrunwell.com/slides/intro-to-testing

No prior testing experience is necessary, and the session is designed to make the topic as approachable as possible.

The talk covers the differences between unit and integration testing (and use-cases for each), principles of the TDD and BDD paradigms, setting up a PHPUnit test suite, and extra tools like Mockery.