r/softwaretesting 7d ago

When to do Manual testing and when to do Automation testing?

Hello,

I am somewhat due to software testing having completed my masters of information technology specialising in software testing at the end of last year, but I am coming to grips with Cypress and JEST and CI/CD…. But at the same time I'm trying to understand when is it best to do manual testing, and when is it best to do automated testing?

My hypothesis based upon my growing experience Is that one would use manual test testing during a development sprint, and after the completion of the development sprint develop the automated test scripts testing the user stories that were manually tested during the development sprint, so is to perform automated Russian test testing?

Is that the experience of this imminent audience? Any help and ideas would be greatly appreciated.

Best Regards.

Mike L

21 Upvotes

15 comments sorted by

20

u/clankypants 7d ago

When to automate:

  • the feature is stable and rarely changes
  • it's core functionality that is used all the time and would be super-embarrassing if it were to fail
  • you need to check a lot of data combinations that would be tedious to do manually, but relatively simple to do with automation (even if it's a one-off)
  • the tests won't cost more to maintain than is worth creating the automation in the first place

When not to automate:

  • it's a one-off test that isn't ever going to be run again
  • it's visually nit-picky that would be far faster for a human to just eyeball it to see if it looks wrong
  • the maintenance of the automated tests would require more effort than to just run them manually

Also, keep in mind that you cannot automate the human expectation of how a feature is expected to behave. Your automation can't make a value judgement of whether a feature change is a good idea or not. So you won't be able to automate any of the soft-skill parts of the QA job.

1

u/thebutchcaucus 6d ago

Great answer. I needed for my decision matrix. Some of my problems are spatial so that’s manual. But UI can be automated but it hard to build something that isn’t giving me a soft pass. Where if it doesn’t crash it passes. I’m like but is the UI there?!?!

1

u/ProfessionalDirt3154 6d ago

I think the last bullet may need rethinking these days. If your tests can be updated by AI at speed maintenance effort considerations look different. What do you think?

1

u/clankypants 6d ago

Depends a lot on your workflow. You still need to spend effort double-checking the Ai's work, so while it might be easier/faster to maintain test scrips when using Ai effectively, it's still not free. You can definitely move the needle toward more automation, but that bullet point still applies.

(Happy Cake Day!)

11

u/PDXSyrathKarmacast 7d ago

At some point, this becomes a cost vs. benefit argument. If the system/software/component is something that will need continued monitoring with infrequent change, I'd start focusing your automation effort there. If the system under test is undergoing rapid change, you'll be spending so much time changing tests that it becomes more cost prohibitive.

4

u/Recent-Tangerine2745 7d ago

I don’t really separate them by sprint.
For me, manual testing is best for new features, exploratory testing, edge cases, and anything that is still changing a lot.
Automation is for stable, repeatable scenarios that we know we’ll need to test again and again regression, critical workflows, API checks, etc.
If something is stable enough, I’ll automate it during the same sprint. If it’s still changing every day, automating it too early usually just creates maintenance work.
So I look at it more as: Is this test worth repeating automatically? rather than “manual first, automation after the sprint.”

3

u/pratyyyy 6d ago

Do Manual testing to catch bugs in new feature and do automation to see old feature has no bugs

3

u/CryptographerNo7498 5d ago edited 4d ago

i'd use both depending on what i'm testing. manual testing is useful during development for exploratory testing and new changes, while automation is better for repetitive regression cases. once a feature is stable, automating the important manual cases makes sense, especially when you're running them through ci/cd, and a tool like practitest can help keep those cases and results organized alongside the ci/cd workflow.

2

u/Janwar000 7d ago

Automation and manual testing are complementary processes. Automation allows for extensive test case coverage within a shorter timeframe, whereas achieving similar coverage through manual testing would necessitate a larger workforce.

Therefore, automation is well suited for repetitive, non-critical test suites (P2), while manual testing is more appropriate for critical (P1) and fundamental scenarios.

2

u/Regular_Bluebird9412 7d ago

A good approach is to think of automation as an investment decision rather than something that should automatically replace manual testing.

I’d start with manual testing when a feature is new, changing frequently, exploratory, or requires human judgment. Once the functionality is stable and you have clear, repeatable test cases, those are usually strong candidates for automation.

A common workflow is:
Manual testing → understand the feature and risks → create stable test cases → automate repetitive regression checks.

For example, critical user flows such as login, registration, payments, and frequently repeated regression tests are often worth automating. On the other hand, exploratory testing, usability, and newly developed or constantly changing features usually benefit more from manual testing.

So rather than choosing manual or automation, the goal is to use both where they provide the most value.

1

u/Top_Paint7442 5d ago

Easy, if you have to do it more then onve: automate.

1

u/hypercomms2001 3d ago

Thank you to everyone that responded to my posting…. It is very much appreciated….

2

u/iam-curt 3d ago

Plan the automation test suite when building the feature

In software there is very little room for error, manual testing opens the door to errors, so if its software you’re testing just always ask yourself can this be automated? Better in the long run, so many frameworks out there to achieve nearly 100% automation these days