All Exams Test series for 1 year @ ₹349 only
Question

Which of the following is/are behavioral testing technique(s) ?

(A) Equivalence Partitioning

(B) Graph-Based Teating Method

(C) Boundery Value Analysis

(D) Data flow Testing

(E) Loop Testing

Choose the correct answer from the options given below:

The correct answer is

(A), (B) and (C) only

Understanding Behavioral Testing Techniques

Behavioral testing, often referred to as black-box testing, is a software testing method where the functionality of an application is tested without looking at the internal code structure, implementation details, or internal paths. This testing is based on the requirements and specifications of the software. The focus is on the input and output of the system.

Let's analyze each technique listed to determine if it falls under behavioral testing.

(A) Equivalence Partitioning Explained

Equivalence Partitioning is a black-box testing technique. In this method, the input data for the software is divided into partitions (or equivalence classes) that are considered to be equivalent. This means that test cases derived from one partition are expected to behave similarly to test cases derived from the same partition. This technique helps in reducing the number of test cases needed by testing representative values from each partition.

  • It focuses on input data and expected output.
  • It does not require knowledge of the internal code.
  • It aims to cover input domains efficiently.

Therefore, Equivalence Partitioning is a behavioral testing technique.

(B) Graph-Based Testing Method Explained

Graph-Based testing methods can include techniques like state transition testing, cause-effect graphing, or using UML diagrams to derive test cases. These methods model the behavior or relationships within the system as a graph. Test cases are then designed to traverse the nodes and edges of this graph, representing different states or interactions. These are typically applied without needing access to the source code, focusing on the system's external behavior based on events and states.

  • Models system behavior or relationships.
  • Test cases derived from graphical representations (e.g., state diagrams).
  • Evaluates system response to sequences of events.

Graph-based methods like state transition testing are considered behavioral testing techniques.

(C) Boundary Value Analysis (BVA) Explained

Boundary Value Analysis (BVA) is another black-box testing technique, often used as a complement to Equivalence Partitioning. It focuses on testing the values at the boundaries of the equivalence partitions. Errors are frequently observed at the edges of input ranges. BVA involves selecting test cases at the minimum, maximum, just below the minimum, and just above the maximum values of a range.

  • Focuses on boundary values of input domains.
  • Used alongside Equivalence Partitioning.
  • Does not require knowledge of internal code.

Thus, Boundary Value Analysis is a behavioral testing technique.

(D) Data Flow Testing Explained

Data Flow Testing is a white-box testing technique. Unlike behavioral testing, white-box testing requires knowledge of the internal structure and logic of the code. Data Flow Testing specifically focuses on the paths of variables through the code, from where they are defined to where they are used. It aims to test specific definitions and uses of variables within the program.

  • Requires access to the source code.
  • Analyzes paths related to variable usage.
  • Concerned with internal code structure.

Data Flow Testing is a structural or white-box testing technique, not a behavioral one.

(E) Loop Testing Explained

Loop Testing is also a white-box testing technique. It is specifically designed to test loops within the program's code. Different test cases are generated to cover various conditions for loops, such as executing the loop zero times, exactly once, the maximum number of times, one less than the maximum, and one more than the maximum. It directly examines the internal control structure of the program.

  • Requires access to the source code.
  • Specifically tests loop constructs.
  • Concerned with internal control flow.

Loop Testing is a structural or white-box testing technique, not a behavioral one.

Summary of Testing Techniques Classification

Technique Classification Description
(A) Equivalence Partitioning Behavioral (Black-Box) Divides input into partitions.
(B) Graph-Based Testing Method Behavioral (Black-Box) Models behavior/relations using graphs (e.g., state transition).
(C) Boundary Value Analysis Behavioral (Black-Box) Tests boundaries of input partitions.
(D) Data Flow Testing Structural (White-Box) Analyzes variable paths in code.
(E) Loop Testing Structural (White-Box) Tests loop constructs in code.

Based on the analysis, the behavioral testing techniques from the given list are (A) Equivalence Partitioning, (B) Graph-Based Testing Method, and (C) Boundary Value Analysis.

Revision Table: Software Testing Methods

Testing Type Focus Knowledge Required Example Techniques
Behavioral (Black-Box) Functionality, System Behavior, Requirements External Specifications, Requirements Equivalence Partitioning, Boundary Value Analysis, State Transition Testing, Use Case Testing
Structural (White-Box) Internal Code Structure, Logic, Paths Source Code, Design Details Statement Coverage, Branch Coverage, Path Coverage, Data Flow Testing, Loop Testing

Additional Information on Behavioral Testing

Behavioral testing is crucial because it tests the software from the user's perspective. It helps ensure that the software meets the specified requirements and behaves as expected under various conditions. It is independent of the code's internal structure, making it suitable for testing applications developed using different programming languages or architectures, as long as the requirements are clearly defined.

Key benefits of behavioral testing:

  • Independent of code implementation.
  • Focuses on user requirements and functionality.
  • Can be started early in the development lifecycle once requirements are stable.
  • Does not require programming knowledge from the tester.

However, behavioral testing alone might not cover all possible execution paths within the code, which is where structural testing techniques become important.

Was this answer helpful?

Important Questions from Software Testing

  1. Which of the following is/are the types of testing?

  2. Alpha and Beta testing are forms of

  3. Fault base testing technique is

  4. In software testing, beta testing is the testing performed by _______.

  5. Given below are two statements, one is labelled as Assertion A and the other is labelled as Reason R

    Assertion A : Software developers donot do exhaustive software testing in practice.

    Reason R : Even for small inputs, exhaustive testing is too computationally intensive (e.g., takes too long) to run all the tests.

    In light of the above statements, choose the correct answer from the options given below

Need Expert Advice?

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App