0
0
Software Engineeringknowledge~30 mins

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

Choose your learning style9 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.