Targeted Regression Testing

Targeted regression testing has literally changed my work life – for the better. I look back on my years of QA experience and kick myself for not learning about and implementing it sooner. Targeted regression testing is still regression testing, but being very specific about what to test.

With targeted regression it’s more of a collaborative effort, at least in my experience. You work closely with the developers to talk about the changes made, what other areas their code might touch/impact. If say, a search filter is changed on one page I make sure to ask about all of the other search filters in the application, and how results are displayed. If the answer isn’t a solid, “no, it wasn’t touched/impacted,” and is instead an “it shouldn’t be” I test it.

I pitched targeted regression after talking to an old co-worker about how long regression testing was taking. My boss was game to try it, and then we were trying to implement it. I won’t lie, going from regression testing where I was testing all the things and it would take days, or weeks, to targeted regression was really, really hard for me. I am a perfectionist, and was so worried I’d miss something. And, this meant I had to really trust my developers. I did trust them, but this was trusting them with what was touched by their changes, and if they were wrong or unsure it could lead to bugs not being caught, not just trusting them to write their code, us finding bugs, the bugs getting fixed, then us deploying. It sounds stupid, I know, but I take a lot of pride in my work and rarely have bugs in releases that weren’t caught prior with the business deciding to move forward anyway, and letting a bit of that security of testing all of the things go was hard.

After a couple of months though, I was much more comfortable with trusting and relying on others. We’d both learned to trust each other more – my developers that I was asking these questions not to second guess them, but to ensure I understood more fully what to test. These were questions I always asked, but they now had more weight, and I’d push back when I was told “I don’t know,” asking them if they could check. So, they had to trust that I wasn’t trying to waste their time, and I had to trust that they weren’t just giving me answers to placate me or to blow me off (which had happened in the past, as they knew I’d just test everything anyway, and we rarely had bugs go out that weren’t caught previously, so why did it matter?). During this transition our Dev-Ops team was also working on our CI/CD pipeline – once we got into a good flow though, we went from releasing once every few weeks (if we were lucky, mostly due to QA being a blocker with having to regression test the entire app) to releasing multiple times a day.

This is the test we talked about in our regression testing post, for the header being changed and the login:

  • Login still works
  • Logout still works
  • Password reset still works
  • Signing up for a new account still works
  • Deactivating an account still works
  • Validation around logging in with incorrect information – do you get locked out? Do you get an email for failed login attempts, etc?
  • For the header image when you login, is it the same image for new and old accounts?
  • If you’ve saved your login and are always signed in, does the new header show up on your next visit to Facebook, or do you have to refresh or clear cache and cookies?
  • Does the header persist past the home page? Should it?
  • Can you still make posts, comments, likes, etc?
  • Do your saved favorites and such, that appear on the left of the screen under the header, still work?
  • Happy path through basic functionality once logged in
  • Anything that has a history of being finicky and breaking even when I’m told it wasn’t touched

For targeted regression, if my developers told me that literally, just the login screen changed (wording, a button, something like that just for logging in, but no functionality), and that the header text changed on the home page once logged in, my targeted regression test would look something like this instead.

  • Login still works
  • Logout still works
  • Password reset still works
  • Signing up for a new account still works
  • Deactivating an account still works
  • Validation around logging in with incorrect information – do you get locked out? Do you get an email for failed login attempts, etc?
  • For the header image when you login, is it the same image for new and old accounts?
  • If you’ve saved your login and are always signed in, does the new header show up on your next visit to Facebook, or do you have to refresh or clear cache and cookies?
  • Does the header persist past the home page?
  • Can you still make posts, comments, likes, etc?
  • Do your saved favorites and such, that appear on the left of the screen under the header, still work?
  • Happy path through basic functionality once logged in
  • Anything that has a history of being finicky and breaking even when I’m told it wasn’t touched

2 comments On Targeted Regression Testing

Leave a reply:

Your email address will not be published.

Site Footer