Test Design

Articles

Icon showing clipboard with passed and failed tests Teaching Acceptance Test-Driven Development

Acceptance test-driven development is a whole-delivery cycle method that allows the entire team to define system behavior in specific terms before coding begins. These conversations align the expectations of the testers, developers, and product owners, forcing any silly arguments to happen before someone has to create the code twice. Here are some great beginner exercises for teaching ATDD.

Matthew Heusser
Row of cupcakes decorated with blue frosting and rainbow sprinkles, photo by Brooke Lark Shifting Testing Left Bakes In Quality from the Start

“Shift left” is one of the latest buzz terms in software testing. Movements like agile and DevOps recommend that testers shift left, but what does that mean, exactly? Here's how one tester became a believer in the shift-left movement; how he got his team's developers, analysts, designers, and managers on board; and how his entire organization has benefited from the shift.

James Espie
Lines of code, photo by Markus Spiske Reduce Technical Debt by Using Unit Tests as Documentation

Technical debt is an inevitable side effect of legacy code. Some code can (and should) be pruned, but institutional memory fades—what if there's a reason certain lines were included that may not be immediately obvious? Done right, unit tests can serve as documentation. Later on, these tests can illuminate what the developer was thinking when they created the code.

Steve Poling
Medical syringes and needles Fault Injection Testing for an IoT Device

If someone says a feature is not testable through the methods we use, it does not absolve us from the responsibility of testing; that's still our job. When this team was given a new connected device to test, they realized their existing functional testing skills wouldn't be sufficient to test the product's core algorithm. So the team got creative, learning the source code and introducing fault injection, figuring out new ways to test.

Ali Khalid

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.