Bird
Raised Fist0
Software Engineeringknowledge~5 mins

Black-box testing techniques in Software Engineering - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Black-box testing techniques
O(n)
Understanding Time Complexity

When we use black-box testing techniques, we check software by looking only at inputs and outputs.

We want to understand how the testing effort grows as the number of test cases or input variations increases.

Scenario Under Consideration

Analyze the time complexity of this simple black-box test approach.


for input in test_inputs:
    result = run_test(input)
    check_output(result)
    log_result(input, result)
    

This code runs tests on a list of inputs, checking outputs one by one.

Identify Repeating Operations

Look for repeated actions in the testing process.

  • Primary operation: Running a test for each input and checking its output.
  • How many times: Once for every input in the test list.
How Execution Grows With Input

As the number of test inputs grows, the total testing steps grow in the same way.

Input Size (n)Approx. Operations
10About 10 test runs
100About 100 test runs
1000About 1000 test runs

Pattern observation: The work grows directly with the number of tests; doubling tests doubles work.

Final Time Complexity

Time Complexity: O(n)

This means the testing effort grows in a straight line with the number of test inputs.

Common Mistake

[X] Wrong: "Adding more test inputs won't affect testing time much because tests are simple."

[OK] Correct: Each test takes time, so more inputs mean more total time, growing steadily.

Interview Connect

Understanding how testing effort grows helps you plan and explain testing strategies clearly in real projects.

Self-Check

"What if we grouped inputs and tested groups instead of individual inputs? How would the time complexity change?"

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