Bird
Raised Fist0
Software Engineeringknowledge~30 mins

Black-box testing techniques in Software Engineering - Mini Project: Build & Apply

Choose your learning style10 modes available
Black-box Testing Techniques
📖 Scenario: You are part of a software testing team preparing to test a new calculator app. The app performs basic arithmetic operations like addition, subtraction, multiplication, and division.Your goal is to apply black-box testing techniques to design test cases without looking at the app's internal code.
🎯 Goal: Build a list of test cases using black-box testing techniques such as equivalence partitioning and boundary value analysis to ensure the calculator app works correctly for different inputs.
📋 What You'll Learn
Create a list of input categories for testing using equivalence partitioning
Define boundary values for each input category
Write test cases covering normal and edge inputs
Summarize the test cases in a structured format
💡 Why This Matters
🌍 Real World
Black-box testing helps testers find bugs without needing to understand the internal code, making it useful for testing software from a user's perspective.
💼 Career
Software testers and quality assurance engineers use black-box testing techniques daily to ensure software meets requirements and handles inputs correctly.
Progress0 / 4 steps
1
Define Input Categories Using Equivalence Partitioning
Create a list called input_categories with these exact string entries: 'positive numbers', 'negative numbers', 'zero', and 'non-numeric inputs'.
Software Engineering
Hint

Think about grouping inputs that should behave similarly in the calculator app.

2
Define Boundary Values for Each Input Category
Create a dictionary called boundary_values with keys matching each entry in input_categories. Assign these exact values:
'positive numbers': [1, 100],
'negative numbers': [-1, -100],
'zero': [0],
'non-numeric inputs': ['a', 'null'].
Software Engineering
Hint

Use a dictionary to map each category to its boundary test values.

3
Write Test Cases Covering Normal and Edge Inputs
Create a list called test_cases. Add dictionaries for each test case with keys 'input' and 'expected_behavior'. Include these exact test cases:
1. {'input': 1, 'expected_behavior': 'valid positive number'}
2. {'input': -1, 'expected_behavior': 'valid negative number'}
3. {'input': 0, 'expected_behavior': 'zero input'}
4. {'input': 'a', 'expected_behavior': 'invalid input error'}.
Software Engineering
Hint

Each test case should describe what input you test and what you expect the app to do.

4
Summarize Test Cases in a Structured Format
Create a dictionary called test_summary with two keys: 'total_cases' set to the number of items in test_cases, and 'categories_tested' set to the list input_categories.
Software Engineering
Hint

Summarize your test cases by counting them and listing the categories tested.

Practice

(1/5)
1. Which of the following best describes black-box testing?
easy
A. Testing software based on its functionality without looking at the code
B. Testing software by examining its internal code structure
C. Testing only the user interface of the software
D. Testing software performance under heavy load

Solution

  1. Step 1: Understand black-box testing definition

    Black-box testing focuses on checking software behavior from the user's perspective without knowledge of internal code.
  2. Step 2: Compare options with definition

    Testing software based on its functionality without looking at the code matches this definition exactly, while others describe different testing types.
  3. Final Answer:

    Testing software based on its functionality without looking at the code -> Option A
  4. Quick Check:

    Black-box testing = Functionality testing without code [OK]
Hint: Black-box tests check outputs, not code details [OK]
Common Mistakes:
  • Confusing black-box with white-box testing
  • Thinking black-box tests only UI
  • Assuming black-box tests check performance
2. Which of these is a common technique used in black-box testing?
easy
A. Equivalence partitioning
B. Code coverage analysis
C. Static code review
D. Memory leak detection

Solution

  1. Step 1: Identify black-box testing techniques

    Equivalence partitioning divides input data into groups to reduce test cases, a classic black-box method.
  2. Step 2: Eliminate non-black-box options

    Code coverage and static code review require code knowledge; memory leak detection is performance testing.
  3. Final Answer:

    Equivalence partitioning -> Option A
  4. Quick Check:

    Black-box technique = Equivalence partitioning [OK]
Hint: Black-box uses input grouping like equivalence partitioning [OK]
Common Mistakes:
  • Choosing code-based techniques for black-box
  • Confusing static analysis with black-box testing
  • Mixing performance tools with black-box
3. Consider a function that accepts an integer input from 1 to 100. Using boundary value analysis, which of the following is a valid boundary value?
medium
A. 0
B. 50
C. 1
D. 101

Solution

  1. Step 1: Understand boundary value analysis

    This technique tests values at the edges of input ranges, such as minimum and maximum valid inputs.
  2. Step 2: Identify valid boundary values

    Valid input range is 1 to 100, so boundaries are 1 and 100. Among options, 1 is a boundary value.
  3. Final Answer:

    1 -> Option C
  4. Quick Check:

    Boundary value = 1 [OK]
Hint: Test inputs at range edges, not middle or invalid [OK]
Common Mistakes:
  • Choosing invalid inputs like 0 or 101 as boundaries
  • Picking middle values instead of edges
  • Confusing equivalence partitioning with boundary testing
4. A tester wrote these test cases for a login form: empty username, empty password, valid username and password, invalid username. What is missing for good black-box testing?
medium
A. Testing with SQL injection strings
B. Testing with boundary values for input length
C. Reviewing the source code for errors
D. Checking server logs for errors

Solution

  1. Step 1: Analyze given test cases

    Tests cover empty and valid/invalid inputs but do not check input length boundaries.
  2. Step 2: Identify missing black-box technique

    Boundary value analysis for input length is important to catch edge errors, missing here.
  3. Final Answer:

    Testing with boundary values for input length -> Option B
  4. Quick Check:

    Missing boundary tests = Testing with boundary values for input length [OK]
Hint: Check input length edges for thorough black-box tests [OK]
Common Mistakes:
  • Confusing security tests with black-box functional tests
  • Thinking code review is part of black-box testing
  • Ignoring boundary value analysis
5. You have a form that accepts age between 18 and 60. Using black-box testing, which set of inputs covers equivalence partitioning and boundary value analysis?
hard
A. 18, 19, 59, 60
B. 18, 30, 60
C. 0, 18, 60, 100
D. 17, 18, 30, 60, 61

Solution

  1. Step 1: Understand equivalence partitioning and boundary value analysis

    Equivalence partitioning divides inputs into valid and invalid groups; boundary value analysis tests edges of valid ranges.
  2. Step 2: Check options for both techniques

    17, 18, 30, 60, 61 includes invalid low (17), valid boundaries (18, 60), valid middle (30), and invalid high (61), covering partitions and boundaries.
  3. Final Answer:

    17, 18, 30, 60, 61 -> Option D
  4. Quick Check:

    Both partitions and boundaries = 17, 18, 30, 60, 61 [OK]
Hint: Include invalid, boundary, and normal inputs for full coverage [OK]
Common Mistakes:
  • Ignoring invalid inputs in test sets
  • Testing only valid inputs without boundaries
  • Confusing boundary values with just middle values
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard