Friday, July 4, 2025

Automation vs Manual Testing: When to Choose What?

Automation vs Manual Testing: When to Choose What?

In software testing, choosing between manual and automation testing is crucial for delivering quality products efficiently. Each has its strengths and limitations. So, when should you go manual, and when should you automate?

This post helps you understand when to use which, with real-world examples, pros and cons, and decision criteria.

What is Manual Testing?

Manual testing means executing test cases manually without any automation tools. Testers validate the application behaviour step-by-step.

Best For:

  • Exploratory Testing
  • Usability/UX Testing
  • Short-term projects
  • Ad-hoc or one-time tests

What is Automation Testing?

Automation testing uses tools and scripts to automatically run test cases. It is faster, repeatable, and ideal for large-scale testing.

Best For:

  • Regression Testing
  • Performance Testing
  • Load Testing
  • Frequent test executions

Manual vs Automation Testing Comparison

Feature Manual Testing Automation Testing
Speed Slow, human-driven Fast, machine-driven
Accuracy May have human errors High consistency
Cost Low initial investment High initial setup cost
Maintenance None Script maintenance needed
Best For UI, exploratory, ad-hoc Regression, load, smoke

When to Choose Manual Testing

  • For short-term or one-time projects
  • When testing UI and user experience
  • For ad-hoc or exploratory testing
  • When the automation setup is not worth it

When to Choose Automation Testing

  • For regression testing on stable features
  • For frequent or repetitive testing
  • To test with large datasets
  • To integrate with CI/CD pipelines

Real Examples

Manual Testing Example: Testing a new gift wrapping feature in an e-commerce app – requires human validation.

Automation Example: Automating login, checkout, and payment – critical, repeatable flows.

Best Strategy: Combine Both

Manual testing is great for early development, usability, and exploration. Automation testing is best for speed, accuracy, and scale. Together, they provide complete test coverage.

Summary Table

Scenario Recommended
First-time testing of new features Manual
Testing core flows frequently Automation
Testing visual appearance Manual
Testing across many datasets Automation

Conclusion

Use manual testing for flexibility and human insight. Use automation testing for speed and reliability. A smart combination ensures software quality and faster releases.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Thursday, July 3, 2025

Daily Routine of a QA Tester in a Product Company

๐Ÿ—“️ Daily Routine of a QA Tester in a Product Company

In a product-based company, QA testers play a key role in ensuring the stability, performance, and usability of the product. Unlike service-based projects, where tasks vary by client, product teams have ongoing feature updates, version releases, and regression cycles.


⏰ Typical Daily Schedule (9:30 AM – 6:30 PM)

Time Activity
9:30 AM – 10:00 AMEmail & Bug Tracker Check
10:00 AM – 10:30 AMDaily Stand-up Meeting
10:30 AM – 12:30 PMTest Case Execution / Retesting
12:30 PM – 1:30 PMLunch Break
1:30 PM – 3:00 PMFeature Testing / Exploratory Testing
3:00 PM – 4:00 PMBug Reporting & Documentation
4:00 PM – 5:30 PMRegression/Automation/Smoke Tests
5:30 PM – 6:00 PMSync with Dev Team
6:00 PM – 6:30 PMPlanning Tomorrow’s Tasks

๐Ÿ”ง Tools Commonly Used

Purpose Tools
Bug TrackingJira, Bugzilla, GitHub Issues
Test Case ManagementTestRail, Zephyr, Xray
AutomationSelenium, TestNG, Maven
API TestingPostman, Swagger
Performance TestingJMeter
CI/CDJenkins, GitLab CI
Version ControlGit, GitHub, GitLab

๐Ÿ‘จ‍๐Ÿ’ป Real-World Task Examples

  • ✅ Retest Bug #456 on staging (Change Password issue)
  • ๐Ÿงช Execute API Test Cases for "Add Product"
  • ๐Ÿ› Raise new bug: "Search function returns blank results"
  • ๐Ÿ” Run regression suite after a code push
  • ๐Ÿ“ˆ Share daily test report in Slack/Teams

๐Ÿ’ก Best Practices QA Testers Follow Daily

  • Update test case status regularly (Pass/Fail/Blocked)
  • Verify logs during bug investigation
  • Communicate clearly with devs using reproducible bug steps
  • Use data-driven testing for forms and filters
  • Track metrics like bugs found/fixed per sprint
  • Participate in sprint planning & retrospectives

๐Ÿง˜‍♂️ Optional Additions (Team Dependent)

  • Attend UX feedback or design review calls
  • Join the release deployment validation
  • Create scripts for generating test data
  • Conduct a peer review of test cases
  • Help onboard junior QAs or interns

๐Ÿ“Œ Summary

A QA tester’s daily routine is a combination of:

  • Structured testing (manual, automation, API)
  • Exploratory analysis (to find edge-case bugs)
  • Collaboration with Dev, PM, Design, and Product
  • Tool usage for CI/CD, versioning, bug reporting, and validation

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Regression Testing vs Retesting – What’s the Difference?

๐Ÿ” Regression Testing vs Retesting – What’s the Difference?


๐Ÿ”น What is Regression Testing?

Definition: Regression testing is performed to verify that existing functionality still works after changes like bug fixes, enhancements, or code updates.

Purpose: To ensure that new code changes have not unintentionally broken existing features.

Example: A bug in the login module is fixed. After the fix, regression testing will check login, signup, and dashboard access—all related modules—to confirm that nothing else is broken.

๐Ÿ”น What is Retesting?

Definition: Retesting is performed to verify that a specific bug fix works correctly using the same test case that initially failed.

Purpose: To confirm that the reported defect has been successfully fixed.

Example: If the "Submit" button didn’t work during the last test cycle and a fix was made, retesting involves checking that exact scenario again to verify that the bug is resolved.

๐Ÿ†š Key Differences Between Regression Testing and Retesting

Criteria Regression Testing Retesting
Definition Testing to confirm that new changes haven’t broken existing features Testing to confirm a specific bug has been fixed
Test Case Used Reusable old test cases Same test case that failed earlier
Scope Broad – covers multiple related modules Narrow – focuses only on the fixed defect
Execution Can be automated Usually manual (critical checks)
Priority After every build or code change After a particular defect is fixed
Objective Find side effects of changes Verify that the fix works correctly
Dependency Can be performed even if no bugs are found Performed only when a bug is reported and fixed

๐Ÿงช Real-World Example

Scenario: A defect was found where the "Change Password" button was not working.

  • Retesting: Check only the "Change Password" feature to verify the bug is fixed.
  • Regression Testing: Check "Change Password", "Update Profile", "Login", "Logout"—all related user settings to ensure nothing else broke due to the fix.

✅ When to Use

Situation Use
You fixed a known bug ✅ Retesting
You added a new feature or updated the codebase ✅ Regression Testing
Before a release or sprint demo ✅ Regression Testing
Verifying if a previously failed test now passes ✅ Retesting

๐Ÿ“Œ Conclusion

Retesting is about checking the fix.

Regression Testing is about checking the impact of the fix.

Both are essential for quality assurance. Retesting ensures bugs are fixed; regression ensures new bugs aren’t introduced.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Tuesday, July 1, 2025

Top 10 Manual Testing Scenarios Every Fresher Should Know

1️⃣ Login Functionality

Why it matters: Login pages are everywhere. Testing this helps ensure only valid users gain access.

  • Valid login with correct credentials
  • Log in with incorrect email/password
  • Blank email and password fields
  • Password masked while typing
  • “Remember Me” checkbox works properly

2️⃣ Registration Page

Why it matters: Sign-up forms are critical for user onboarding. Errors here could stop users from joining.

  • All mandatory fields checked
  • Email format validation
  • Password and Confirm Password match
  • Error message on existing email
  • Terms and conditions checkbox behaviour

3️⃣ Search Functionality

Why it matters: Good search features improve user experience and data discovery.

  • Search with a valid keyword returns results
  • Search with no keyword shows a message
  • Special characters handled correctly
  • Auto-suggestions work (if enabled)

4️⃣ Form Validation

Why it matters: Ensures data is captured correctly and safely before submission.

  • Mandatory fields cannot be skipped
  • Validations like email, phone number, etc.
  • Field limits and special character restrictions
  • Error messages are shown correctly

5️⃣ Add to Cart (e-Commerce)

Why it matters: For shopping applications, testing cart behaviour is critical.

  • Product added to cart successfully
  • Quantity updated correctly
  • Cart total updates automatically
  • Removing an item reflects immediately

6️⃣ Payment Gateway Testing

Why it matters: Payments are sensitive. Even minor issues can cost customers.

  • Valid credit/debit card payment success
  • Invalid card info shows proper error
  • Payment cancellation redirects properly
  • The transaction summary appears after success

7️⃣ Profile Management

Why it matters: Users expect to manage their profiles without bugs.

  • Edit profile data and save successfully
  • Blank or invalid data validation
  • Profile image upload works
  • Success and error messages display properly

8️⃣ File Upload and Download

Why it matters: A Common feature in resumes, reports, and certificates.

  • Upload supported file types only (e.g., .jpg, .pdf)
  • File size limit enforced
  • Download starts automatically or shows a preview
  • Security validation to prevent malicious uploads

9️⃣ Logout and Session Expiry

Why it matters: Essential for account security and user control.

  • The user should log out and be redirected to the login page
  • Session timeout after inactivity
  • Accessing the URL after logging out should show that the session has expired

๐Ÿ”Ÿ UI & Responsiveness Testing

Why it matters: First impression matters. The app must look and work great on all devices.

  • UI aligned properly (buttons, input fields, etc.)
  • Page loads correctly on different screen sizes
  • Mobile menu toggles work
  • No overlapping or cut text

๐Ÿ’ก Pro Tip:

Use a test case format to write these scenarios clearly. Include:

  • Test Case ID
  • Title
  • Steps
  • Test Data
  • Expected Result
  • Status (Pass/Fail)

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

How to Write Effective Test Cases – Real-time Examples Included

In this post, I’ll guide you step-by-step on how to write clear, reusable, and practical test cases, along with real-time examples and templates.


๐Ÿ“Œ What Is a Test Case?

A test case is a set of actions executed to verify a particular feature or functionality of your software application. Each test case includes test steps, expected results, inputs, and actual results.

๐ŸŽฏ Why Are Effective Test Cases Important?

  • ✅ Ensure coverage of all scenarios
  • ✅ Help developers understand the issue clearly
  • ✅ Speed up test execution and defect tracking
  • ✅ Make regression testing easier
  • ✅ Useful for training and future references

๐Ÿงฉ Components of a Good Test Case

Field Description
Test Case ID Unique identifier (e.g., TC_UI_001)
Test Case Title Short, meaningful description
Pre-Conditions Conditions that must be met before execution
Test Steps Clear steps to perform the test
Test Data Input data needed for the test
Expected Result What should happen after execution
Actual Result What actually happened
Status Pass / Fail / In Progress
Remarks Notes, screenshots, or references

๐Ÿ“˜ Real-Time Example: Login Functionality

Requirement: The User should be able to log in using a valid email and password. If credentials are invalid, show an error message.

✅ Test Case 1: Valid Login

  • Test Case ID: TC_LOGIN_001
  • Title: Login with valid credentials
  • Pre-Condition: User already has a registered account
  • Test Steps:
    1. Go to the Login page
    2. Enter a valid email
    3. Enter a valid password
    4. Click Login
  • Test Data: Email: user@example.com | Password: 123456
  • Expected Result: User should be redirected to the Dashboard
  • Actual Result: (To be filled after testing)
  • Status: Pass/Fail
  • Remarks: Screenshot attached if it failed

❌ Test Case 2: Invalid Password

  • Test Case ID: TC_LOGIN_002
  • Title: Login with invalid password
  • Pre-Condition: User already has a registered account
  • Test Steps:
    1. Go to the Login page
    2. Enter a valid email
    3. Enter the wrong password
    4. Click Login
  • Test Data: Email: user@example.com | Password: wrong123
  • Expected Result: Error message: "Invalid credentials"
  • Actual Result: (To be filled after testing)
  • Status: Pass/Fail

๐Ÿšซ Test Case 3: Blank Fields

  • Test Case ID: TC_LOGIN_003
  • Title: Login with blank email and password
  • Pre-Condition: None
  • Test Steps:
    1. Go to the Login page
    2. Leave email & password blank
    3. Click Login
  • Expected Result: Validation error messages displayed
  • Actual Result: (To be filled after testing)
  • Status: Pass/Fail

✅ Tips for Writing Better Test Cases

  • ✅ Keep test case steps simple and clear
  • ✅ Use consistent naming conventions
  • ✅ Focus on one functionality per test case
  • ✅ Include positive & negative test scenarios
  • ✅ Update your test cases regularly
  • ✅ Add screenshots or references if needed
  • ✅ Avoid repetition – use shared preconditions

๐Ÿงช Additional Scenarios to Cover (Same Login Module)

  • Log in with an unregistered email
  • Log in with SQL injection attempt
  • The login button is disabled without input
  • Login page responsiveness on mobile
  • Session timeout after login

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.