Black-Box Testing Methods

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Listen to an AI-generated conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

In black-box testing, what aspect of the system is primarily focused on?

  • Internal code structure and logic.
  • Performance metrics under heavy load.
  • Adherence to coding standards and best practices.
  • Outputs generated in response to selected inputs and execution conditions. (correct)

What is the main objective of equivalence class partitioning?

  • To automate test case generation using AI.
  • To identify the most complex parts of the code for targeted testing.
  • To test every possible input value to ensure full coverage.
  • To divide the input domain into classes that are expected to be processed similarly. (correct)

Why is it important for a test suite to include both valid and invalid equivalence classes?

  • To verify that the system handles both expected inputs correctly and unexpected inputs gracefully. (correct)
  • To comply with regulatory requirements for software testing.
  • To reduce the overall time spent on testing.
  • To ensure full code coverage as measured by coverage tools.

Which of the following is the basic rule to apply while using equivalence class technique?

<p>There should be at least one test case for each valid and invalid EC. (D)</p>
Signup and view all the answers

What best describes the relationship between equivalence partitioning and boundary value analysis?

<p>Boundary value analysis focuses on testing the boundaries of input values, and it complements equivalence partitioning. (D)</p>
Signup and view all the answers

What is the primary goal of negative testing?

<p>To ensure the application can gracefully handle invalid or unexpected inputs. (D)</p>
Signup and view all the answers

In the context of boundary value analysis (BVA), what does the '3-Value' approach typically include?

<p>Testing values at, just above, and just below the boundaries of an input range. (C)</p>
Signup and view all the answers

If an input condition specifies a range of values (e.g., "the item count can be from 1 to 999"), how many equivalence classes should be identified?

<p>One valid and two invalid. (A)</p>
Signup and view all the answers

Consider a scenario where a field accepts values between 1 and 100. According to boundary value analysis, which test cases should be included?

<p>0, 1, 2, 99, 100, and 101 (C)</p>
Signup and view all the answers

What is a key limitation of black box testing?

<p>It may not execute a substantial proportion of the code lines. (B)</p>
Signup and view all the answers

Which of the following testing techniques is used to understand the effects of combinations of different inputs and other software states that must correctly implement the business rules?

<p>Decision Table Testing (C)</p>
Signup and view all the answers

What calculation determines the number of test cases required when using decision table testing, where 'n' is the number of conditions?

<p>$2^n$ (B)</p>
Signup and view all the answers

What is the primary focus of state transition testing?

<p>Ensuring that the system transitions between different states correctly and consistently. (D)</p>
Signup and view all the answers

What is the key activity to achieve 100% transition coverage in state transition testing?

<p>Covering all valid transitions and attempting to execute invalid transitions. (B)</p>
Signup and view all the answers

Which of the following is an example of a valid equivalence class for a function that calculates the square root of a number?

<p>Zero (D)</p>
Signup and view all the answers

What would be a valid negative test case for a login form that requires a password with at least 8 characters?

<p>Leaving the password field empty (B)</p>
Signup and view all the answers

Why is boundary value analysis considered an extension of equivalence partitioning?

<p>It focuses specifically on edge cases and input boundaries, whereas equivalence partitioning divides inputs more generally. (A)</p>
Signup and view all the answers

In black-box testing, what is the primary source of information used to develop test cases?

<p>The design and specification documents (A)</p>
Signup and view all the answers

Which of the following testing methods would NOT be considered a black-box testing technique?

<p>Statement Coverage (C)</p>
Signup and view all the answers

The ticket price at the Golden Splash Swimming Center depends on four variables: day, visitor's status, entry hour, and visitor's age. The valid entries of these variables are: Day: Monday, Tuesday, Wednesday, Thursday, Friday and Saturday, Sunday. Visitor's status: One time, Member Entry hour: 6:00-19:00, 19:01-24:00 Visitor's age: up to 16, 16.01-60, 60.01-120. How many invalid equivalence classes are for entry hour and visitor's age?

<p>One invalid ECs for entry hour and two for visitor's age (C)</p>
Signup and view all the answers

The ticket price at the Golden Splash Swimming Center depends on four variables: day, visitor's status, entry hour, and visitor's age. The valid entries of these variables are: Day: Monday, Tuesday, Wednesday, Thursday, Friday and Saturday, Sunday. Visitor's status: One time, Member Entry hour: 6:00-19:00, 19:01-24:00 Visitor's age: up to 16, 16.01-60, 60.01-120. Which of the following tests represents a valid scenario?

<p>Mon, One time, 7:55, 8.4 (C)</p>
Signup and view all the answers

The password must include both letters and numbers. Users can publish a maximum of 5 microblog posts per day. Only JPEG photos are supported in posts. Posts cannot exceed 200 words. What is a valid test case to test password requirment?

<p>Create a password with numbers and letters (D)</p>
Signup and view all the answers

The password must include both letters and numbers. Users can publish a maximum of 5 microblog posts per day. Only JPEG photos are supported in posts. Posts cannot exceed 200 words. What is a valid test case to test maximum number of microblog posts?

<p>Attempt to publish more than 5 posts in one day (A)</p>
Signup and view all the answers

What are invalid test cases according BVA if you trying to book a flight, if the user should enter a birth year between 1924 to 2024

<p>1923, 2000, 2025 (D)</p>
Signup and view all the answers

The user should have a positive account balance in order to transfer money to another user and the user should not be banned. What are the test case to have a money transfer successful?

<p>User has positive account balance and not banned (B)</p>
Signup and view all the answers

What are the test cases when switching on or of a device related to state transition testing?

<p>All of the above (E)</p>
Signup and view all the answers

Which of the following metrics might be limited or difficult to assess directly when performing black-box testing?

<p>Code Coverage (A)</p>
Signup and view all the answers

A program accepts a year as input and determines if it is a leap year. Leap years are divisible by 4, but not by 100 unless also divisible by 400. Applying equivalence partitioning, which of the following would be considered boundary values for valid input?

<p>The lowest and highest years the system is expected to handle. (B)</p>
Signup and view all the answers

Flashcards

Black box testing

Testing that ignores the internal workings of a system, focusing solely on inputs and outputs.

Equivalent Class (EC)

A set of input values that are processed identically to produce the same output.

Equivalence Class Techniques

Techniques to increase testing efficiency and minimize the number of test cases.

Basic Rule for Test Cases

The rule to have at least one test case for each valid and invalid EC.

Signup and view all the flashcards

Negative Testing

Ensures an application gracefully handles invalid or unexpected inputs, preventing crashes.

Signup and view all the flashcards

Testing Mandatory Fields

Fields that are marked as mandatory that require behavior testing.

Signup and view all the flashcards

Boundary Values

An extra condition for assigning test cases for each equivalence class.

Signup and view all the flashcards

3-Value Boundary Value Analysis

Expands upon the two-value approach by including an additional test case within each boundary.

Signup and view all the flashcards

Identifying Equivalent Classes

Identify one valid and two invalid equivalence classes for the input values

Signup and view all the flashcards

Decision tables

Assist testers in understanding the effects of combinations of different inputs and other software states that must correctly implement business rules.

Signup and view all the flashcards

State transition testing

Aims to ensure that the system transitions between different states correctly and consistently

Signup and view all the flashcards

Study Notes

Black-Box Testing Methods

  • Software QA presentation, by Dr. Samer Zein, Birzeit University

Black-Box Testing Intro

  • Black-box testing techniques should complement, not substitute, white-box testing.
  • Black-box testing ignores internal mechanisms, focusing on outputs from selected inputs, including execution conditions.
  • Black-box testing evaluates system compliance with specified functional requirements.

Equivalence Classes Technique

  • The focus is to generate a set of test cases
  • This set has to be chosen carefully.
  • Equivalence class techniques aim to increase testing efficiency and minimize the number of test cases.
  • Improves test case selection through efficient use of equivalence class partitioning.
  • Equivalent Class: a set of input variable values identically processed to produce the same output.
  • Test suites should include both valid and invalid ECs
  • The basic rule: there should be one test case for each valid and invalid EC
  • This technique minimizes test cases
  • The tester defines the EC and its boundaries.
  • EC technique is based on requirements' specs, not code
  • EC technique is more efficient than automated and random techniques.

Equivalence Partition and Boundary Value Analysis

  • Equivalence Partition and Boundary Value Analysis example shows test cases TC 1: -100, TC 2: 0 and TC 3: 100 focuses on behavior and response of the system
  • Online video upload website testing example accepts .mp4, .mov, .mkv
  • Testing is done by grouping distinct file formats into partitions using equivalence partitioning.
  • Select representative files from each partition to cover the website's behavior and functionality
  • Requires a test case per file type.
  • Boundary Value Analysis (BVA) focuses on testing the boundaries of input values where issues often occur.
  • BVA complements Equivalence Partitioning.
  • Hidden defects can be uncovered by testing the edges/boundaries of equivalence classes.

Negative Testing

  • Ensures an application gracefully handles invalid or unexpected inputs to prevent crashes and incorrect behavior.
  • Protects applications from unforeseen issues.
  • Some applications have mandatory fields that need to be tested by leaving required fields empty to analyze the application's response.
  • Example based on requirements:
  • Password needs letters and numbers.
  • Users can publish a maximum of 5 microblog posts a day.
  • Posts cannot exceed 200 words.
  • Only JPEG photos are supported in posts.
  • Examples of Test Cases include creating a password with only numbers or letters, attempting to upload non-JPEG files, and writing posts that exceed 200 words.

EC's Boundary Values

  • This is additional criteria, with attention needed to test case definitions and test boundaries of each EC.

EC Boundary Values

  • Three test cases are needed, middle, lower and upper range
  • 3-Value Boundary Value Analysis expands upon upon the 2-value approach by including an additional test case within each boundary - to test invalid and valid values just above those boundaries
  • Example: Field accepts values between 1 and 100
  • Test Cases: 0, 1, 2, 99, 100, 101
  • The general process of identifying EC:
  • A) If an input condition specifies a range of values (e.g., "the item count can be from 1 to 999") then: Identify one valid equivalence class (1<item count<999) and two invalid equivalence classes (item count<1 and item count>999).
  • B) If an input condition specifies the number of values (e.g., "one through six owners can be listed for the automobile"), then: identify one valid equivalence class and two invalid equivalence classes (no owners and more than six owners).
  • C) If an input condition specifies a set of input values with the reason to believe that the program handles each differently, identify a valid equivalence class for each and one invalid equivalence class. (e.g., Type of vehicle BUS, TRUCK, TAXICAB, PASSENGER, or MOTORCYCLE; and TRAILER for the invalid class).
  • D) If an input condition specifies a "must-be" situation, identify one valid equivalence class and one invalid equivalence class (e.g., it must be a letter or it is not a letter for the first character of the identifier).

Important Note Regarding Invalid EC

  • If the specification states “enter book type (HARDCOVER, SOFTCOVER, or LOOSE) and amount (1–999),”
  • The test case, (XYZ, o), expressing two error conditions (invalid book type and amount)
  • This probably wont check for the amount, so the program may say "XYZ IS UNKNOWN BOOK TYPE" and not bother to examine the remainder of the input.
  • Summary Table of Test Cases Based on EC and BVA (see Table on page 20 of document).
  • Equivalence Classes - the Golden Splash Swimming Center ticket price module
  • Includes valid and invalid equivalence, representative values and Boundary Values
  • Test Cases - the Golden Splash Swimming Center ticket price module includes
  • Requires valid and invalid ECS, the day of the week, isitor status, ntry hour and isitor's age and test case results and
  • Disadvantages of black box testing include: possible coincidental aggregation of several errors will produce the correct response for a test case, and prevent error detection
  • Errors may counteract each other to accidentally produce the correct output
  • The absence of control of line coverage, there is no easy way to specify appropriate test cases to improve coverage
  • Leads to tests may not execute a substantial proportion of the code lines which are not covered by a set of test cases
  • The impossibility of testing the quality of coding and its strict adherence to the coding standards.

Decision Table Testing

  • Decision tables help testers understand the effects of different input combinations and software states, which must correctly implement business rules.

State Transition Testing

  • An example provides the requirements, user should have a positive account balance in order to transfer money to another user; and the user should not be banned
  • A Decision table highlights the condition, steps and expected outcome.
  • The number of cases depends on the number of conditions
  • The number of test cases = 2^n: e.g. For 2 conditions: = 4 test cases, For 3 conditions: = 8 test cases, For 4 conditions: = 16 test cases.
  • State transition testing aims to ensure the system transitions between different states correctly and consistently.
  • This is used when features of a system are represented as states that transform into one another.
  • Key Test cases include:
  • Switching on the device when it's off.
  • Switching off the device when it's on.
  • Switching on the device when it's already on, resulting in a FAULT state
  • Attempting to switch on the device when it's in the FAULT state, which should remain in the FAULT state.
  • The goal is ALL transition coverage
  • To achieve 100% coverage of all transitions, test cases must exercise all the valid transitions, as well as attempt to execute invalid transitions.
  • This ensures comprehensive testing of the state transitions in the system.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Black-Box Testing Methods PDF

More Like This

Use Quizgecko on...
Browser
Browser