Week 2: Manual Testing Basics
Interactive Audio Lesson
Listen to a student-teacher conversation explaining the topic in a relatable way.
Requirement Analysis for QA
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Welcome, everyone! Today, weβll start with requirement analysis. Why do you think analyzing requirements is essential for QA?
I think it helps to figure out what needs to be tested.
Exactly! By identifying testable features, we can design effective test cases. Can anyone give me an example of what a testable feature could look like?
For a shopping app, the 'add to cart' feature would be a testable feature, right?
Spot on! Now, tell me what some potential ambiguities in requirements could be.
If a requirement says 'The app should support multiple items,' it's vague because it doesn't specify how many items.
Great observation! Documenting ambiguities and getting clarification is critical to successful testing.
In summary, requirement analysis helps us pinpoint features that can be tested, ensuring clarity and helping to avoid miscommunication.
Writing Test Cases - Best Practices
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Let's move on to writing test cases. What should a good test case include?
It should have an ID, description, steps, and the expected result!
Exactly! Using a standard template helps maintain consistency. Can anyone provide an example of a well-structured test case?
I remember TC002 from our material for password validation.
Perfect! Following best practices when writing test cases not only helps other testers understand but also aids in tracing issues later.
To wrap this up, clear and concise test cases that follow a standard template are crucial in ensuring testing efficiency.
Test Case Design Techniques
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Now, let's dive into test case design techniques. How many of you are familiar with Boundary Value Analysis?
I think it involves testing at the edges of input limits?
Correct! Itβs about checking boundary conditions. Can anyone provide a practical example?
If we have a range for age input, weβd test ages right at the boundaries, like 17, 18, 60, and 61?
Exactly right! Next, letβs discuss Equivalence Partitioning. Can someone explain this technique?
Itβs dividing inputs into valid and invalid groups to reduce the number of test cases while ensuring coverage!
Well done! The key takeaway is that these techniques help us efficiently cover different scenarios without exhaustive testing.
Test Execution & Defect Reporting
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
Moving on to test execution and defect reporting. Why is this phase crucial?
Because it helps to verify whether the product meets requirements and identify any issues.
Correct! After executing a test, we need to document defects accurately. What key information should we capture?
We should include steps to reproduce, the expected result, and actual outcome.
Exactly! A well-documented defect report allows developers to reproduce and fix the issue faster. Now, how should we prioritize the defects?
By severity and priority!
Great! Remember that the clearer our communication, the smoother the resolution process will be. In summary, effective execution and reporting are vital for ensuring software quality.
Mini Project β Write Test Cases for a Sample App
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
For our mini project, you'll write test cases for a sample app. What features do you think we should focus on?
Let's cover user registration and login features!
Excellent choices! Make sure to apply what we learned about writing clear, structured test cases, including using BVA and EP techniques.
Should we document ambiguities in the requirements as well?
Absolutely! Clarifying ambiguities is essential for effective testing. Once you finish your test cases, weβll discuss them as a group.
Just to summarize today's session, hands-on practice helps reinforce your skills, and you should always aim for clarity and thoroughness in your documentation.
Introduction & Overview
Read summaries of the section's main ideas at different levels of detail.
Quick Overview
Standard
In Week 2 of the course, students delve into manual testing basics, including techniques for requirement analysis, best practices for writing test cases, various design techniques, and the processes for executing tests and reporting defects. This foundational knowledge is pivotal for understanding how to ensure software quality.
Detailed
Manual Testing Basics
In this section, we explore the essentials of manual testing, which forms the backbone of quality assurance practices in software development. Students learn to analyze requirements to ensure they are testable, creating a foundation for effective test cases that guarantee comprehensive testing coverage.
Key Topics:
- Requirement Analysis for QA (Day 6): Understanding how to scrutinize requirements to identify what can be tested, leading to the creation of effective test cases.
- Example: For a shopping app, a QA ensures the 'add to cart' feature functions correctly when multiple items are added.
- Writing Test Cases - Best Practices (Day 7): Highlighting the importance of clear and concise test cases, which should follow standard templates to ensure reliable communication across teams.
- Example: Test Case ID: TC002 for password validation, including steps and expected outcomes.
- Test Case Design Techniques (Day 8): Introducing methods such as Boundary Value Analysis and Equivalence Partitioning that help in designing test cases that effectively cover edge cases and variations of user input.
- Example: BVA example on age verification to ensure input validations work as expected.
- Test Execution & Defect Reporting (Day 9): Discussing the critical phase of executing tests and the necessary documentation for reporting defects to maintain quality.
- Example: A defect report capturing the steps to reproduce a bug that leads to user login failures.
- Mini Project β Write Test Cases for a Sample App (Day 10): A hands-on project where students apply their learning by drafting test cases for a sample application, reinforcing their theoretical knowledge through practical application.
This section emphasizes the critical role that thorough manual testing plays in delivering high-quality software that meets user expectations.
Audio Book
Dive deep into the subject with an immersive audiobook experience.
Day 6: Requirement Analysis for QA
Chapter 1 of 5
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
QAs review requirements to identify testable features and potential ambiguities. Example: For a shopping app, a QA identifies that βadd to cartβ must support multiple items.
Exercise:
1. Review a sample requirement and list three testable features.
2. Identify one ambiguous requirement and suggest clarification.
Detailed Explanation
Requirement analysis is a crucial step in the QA process. It involves reviewing the requirements documents to determine what features can be tested. By doing so, QAs ensure they understand what the end product needs to achieve, enabling them to create effective test cases. An example would be determining that 'add to cart' must work for multiple items in a shopping app, which can lead to various test scenarios.
In practice, a QA will pick a requirement, dissect it for clarity, and identify specific features to test, while also looking for any vague language that might need clarification.
Examples & Analogies
Imagine you are building a new playground based on blueprints. If the blueprint states 'add swings', it's clear. But if it states 'add some play equipment', itβs vague. Similarly, in QA, precise requirements help avoid confusion and ensure every feature is tested.
Day 7: Writing Test Cases β Best Practices
Chapter 2 of 5
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Test cases should be clear, concise, and cover all scenarios. Use a standard template: ID, Description, Steps, Expected Result.
Example:
ID: TC002
Description: Verify password validation.
Steps: 1. Enter password < 6 characters. 2. Click Submit.
Expected Result: Error message displayed.
Exercise:
1. Write two test cases for a payment gateway.
2. List three best practices for test case writing.
Detailed Explanation
Writing effective test cases is essential for successful testing. A test case must be structured to ensure clarity and usability. Each test case includes an ID for tracking, a description of what it tests, a step-by-step guide to execute the test, and the expected result to determine if the test passed or failed. A critical best practice is to keep them concise and straightforward, avoiding ambiguous language. This ensures that anyone can understand and execute the test with precision.
Examples & Analogies
Think of cooking a recipe. If the recipe is written clearly, you can follow it easily and know what to expect at the end. If it's vague or lacks details, you might end up with a dish that doesn't taste right. Similarly, clear test cases lead to consistent and successful testing outcomes.
Day 8: Test Case Design Techniques
Chapter 3 of 5
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
β’ Boundary Value Analysis (BVA): Tests edge cases (e.g., min/max values).
β’ Equivalence Partitioning (EP): Divides inputs into valid/invalid groups.
Example: For an age field (18β60):
β’ BVA: Test 17, 18, 60, 61.
β’ EP: Test one value in 18β60, one <18, one >60.
Exercise:
1. Design test cases for a field accepting 1β100 using BVA.
2. Apply EP to a username field (4β20 characters).
Detailed Explanation
Test case design techniques like Boundary Value Analysis (BVA) and Equivalence Partitioning (EP) help QAs maximize testing efficiency. BVA focuses on testing values at the edges of input ranges, as these often reveal bugs. For example, testing the age boundaries ensures that the software responds correctly at these critical junctures. EP, on the other hand, segments input data into groups to represent valid and invalid scenarios, reducing the total number of tests while maintaining thorough coverage.
Examples & Analogies
Consider a car that can only carry between 1 and 5 passengers. Testing just outside the limit (0 or 6 passengers) demonstrates the system's limits, like BVA. By testing with 1, 3, and 5 passengers, you can ensure it works under all conditions, similar to EP. This approach saves time while ensuring thorough testing.
Day 9: Test Execution & Defect Reporting
Chapter 4 of 5
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Test execution involves running test cases and comparing actual vs. expected results. Defects are logged with details like steps to reproduce and severity. Example Bug Report:
ID: BUG001
Summary: Login fails with valid credentials.
Steps to Reproduce: 1. Enter valid username/password. 2. Click Login.
Actual Result: Error message displayed.
Expected Result: User logged in.
Exercise:
1. Execute a sample test case and document results.
2. Write a bug report for a failed test case.
Detailed Explanation
Test execution is the phase where QAs put their test cases into action to see if the software behaves as expected. They compare the actual outcomes to the expected results. If thereβs a discrepancy, a defect is documented. A strong bug report contains pertinent details that help development teams understand the issue, such as steps to reproduce it, severity, and expected versus actual outcomes. The clarity of these reports aids in the quick resolution of issues.
Examples & Analogies
Think of yourself as a quality inspector in a factory. After inspecting a product, if it doesnβt match the specifications, youβll note down exactly what went wrong and how to replicate the defect. This detailed reporting helps the production team know exactly what to fix, just like defect reporting in software testing.
Day 10: Mini Project β Write Test Cases for a Sample App
Chapter 5 of 5
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
Students write test cases for a sample app, such as a to-do list application.
Exercise:
1. Write five test cases covering key features.
2. Include at least one BVA and one EP test case.
Detailed Explanation
This mini project encourages students to apply what theyβve learned by drafting test cases for a real-world application. Writing five test cases allows students to think critically about what needs to be tested within the app. They must consider various scenarios, including edge cases and typical usage, through BVA and EP techniques. This exercise solidifies their understanding of test writing and prepares them for real-life QA tasks.
Examples & Analogies
Consider this project like being an architect designing a building. You need to plan for various aspects that would affect how the building stands, similar to how test cases prepare for different use scenarios in software. By including all possible user interactions, like placing furniture in certain spaces, architects ensure every part is functional, just as test cases ensure software features operate as intended.
Key Concepts
-
Requirement Analysis: The review process to identify testable features.
-
Test Cases: Documents detailing how to test specific features.
-
Boundary Value Analysis: Technique for focusing tests on edges of input ranges.
-
Equivalence Partitioning: Technique for reducing test cases by dividing inputs into valid and invalid groups.
-
Defect Reporting: The systematic way of communicating errors to the development team.
Examples & Applications
In a requirement analysis for a book store app, the requirement 'The app should allow users to add multiple items to the cart' indicates that the feature must be testable across various items added.
A test case example for a login feature might detail the steps to enter username and password, alongside expected outcomes such as successful login or error handling for incorrect credentials.
Memory Aids
Interactive tools to help you remember key concepts
Rhymes
Testing at the edge, donβt you forget, BVAβs the method, to avoid the regret!
Stories
Imagine a baker checking if his cookie dough rises perfectly. He tests cookies at the warm, cold, and warm edges of the ovenβrepresenting BVA testing!
Memory Tools
Use βTESTβ to remember: T - Thorough, E - Efficient, S - Structured, T - Traceable.
Acronyms
Use βCARESβ for test case writing
- Clear
- Accurate
- Relevant
- Efficient
- Structured.
Flash Cards
Glossary
- Requirement Analysis
The process of reviewing software requirements to identify testable features.
- Test Case
A documented set of conditions and steps for verifying a feature or functionality of the software.
- Boundary Value Analysis (BVA)
A testing technique that focuses on testing the boundaries between partitions.
- Equivalence Partitioning (EP)
A testing technique that divides input data into valid and invalid groups to reduce the number of test cases.
- Defect Reporting
The process of documenting and communicating identified defects to developers for resolution.
Reference links
Supplementary resources to enhance your learning experience.