Ukraine Office: +38 (063) 50 74 707

USA Office: +1 (212) 203-8264

Manual Testing

Ensure the highest quality for your software with our manual testing services.

Mobile Testing

Optimize your mobile apps for flawless performance across all devices and platforms with our comprehensive mobile testing services.

Automated Testing

Enhance your software development with our automated testing services, designed to boost efficiency.

Functional Testing

Refine your application’s core functionality with our functional testing services

VIEW ALL SERVICES 

Home » Arc Testing

Arc Testing

Arc Testing is a structural testing technique used to ensure that the flow of an application or system is fully tested by evaluating all possible paths or transitions between different states or conditions. The term “arc” refers to the paths or transitions between nodes in a control flow graph (CFG) of the application, where nodes represent the decision points (e.g., branches or loops) and arcs represent the paths between them. This type of testing is primarily used to validate that every possible arc (path between decisions) is executed during testing, ensuring a thorough exploration of the application’s logic.

Key Concepts in Arc Testing

  1. Control Flow Graph (CFG): A graphical representation of the logical flow of an application. It consists of nodes (representing code blocks or decision points) and arcs (representing the flow of control between these nodes).
  2. Arc: A directed edge between two nodes in the control flow graph, representing the transition between two program statements or decision points.
  3. Node: A point in the flow where a decision or action occurs, such as an “if” statement or a loop.
  4. Path Coverage: The measure of how many of the potential paths (arcs) through the code have been exercised during testing.

How Arc Testing Works

  1. Creating the Control Flow Graph (CFG): First, the application’s code or functionality is represented as a control flow graph where decision points (e.g., “if”, “while”) are nodes and arcs represent transitions between them.
  2. Identifying Arcs: The tester identifies all possible arcs (paths) between nodes in the CFG. This is crucial for ensuring full coverage of the code’s execution flow.
  3. Test Case Design: Test cases are designed to ensure that each arc in the graph is traversed at least once. Each decision point or branch in the application’s control flow is tested for different conditions (true/false, loop iterations).
  4. Execution and Validation: The designed test cases are executed, and the tester verifies that all arcs are covered by the test execution. This ensures that the code paths are followed as intended and any potential issues with transitions or decision logic are identified.

In summary, Arc Testing is a vital structural testing technique that ensures all possible transitions (arcs) in the application’s control flow are tested. By focusing on the logical flow of control between decision points, Arc Testing helps detect errors related to branching, looping, and decision-making logic, improving the overall quality and robustness of the software.

Related Terms