Week 2: Manual Testing Basics (2.2) - Overview 80 - Quality Analysis
Students

Academic Programs

AI-powered learning for grades 8-12, aligned with major curricula

Professional

Professional Courses

Industry-relevant training in Business, Technology, and Design

Games

Interactive Games

Fun games to boost memory, math, typing, and English skills

Week 2: Manual Testing Basics

Week 2: Manual Testing Basics

Practice

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

0:00
--:--
Teacher
Teacher Instructor

Welcome, everyone! Today, we’ll start with requirement analysis. Why do you think analyzing requirements is essential for QA?

Student 1
Student 1

I think it helps to figure out what needs to be tested.

Teacher
Teacher Instructor

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?

Student 2
Student 2

For a shopping app, the 'add to cart' feature would be a testable feature, right?

Teacher
Teacher Instructor

Spot on! Now, tell me what some potential ambiguities in requirements could be.

Student 3
Student 3

If a requirement says 'The app should support multiple items,' it's vague because it doesn't specify how many items.

Teacher
Teacher Instructor

Great observation! Documenting ambiguities and getting clarification is critical to successful testing.

Teacher
Teacher Instructor

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

0:00
--:--
Teacher
Teacher Instructor

Let's move on to writing test cases. What should a good test case include?

Student 4
Student 4

It should have an ID, description, steps, and the expected result!

Teacher
Teacher Instructor

Exactly! Using a standard template helps maintain consistency. Can anyone provide an example of a well-structured test case?

Student 2
Student 2

I remember TC002 from our material for password validation.

Teacher
Teacher Instructor

Perfect! Following best practices when writing test cases not only helps other testers understand but also aids in tracing issues later.

Teacher
Teacher Instructor

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

0:00
--:--
Teacher
Teacher Instructor

Now, let's dive into test case design techniques. How many of you are familiar with Boundary Value Analysis?

Student 1
Student 1

I think it involves testing at the edges of input limits?

Teacher
Teacher Instructor

Correct! It’s about checking boundary conditions. Can anyone provide a practical example?

Student 3
Student 3

If we have a range for age input, we’d test ages right at the boundaries, like 17, 18, 60, and 61?

Teacher
Teacher Instructor

Exactly right! Next, let’s discuss Equivalence Partitioning. Can someone explain this technique?

Student 4
Student 4

It’s dividing inputs into valid and invalid groups to reduce the number of test cases while ensuring coverage!

Teacher
Teacher Instructor

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

0:00
--:--
Teacher
Teacher Instructor

Moving on to test execution and defect reporting. Why is this phase crucial?

Student 2
Student 2

Because it helps to verify whether the product meets requirements and identify any issues.

Teacher
Teacher Instructor

Correct! After executing a test, we need to document defects accurately. What key information should we capture?

Student 3
Student 3

We should include steps to reproduce, the expected result, and actual outcome.

Teacher
Teacher Instructor

Exactly! A well-documented defect report allows developers to reproduce and fix the issue faster. Now, how should we prioritize the defects?

Student 1
Student 1

By severity and priority!

Teacher
Teacher Instructor

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

0:00
--:--
Teacher
Teacher Instructor

For our mini project, you'll write test cases for a sample app. What features do you think we should focus on?

Student 4
Student 4

Let's cover user registration and login features!

Teacher
Teacher Instructor

Excellent choices! Make sure to apply what we learned about writing clear, structured test cases, including using BVA and EP techniques.

Student 2
Student 2

Should we document ambiguities in the requirements as well?

Teacher
Teacher Instructor

Absolutely! Clarifying ambiguities is essential for effective testing. Once you finish your test cases, we’ll discuss them as a group.

Teacher
Teacher Instructor

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

This section covers the fundamental aspects of manual testing, including requirement analysis, test case writing, and defect reporting.

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:

  1. 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.
  2. Example: For a shopping app, a QA ensures the 'add to cart' feature functions correctly when multiple items are added.
  3. 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.
  4. Example: Test Case ID: TC002 for password validation, including steps and expected outcomes.
  5. 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.
  6. Example: BVA example on age verification to ensure input validations work as expected.
  7. Test Execution & Defect Reporting (Day 9): Discussing the critical phase of executing tests and the necessary documentation for reporting defects to maintain quality.
  8. Example: A defect report capturing the steps to reproduce a bug that leads to user login failures.
  9. 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

0:00
--:--

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

0:00
--:--

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

0:00
--:--

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

0:00
--:--

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

0:00
--:--

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

C

- Clear

A

- Accurate

R

- Relevant

E

- Efficient

S

- 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.