top of page

How to Decide If a Test Case Should Be Automated or Manually Tested: A Guide for SDETs

As an SDET (Software Development Engineer in Test), you must decide which tests should be automated and which should be tested manually. Not all tests are worth automating; choosing the right approach can save time and make your software more reliable.


In this guide, we’ll explain the main points to consider when deciding, using easy-to-understand examples like logging in, checking out, and more.


1. Frequency

  • Automate: Automate tests that are run frequently or regularly, like tests for important features used in every release.

    • Example: Login with valid credentials is a great test to automate. This is a key feature that must work every time. Automating it saves time and ensures it’s tested consistently.

  • Manual: If a test is only run once or rarely, it's better to test it manually.

    • Example: Setting up the system for the first time on a new server. This is usually done only once, so manual testing is enough.


2. Stability

  • Automate: Automate tests that are complex but stable, meaning the feature doesn’t change a lot.

    • Example: The checkout process with valid payments in an online store. It’s complicated but important to get right every time. Automating it ensures it works smoothly after every update.

  • Manual: If the feature changes frequently, manual testing is better. You don’t want to waste time updating automated scripts all the time.

    • Example: Testing a new recommendation feature on a website. The way recommendations work might change a lot in the beginning, so testing manually allows quick checks without redoing automation scripts.


3. Test Data

  • Automate: Automate tests where the data is easy to set up and reuse.

    • Example: Testing coupon codes during checkout. You can automate the process of applying a coupon code and checking if the discount works properly.

  • Manual: If the data is very complex or changes a lot, it’s often easier to test manually.

    • Example: Verifying personalized content on a dashboard. Since every user might see different data, setting this up for automation could be too difficult or unreliable.


4. Human Judgment

  • Automate: Automate simple UI actions that don’t need human judgment, like form submissions or button clicks.

    • Example: Testing form validation on a sign-up page. You can automate the process of filling out the form and checking for errors.

  • Manual: If the test needs human judgment, like how a page looks or feels, manual testing is necessary.

    • Example: Checking how a product page looks. Testing the visual design and layout requires a human to make sure everything looks good and feels right.


5. Risk and Business Impact

  • Automate: Automate tests for high-risk, business-critical features that need to work every time.

    • Example: Payment processing in an online store. Automating the payment tests ensures that this important feature is working correctly in every release.

  • Manual: If the feature has a low risk and doesn’t impact the business much, it can be tested manually.

    • Example: Updating user roles in an admin panel. Since this is not used often, manual testing is enough.


6. Repetitiveness

  • Automate: Automate tests that need to be repeated in different conditions, like testing across multiple browsers or devices.

    • Example: Cross-browser testing for login functionality. You can automate the login test and run it on Chrome, Firefox, and Safari to ensure compatibility without manually testing on each one.

  • Manual: If the test only needs to be run once or very rarely, manual testing makes more sense.

    • Example: Testing a one-time promotional campaign. If the feature is only temporary, there’s no need to spend time automating it.


As an SDET, it’s important to balance automation and manual testing. Automate tests that are repeated often, have high business impact, and are stable. Manual testing is best for visual design, dynamic data, and one-time tests. By thinking about these factors, you can create an efficient testing strategy that saves time and improves quality.

0 views0 comments
bottom of page