Articles

Please enter an article title, author, or keyword
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
Interviewers going over a job applicant's certification Is It Worth It for Software Testers to Get Certification?

The software testing community is split over whether it's worth the time and cost to go through a testing course in order to obtain a certification. Does having a certification prepare you when you're first getting started in your career? Does it help you stand out from other job applicants? Albert Gareev shares his opinions on what makes a testing certification worthwhile.

Albert Gareev
Hand holding up a light bulb Learning without Asking: Breaking into a New Testing Field

If you're first getting into software testing, or if you've started a new job testing in a different industry, you probably have a lot of questions—about terms and jargon, expectations, requirements, and more. Hopefully your new team will answer some of them, but if you feel like you keep bugging them, there are ways you can learn and discover on your own.

Laura Oniga
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
Dashboard on a computer showing test data results, photo by Carlos Muza Reporting Automated Test Results Effectively

The modern iterative software development lifecycle has developers checking in code to version control systems frequently, with continuous integration handling building and running automated tests at an almost equally fast rate. This can generate an enormous amount of test data. Here’s how you can ensure you are reporting results effectively across your team and realizing all the benefits of that information.

Ajeet Dhaliwal
Icons showing test optimization 5 Ways to Optimize Tests for Continuous Integration

Many teams have existing automated test suites that are not included in a continuous integration program. Maybe the tests take too long to execute, or they are not reliable enough to give accurate results. Here’s how to assess your test suites in terms of value added and time to execute, along with five proven strategies to optimize those suites for CI.

John Ruberto
Two people participating in a code review, photo by Alvaro Reyes Participating in Code Reviews as a Tester

Code reviews are a popular method of catching bugs early in development through peer-reviewing someone’s code. But perhaps more important than catching bugs, these reviews also serve as a chance to see how something is built and have a conversation about it. Because testers question software differently from developers, it’s important that we participate in this knowledge-sharing practice.

Chris Kenst
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
Mushroom cloud explosion How to Ruin Your Behavior-Driven Development Test Scripts

We get it: Writing good, reusable, effective test scripts is hard. It consumes a lot of time and energy, and you have to learn too much about automated testing and test implementation. Just give up and produce some complicated, messy, and ineffective scripts! But why waste time figuring out how to do that on your own? Here are the best practices to ruin your BDD test scripts completely.

László Szegedi

Pages

Upcoming Events

Sep 17
Sep 17
Sep 30
Oct 14