MENU

Saturday, 28 June 2025

 Introduction:

  • Start with the common pain point in test automation: flaky tests due to unreliable locators.

  • Introduce Playwright as a modern tool designed to tackle this, emphasizing its "Web-First Assertions" and powerful auto-waiting.

  • Thesis: Playwright's "inbuilt" or "semantic" locators are a game-changer for building robust, readable, and maintainable automation scripts by mimicking how users perceive elements.

Section 1: The Problem with Traditional Locators (A Quick Recap)

  • Briefly touch upon why reliance on fragile CSS classes, deep XPaths, or dynamic IDs leads to flaky tests and maintenance nightmares.

  • Highlight the "what if the developer changes the ID?" scenario.

Section 2: Playwright's Philosophy: Locating Elements Like a User

  • Explain Playwright's core idea: locators should reflect how a human or an accessibility tool would identify an element.

  • Introduce the concept of "auto-waiting" and how inbuilt locators benefit from it, reducing explicit waits.

Section 3: Diving Deep into Playwright's Inbuilt Locators (page.getBy...())

  • For each of the following, provide:

    • Description: What it does and its core strength.

    • When to Use It: Ideal scenarios.

    • Example Code Snippet: Simple, clear usage.

    • Benefits: Why it's more robust/readable.

    1. page.getByRole():

      • Focus on ARIA roles and their importance for accessibility and stability.

      • Mention name option (accessible name).

      • Example: Buttons, textboxes, checkboxes.

    2. page.getByText():

      • Emphasize matching visible text, user-facing content.

      • Mention exact option and regex.

      • Example: Headings, paragraphs, button text.

    3. page.getByLabel():

      • Highlight its use for form controls and association with <label> tags.

      • Example: Input fields, select dropdowns.

    4. page.getByPlaceholder():

      • Specific to input/textarea elements with placeholder text.

      • Example: Search bars, login fields.

    5. page.getByAltText():

      • Crucial for images and accessibility.

      • Example: Logos, product images.

    6. page.getByTitle():

      • For elements with a title attribute (often tooltips).

      • Example: Icons with descriptive titles.

    7. page.getByTestId():

      • Advocate for custom data-testid attributes as the most stable, testing-specific locator.

      • Explain how to configure testIdAttribute.

      • Example: Any element with a dedicated test ID.

Section 4: Combining and Refining Locators for Precision

  • Briefly show how to chain these inbuilt locators or use them with locator() for more specific targeting (e.g., finding a button within a specific section).

  • Mention has and has_text options for locator() for filtering.

Section 5: When to (Reluctantly) Use Traditional Locators

  • Acknowledge that sometimes you still need CSS or XPath.

  • Provide examples of when they might be necessary (e.g., no semantic alternative, very specific attribute combinations).

  • Strong Caution: Reiterate that these should be a last resort and used with extreme care due to fragility.

Section 6: Best Practices for Robust Locators in Playwright

  • Prioritize getBy...() methods.

  • Encourage collaboration with developers to add data-testid attributes.

  • Avoid brittle CSS/XPath.

  • Keep locators concise and readable.

  • Leverage Playwright's Inspector and Codegen for locator discovery.

Conclusion:

  • Summarize the power of Playwright's inbuilt locators in creating stable, human-readable, and maintainable automation suites.

  • Reiterate that adopting these strategies is a key step towards building truly robust test automation frameworks.

  • Call to action: "Which of Playwright's inbuilt locators do you find most useful? Share your tips for finding robust elements in the comments!"


This outline will result in a comprehensive and very practical blog post for your audience. Now, to start writing the blog, I'll generate search queries to gather any specific examples or the latest best practices on Playwright's getBy locators. Fantastic! I've gathered the necessary information. Here's the blog post on Playwright's inbuilt locators:


Mastering Playwright's Inbuilt Locators: Writing Robust and Readable Automation Tests

In the fast-paced world of web development, applications are increasingly dynamic, with elements appearing, disappearing, and changing their properties on the fly. This dynamism often leads to a common headache for automation engineers: flaky tests. A major culprit? Unreliable element locators.

Traditional automation tools often force you to rely on brittle CSS selectors or complex XPaths that are tightly coupled to the application's internal DOM structure or styling. The moment a developer changes a class name for a new theme, or refactors a component, your tests break, leading to frustrating maintenance efforts.

Enter Playwright. As a modern browser automation library, Playwright was designed from the ground up to tackle these challenges. A cornerstone of its robustness lies in its intelligent "inbuilt" or "semantic" locators, which, combined with its powerful auto-waiting mechanism, allow you to write tests that are not just efficient, but remarkably stable and human-readable.

The Problem with Traditional Locators (A Quick Recap)

Consider a simple login button. You might locate it using:

  • CSS Selector: button.login-btn

  • XPath: //div[@id='loginForm']/button[contains(text(), 'Login')]

What happens if:

  • The login-btn class is changed to auth-button for styling?

  • The loginForm div's ID changes, or its position in the DOM shifts?

  • The button text changes slightly (e.g., from "Login" to "Sign In")?

Your tests would fail, even though the user's interaction with the button remains the same. This constant battle with broken locators drains valuable time and trust in your automation suite.

Playwright's Philosophy: Locating Elements Like a User

Playwright flips the script. Its core philosophy is that tests should mimic how a user interacts with the application. Users don't care about CSS classes or internal IDs; they care about what they see and do. They interact with buttons that say "Submit," input fields labeled "Username," or images with "Company Logo" as their alternative text.

Playwright's "inbuilt" locators are designed precisely for this. They prioritize user-facing attributes and accessibility roles, making your tests inherently more resilient to internal application changes. Crucially, when you use these locators for actions (like clicking or filling), Playwright automatically waits for the element to become "actionable" (visible, enabled, stable, and able to receive events), further reducing flakiness.

Diving Deep into Playwright's Inbuilt Locators (page.getBy...())

Playwright provides a dedicated set of page.getBy...() methods. These are your go-to for finding elements:

  1. page.getByRole(role, options?)

    • Description: Locates elements based on their ARIA (Accessible Rich Internet Applications) role. This is incredibly powerful as roles define the purpose of an element for assistive technologies and are usually very stable.

    • When to Use It: Best for interactive elements.

    • Example:

      Python
      # Locate a button with the accessible name 'Submit'
      await page.getByRole('button', name='Submit').click()
      # Locate a textbox labeled 'Username'
      await page.getByRole('textbox', name='Username').fill('testuser')
      
    • Benefits: Highly robust, aligns with accessibility best practices, and works even with implicit roles (e.g., a <button> tag automatically has role="button").

  2. page.getByText(text, options?)

    • Description: Finds an element by its visible text content. This is straightforward and very effective for any element displaying user-readable text.

    • When to Use It: Headings, paragraphs, button text, link text.

    • Example:

      Python
      # Locate a paragraph containing the text 'Welcome to our app!'
      await page.getByText('Welcome to our app!').isVisible()
      # Locate a link with exact text 'Learn More' (case-insensitive)
      await page.getByText('Learn More', exact=True, ignore_case=True).click()
      # Using a regular expression for partial or flexible matches
      await page.getByText(r'^(P|p)roduct\sDetails$', re.IGNORECASE).click()
      
    • Benefits: Intuitive, resilient to structural changes, and reflects how a user would identify content.

  3. page.getByLabel(text, options?)

    • Description: Locates a form control (like an <input>, <textarea>, or <select>) by the text of its associated <label> element.

    • When to Use It: Forms with properly associated labels.

    • Example:

      Python
      # Find the input field associated with the label 'Email Address'
      await page.getByLabel('Email Address').fill('user@example.com')
      
    • Benefits: Very robust for forms, as labels are user-facing and often stable.

  4. page.getByPlaceholder(text, options?)

    • Description: Locates <input> or <textarea> elements based on their placeholder attribute's text.

    • When to Use It: Input fields that provide placeholder hints to the user.

    • Example:

      Python
      # Locate an input with the placeholder 'Search products...'
      await page.getByPlaceholder('Search products...').fill('laptop')
      
    • Benefits: Simple and clear for specific input fields.

  5. page.getByAltText(text, options?)

    • Description: Finds an <img> or <area> element based on its alt attribute text. This is crucial for image-heavy applications and accessibility testing.

    • When to Use It: Logos, product images, icons with meaningful alt text.

    • Example:

      Python
      # Verify the company logo is visible
      await page.getByAltText('Company Logo').isVisible()
      
    • Benefits: Ensures your tests cover the visual and accessible aspects of images.

  6. page.getByTitle(text, options?)

    • Description: Locates an element based on its title attribute, which typically appears as a tooltip on hover.

    • When to Use It: Icons or elements providing supplementary information via tooltips.

    • Example:

      Python
      # Click an icon that shows 'Delete Item' on hover
      await page.getByTitle('Delete Item').click()
      
    • Benefits: Directs interaction based on informational attributes.

  7. page.getByTestId(testId, options?)

    • Description: This is often considered the most robust locator. It targets elements using a custom data-* attribute (e.g., data-testid, data-qa) added by developers specifically for automation.

    • When to Use It: Ideal for almost any element where you need ultimate stability and can coordinate with development.

    • Configuration: You can configure which attribute Playwright should use as the testIdAttribute (e.g., in playwright.config.ts if using TypeScript/JavaScript, or in your setup for Python).

      Python
      # If your config sets testIdAttribute to 'data-automation-id'
      # <button data-automation-id="login-button">Login</button>
      await page.getByTestId('login-button').click()
      
    • Benefits: Unaffected by styling or content changes, provides clear intent, and promotes good developer-tester collaboration.

Combining and Refining Locators for Precision

While getBy...() methods are powerful, Playwright also allows you to combine them or refine your search:

  • Chaining Locators: You can chain locator() calls to narrow down the search context, similar to building a precise path.

    Python
    # Find a 'Sign In' button specifically within the login form
    await page.locator('#loginForm').getByRole('button', name='Sign In').click()
    
  • Filtering with has and has_text: The locator() method offers powerful has= and has_text= options to filter a set of elements.

    Python
    # Find a list item that contains the text 'Product A'
    await page.locator('li', has_text='Product A').click()
    # Find a card that contains an h2 with 'Item Details'
    await page.locator('.product-card', has=page.getByRole('heading', name='Item Details')).isVisible()
    

When to (Reluctantly) Use Traditional Locators

Despite the power of getBy...() methods, there might be rare cases where you need to fall back to traditional CSS selectors or XPath.

  • CSS Selectors (page.locator('#id'), page.locator('.class')): Useful for elements with stable, unique IDs or very specific, non-volatile class names. Generally faster than XPath.

  • XPath (page.locator('//div[@id="someId"]')): The most flexible, capable of traversing complex DOM structures or finding elements by attributes/text not easily accessible otherwise.

Strong Caution: Use these as a last resort. They are more prone to breaking with UI changes. Always prioritize Playwright's inbuilt locators first.

Best Practices for Robust Locators in Playwright

  1. Prioritize getBy...() Methods: Make these your default for locating elements.

  2. Collaborate on data-testid: Work with your development team to embed data-testid attributes in the application's HTML, making your tests incredibly stable.

  3. Avoid Brittle Locators: Steer clear of long, fragile CSS paths or deeply nested XPaths that are susceptible to minor DOM changes.

  4. Keep Locators Concise: Shorter, more readable locators are easier to understand and maintain.

  5. Leverage Playwright's Tooling: Use the Playwright Inspector (npx playwright test --ui or page.pause()) and Codegen (npx playwright codegen) to explore elements and generate robust locators.

Conclusion

Playwright's inbuilt locators are a game-changer for writing resilient, readable, and maintainable automation tests. By embracing these semantic, user-facing strategies, you can significantly reduce test flakiness, speed up debugging, and ensure your test suite remains a reliable safety net for your application. Moving beyond traditional selectors and adopting Playwright's modern approach is a key step towards mastering web test automation.

 Hello Testers and Future QA Experts! ๐Ÿ‘‹



Welcome to QA Cosmos – a simple, helpful, and practical blog built just for you.

If you're someone who wants to learn software testing, prepare for interviews, explore automation tools like Selenium and Playwright, or grow your QA career you're in the right place.

๐Ÿ” What You’ll Find on QA Cosmos:

✅ Step-by-step tutorials on Manual Testing
✅ Real-world examples and guides for Selenium and Playwright
✅ Common and advanced QA Interview Questions
✅ Tools for bug tracking, test cases, and more
✅ Career guidance and learning tips for QA professionals

We focus on easy languagepractical content, and genuine learning — perfect for both beginners and experienced testers.


๐Ÿ“ข Why Follow QA Cosmos?

Because QA Cosmos is made by testers, for testers. Our content is simple, clear, and based on real industry experience. We're here to help you grow your skills, confidence, and career.


๐Ÿช„ Stay Connected

๐Ÿ”ธ Bookmark the site: qacosmos.blogspot.com
๐Ÿ”ธ Share our posts on LinkedIn, WhatsApp, and Telegram
๐Ÿ”ธ Comment below posts and let us know your doubts or questions


๐Ÿ’ก Let’s grow and test together.
Happy Testing!

— QA Cosmos Team 

 

๐Ÿ“˜ Manual Testing Basics – A Beginner’s Guide



By QA Cosmos | Updated: June 2025


๐Ÿ” What is Manual Testing?

Manual Testing is the process of testing software manually — without using automation tools — to find defects or ensure the system behaves as expected.

A manual tester acts as an end-user, checking each feature, clicking buttons, entering inputs, and validating outputs to ensure the application works correctly.


๐Ÿง  Why is Manual Testing Important?

  • ๐Ÿงช It catches usability issues that automation might miss.

  • ๐Ÿ•ต️ It allows human judgment and exploratory testing.

  • ๐Ÿงฐ It's the foundation before introducing automation.

  • ๐Ÿ’ฌ Critical for UI/UX feedback, especially in early stages.


๐Ÿงพ Key Concepts in Manual Testing

1️⃣ SDLC vs. STLC

  • SDLC (Software Development Life Cycle): Focuses on how software is developed.

  • STLC (Software Testing Life Cycle): Focuses on how testing is planned, executed, and closed.

2️⃣ Test Case

test case is a step-by-step instruction to verify a feature. It includes:

  • Test Case ID

  • Description

  • Steps to Execute

  • Expected Result

  • Actual Result

  • Pass/Fail Status

3️⃣ Bug/Defect

When the actual result doesn't match the expected result, it’s logged as a bug or defect.


๐Ÿ” Manual Testing Process (Step-by-Step)

  1. ๐Ÿ“„ Understand Requirements

  2. ๐Ÿงช Write Test Scenarios and Test Cases

  3. ⚙️ Set up Test Environment

  4. ▶️ Execute Tests Manually

  5. ๐Ÿž Log Bugs in a Bug Tracking Tool (e.g., Jira, Bugzilla)

  6. ๐Ÿ” Re-test and Close Bugs


๐Ÿงฐ Common Tools for Manual Testing

ToolPurpose
JIRABug & task tracking
TestLinkTest case management
Excel/SheetsLightweight test planning
Browser DevToolsInspecting HTML, logs

๐Ÿ‘ฉ‍๐Ÿ’ป Skills Every Manual Tester Should Have

  • ๐Ÿ” Attention to Detail

  • ๐Ÿง  Analytical Thinking

  • ✍️ Test Documentation Skills

  • ๐Ÿ“ข Communication (for reporting bugs clearly)

  • ๐ŸŽฏ Basic Understanding of Web & Mobile Applications


๐Ÿ’ก Real-Life Example

Scenario: You’re testing a login form.
Test Case:

  • Enter correct username and password → Expected: User logs in

  • Leave both fields empty → Expected: Show validation errors

  • Enter wrong credentials → Expected: Show "Invalid credentials"

You do all these manually — click by click, screen by screen.


๐ŸŽฏ Final Thoughts

Manual testing may seem simple, but it's the core of quality assurance. It helps uncover subtle UI/UX flaws, validate business logic, and ensure the product works for real users.

If you're just starting your QA journey — mastering manual testing is the first step toward becoming a great software tester.


๐Ÿ“š Coming Up Next on QA Cosmos:

  • ✨ Writing Effective Test Cases

  • ⚙️ Difference Between Manual & Automation Testing

  • ๐Ÿž How to Report a Bug Like a Pro

  • ๐Ÿ’ผ Top Manual Testing Interview Questions


๐Ÿ’ฌ Have questions or want us to cover a specific topic? Let us know in the comments below!


Would you like me to create blog posts for the next topics too (like Automation Testing, Bug Life Cycle, or Test Case design)

 

Software Testing in 2025: Trends, Tools & Career Guide



Software testing is evolving faster than ever in 2025. With the rise of Agile, DevOps, and AI-powered tools, QA engineers are now expected to be versatile, tech-savvy, and proactive. Whether you're a beginner or a seasoned tester, staying updated with the latest tools, trends, and best practices is critical for success.

In this blog, we’ll explore everything you need to thrive in the world of software testing today: from manual and automation testing to tools, certifications, career roadmaps, and even the impact of AI.


✨ What's Covered

  • Top Interview Questions (Manual Testing)

  • In-Demand Testing Tools (Manual + Automation)

  • Best Practices Every Tester Should Follow

  • Must-Have Certifications

  • Interview Prep: Fresher vs. Experienced

  • Career Path: Manual to Automation

  • How AI is Changing Testing

  • Test Case & Bug Report Templates

  • Bonus: Uncommon Interview Questions


๐Ÿ“ˆ 50 Common Manual Testing Interview Questions

  1. What is software testing?

  2. Difference between QA and QC?

  3. What is STLC?

  4. Define black-box and white-box testing.

  5. What is regression testing?

  6. What is smoke testing?

  7. What is sanity testing?

  8. What is exploratory testing?

  9. Write a sample test case for a login page.

  10. Difference between verification and validation.

  11. What is UAT?

  12. Severity vs Priority.

  13. What is a bug lifecycle?

  14. How do you report bugs?

  15. What is test coverage?

  16. Types of software testing?

  17. Agile vs Waterfall testing.

  18. What is boundary value analysis?

  19. What is equivalence partitioning?

  20. What are exit and entry criteria?

  21. What is a test plan?

  22. What is a test strategy?

  23. What is test scenario?

  24. What is a test case?

  25. What is defect leakage?

  26. How do you handle flaky test cases?

  27. What tools have you used for bug tracking?

  28. What is cross-browser testing?

  29. What is localization testing?

  30. Explain a situation where you found a critical bug.

  31. What is integration testing?

  32. What is acceptance testing?

  33. Explain alpha and beta testing.

  34. What is performance testing?

  35. What is load testing?

  36. What is stress testing?

  37. What is test data?

  38. What is API testing?

  39. How do you prioritize test cases?

  40. What are test metrics?

  41. What is a traceability matrix?

  42. Have you used SQL in testing?

  43. How do you estimate test effort?

  44. What is risk-based testing?

  45. What is an ad hoc test?

  46. What is defect density?

  47. What is configuration management?

  48. What is usability testing?

  49. What is system testing?

  50. What are the challenges you faced in testing?


๐Ÿ”ง In-Demand Testing Tools (Manual + Automation)

CategoryTools
ManualTestRail, Zephyr, TestLink, JIRA
Automation (Web)Selenium, Playwright, Cypress
MobileAppium, Espresso, XCUITest
APIPostman, REST-assured
PerformanceJMeter, Gatling
CI/CDJenkins, GitHub Actions, GitLab CI
Cloud Test LabBrowserStack, LambdaTest

These tools help test faster, across platforms and environments. Most modern QA teams mix manual and automation testing depending on project needs.


✅ Best Practices Every Tester Should Know

  • Plan test cases early in the SDLC.

  • Prioritize based on risk.

  • Use exploratory testing for better coverage.

  • Automate repetitive tests.

  • Run tests in CI/CD pipelines.

  • Always retest and verify bug fixes.

  • Keep test cases updated.

  • Communicate clearly in bug reports.

  • Track test metrics (pass rate, defect rate).

  • Collaborate with devs and product teams.


๐Ÿ“ƒ Must-Have Certifications

  • ISTQB CTFL (Foundation Level) – Globally recognized.

  • ISTQB Agile Tester Extension – For agile testers.

  • ISTQB Test Automation Engineer – Advanced automation track.

  • CSTE / CSQA / CAST – From QAI.

  • CQE (Certified Quality Engineer) – From ASQ.

These certifications prove your skill and help you stand out.


๐Ÿ“ Interview Preparation Tips

For Freshers:

  • Focus on fundamentals: STLC, test case writing, bug lifecycle.

  • Practice explaining your college/internship projects.

  • Learn 1 test case tool (TestLink/TestRail).

  • Study basic SQL.

  • Communicate clearly and confidently.

For Experienced:

  • Be ready to talk about tools/frameworks used.

  • Share real bugs you found and how you reported them.

  • Mention impact: how you improved test coverage or quality.

  • Talk about teamwork and cross-functional collaboration.


๐Ÿ† Career Roadmap: Manual to Automation

  1. Learn test fundamentals.

  2. Choose a language (Java, Python, JS).

  3. Start with Selenium or Cypress.

  4. Practice automating test cases.

  5. Learn CI/CD and Git.

  6. Explore API testing and mobile automation.

  7. Build your test framework.

  8. Move toward SDET or QA Automation roles.


๐Ÿค– How AI Is Changing Testing

  • AI generates test cases from user stories.

  • AI helps prioritize which tests to run.

  • Copilots help testers write code.

  • Visual testing uses AI to check UI automatically.

  • Soon, AI agents will test apps end-to-end.


๐Ÿ“Š Sample Test Case Template

FieldExample
Test Case IDTC-001
TitleVerify login with valid credentials
PreconditionUser is registered
Steps1. Go to login page2. Enter credentials3. Click login
Expected ResultRedirect to dashboard
Actual Result(to be filled)
StatusPass/Fail

๐Ÿ“Š Sample Bug Report Template

FieldExample
Bug IDBUG-101
SummaryLogin fails with valid credentials
Steps1. Go to login2. Enter valid data3. Submit
ExpectedRedirect to dashboard
ActualError shown: Invalid credentials
SeverityHigh
PriorityP1
Browser/OSChrome 117, Windows 10

๐Ÿง Uncommon & Advanced Interview Questions

  • How do you decide which test cases to automate?

  • How do you handle dynamic elements in Selenium?

  • What is a Page Object Model?

  • Explain BDD vs TDD.

  • What’s the difference between mocks, stubs, and fakes?

  • How does AI improve test coverage?

  • How would you test a chatbot?

  • What’s your test strategy for microservices?

  • What’s the difference between security and penetration testing?

  • What’s your approach to testing in a CI/CD environment?


๐ŸŽ‰ Final Thoughts

Software testing in 2025 is more exciting than ever. With AI, automation, and a growing focus on quality, QA professionals have amazing opportunities ahead. Keep learning, stay curious, and don’t just test—champion quality!

Liked this post? Share it with fellow testers, and leave your thoughts in the comments!

 

Top 50 Manual Testing Interview Questions and Answers (2025 Edition)

Your ultimate guide to cracking QA interviews with confidence!



Manual testing remains a critical skill in the software industry. Whether you're a fresher or an experienced tester, preparing for interviews with a strong set of common and real-world questions is essential.

This blog gives you 50 hand-picked manual testing questions with simple, clear answers, based on real interview scenarios and ISTQB fundamentals.


๐Ÿ”ฅ Core Manual Testing Interview Questions & Answers

1. What is software testing?

Answer: Software testing is the process of verifying that the software works as intended and is free from defects. It ensures quality, performance, and reliability.


2. What is the difference between verification and validation?

Answer:

  • Verification: Are we building the product right? (Reviews, walkthroughs)

  • Validation: Are we building the right product? (Testing the actual software)


3. What is the difference between defect, bug, error, and failure?

Answer:

  • Error: Human mistake in coding

  • Bug/Defect: Deviation from expected behavior

  • Failure: System behaves unexpectedly due to a defect


4. What is STLC?

Answer: Software Testing Life Cycle includes phases like:
Requirement Analysis → Test Planning → Test Case Design → Environment Setup → Test Execution → Closure.


5. What is the difference between test case and test scenario?

Answer:

  • Test Case: Detailed step-by-step instructions.

  • Test Scenario: High-level functionality to be tested.


6. What is the difference between smoke and sanity testing?

Answer:

  • Smoke: Basic checks to ensure app stability.

  • Sanity: Focused testing after bug fixes.


7. What is regression testing?

Answer: Testing unchanged parts of the application to ensure new code hasn’t broken existing functionality.


8. What is retesting?

Answer: Testing a specific functionality again after a bug has been fixed.


9. What is severity and priority?

Answer:

  • Severity: Impact of defect on functionality.

  • Priority: Urgency to fix the defect.


10. What is exploratory testing?

Answer: Informal testing where testers explore the application without pre-written test cases.


๐Ÿงช Test Design & Execution Questions

11. How do you write a test case?

Answer: Identify the test objective → write clear steps → expected result → actual result → status.


12. What are test techniques?

Answer:

  • Black-box testing

  • White-box testing

  • Gray-box testing


13. Explain Boundary Value Analysis.

Answer: Testing at boundary values. E.g., if valid age is 18-60, test 17, 18, 60, 61.


14. Explain Equivalence Partitioning.

Answer: Dividing input data into valid and invalid partitions and testing one from each.


15. What is decision table testing?

Answer: Tabular method for representing and testing complex business rules.


16. What is use case testing?

Answer: Testing based on user’s interaction with the application.


17. What is adhoc testing?

Answer: Informal testing without a plan or documentation.


18. What is compatibility testing?

Answer: Ensuring software works across different devices, OS, and browsers.


19. What is usability testing?

Answer: Testing how user-friendly the application is.


20. What is end-to-end testing?

Answer: Testing the complete workflow from start to finish as a user would.


๐Ÿž Bug Reporting & Defect Life Cycle

21. What is a defect?

Answer: A deviation from expected behavior or requirement.


22. What is the defect life cycle?

Answer: New → Assigned → Open → Fixed → Retest → Closed/Rejected/Duplicate.


23. What are components of a bug report?

Answer: ID, title, steps, expected result, actual result, severity, priority, status.


24. What tools are used for defect tracking?

Answer: Jira, Bugzilla, Mantis, Redmine.


25. What is defect leakage?

Answer: Defect found by end-user which was not found during testing.


26. What is defect density?

Answer: Number of defects per unit size of code (e.g., defects per 1,000 lines).


27. How do you prioritize bugs?

Answer: Based on business impact and criticality to functionality.


28. What is the root cause analysis?

Answer: Finding the origin of the defect to avoid future issues.


29. What is the difference between reproducible and non-reproducible bugs?

Answer:

  • Reproducible: Can be consistently repeated.

  • Non-reproducible: Happens occasionally or under unknown conditions.


30. What is a blocker bug?

Answer: A critical defect that stops testing or development progress.


๐Ÿ“˜ Testing Documents & Tools

31. What is a test plan?

Answer: A document that defines the scope, strategy, resources, and schedule of testing activities.


32. What is a test strategy?

Answer: High-level document describing the testing approach across the organization or project.


33. What is test data?

Answer: Input data used during testing to simulate real-world conditions.


34. What is a test closure report?

Answer: A summary of all testing activities and outcomes at the end of the test cycle.


35. What are entry and exit criteria?

Answer:

  • Entry: Conditions before testing starts.

  • Exit: Conditions to stop testing.


36. What is test coverage?

Answer: A measure of the extent of testing performed on the application (code, requirements, test cases).


37. What is traceability matrix?

Answer: A document that maps test cases to requirements to ensure full coverage.


38. Which test management tools have you used?

Answer: TestRail, Zephyr, HP ALM, Xray.


39. How do you manage test cases?

Answer: Organize by modules/features; maintain version control; use tools like Excel or TestRail.


40. What is risk-based testing?

Answer: Prioritizing test cases based on risk of failure or business impact.


๐Ÿ’ผ Real-World & Behavioral Questions

41. Have you tested in Agile projects?

Answer: Yes. Participated in daily standups, sprint planning, and delivered tests in iterations.


42. How do you handle changing requirements?

Answer: Stay flexible, update test cases and plans, communicate impact clearly.


43. What would you do if the developer rejects your bug?

Answer: Provide detailed steps and evidence (screenshots/logs); discuss the issue with team leads if needed.


44. How do you ensure complete test coverage?

Answer: Use requirement traceability matrix and map each requirement to test cases.


45. How do you estimate test efforts?

Answer: Based on number of features, complexity, past experience, and available resources.


46. How do you stay updated with testing trends?

Answer: Follow QA blogs, take courses, attend webinars, and read documentation.


47. Have you ever missed a bug? What did you learn?

Answer: Yes. It taught me the importance of edge case testing and peer reviews.


48. What is shift-left testing?

Answer: Involving testing early in the development life cycle to catch defects sooner.


49. How do you perform mobile testing?

Answer: Test on real devices and emulators, check compatibility, UI, and performance.


50. Why should we hire you as a manual tester?

Answer: I have a strong grasp of testing fundamentals, excellent bug reporting skills, and a passion for quality. I ensure user experience and product stability.


 

๐Ÿค– Manual Testing vs Automation Testing – Which One to Use?

Published by QA Cosmos | June 24, 2025


๐Ÿ” Overview

In the QA world, knowing when to manually test and when to automate is crucial. Choosing the right balance helps save time, reduce costs, and improve software quality.


✅ Manual Testing

Definition: Testers execute test cases by hand without scripts or tools.

Pros:

  • Great for exploratory, UI/UX, ad-hoc, and usability testing

  • Captures human insights and adaptability

Cons:

  • Slower, error-prone, and hard to scale for large or repetitive tests


✅ Automation Testing

Definition: Writing scripts or using tools to automatically perform test cases.

Pros:

  • ๐Ÿš€ Fast, reliable, scalable

  • Perfect for regression, performance, API testing 

  • Offers quick, repeatable feedback

Cons:

  • Requires programming skills and initial setup

  • Maintenance needed when UI code changes 


๐Ÿงญ Manual vs Automation – Quick Comparison

FeatureManual TestingAutomation Testing
SpeedSlowFast and repeatable
ReliabilityProne to human errorHighly consistent
CostLow setup, higher long-term costHigh initial cost, lower long-term cost
Suitable ForExploratory, UI, usabilityRegression, performance, APIs, large-scale
Programming RequiredNot requiredRequired
MaintenanceLowMedium–High when UI changes
ScalabilityLimitedExcellent for many test cases

๐ŸŽฏ When to Choose Which?

Use Manual Testing when:

  • Testing user experience or design

  • Doing exploratory or ad-hoc checking

  • Working on one-time or small features

Use Automation Testing when:

  • Repeatedly running regression suites

  • Ensuring performance or load testing

  • Using CI/CD pipelines and fast release cycles 


๐Ÿ“ฆ Hybrid Best-Practice Approach

Combine both:

  1. Use manual testing for initial exploratory and UI feedback

  2. Automate stable, repetitive tests (e.g., regression, API)

  3. Continuously refine the test suite—add automation as features mature


๐Ÿ’ก Real Case Example

A team launches a new login module:

  • Manual testers verify UI, error messages, login flows

  • Automation scripts validate regression every build (valid/invalid inputs)
    This hybrid workflow ensures user-friendliness and application stability.


Popular Posts