SDN Software Testing via Executable Test Case Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current testing methods for Software Defined Networks (SDN) are inadequate, relying on complex model-based approaches that are difficult to use in real-world scenarios, lacking automated correctness verification, and requiring simulated data, which fails to identify production deployment issues effectively.

Innovation Solution

A black-box testing framework that generates executable test cases using propositional statements based on service-flow and input/output conditions, interprets these statements at runtime, and utilizes historical production data for load/stress testing, enabling universal test case management and regression testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If model-based testing is used to generate test cases from system models, then test case coverage can be improved, but the complexity of the testing system increases and becomes difficult to use in real-world scenarios

Engineering Contradiction:
Improvetest case coverageVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates executable test cases by copying and transforming service-flow specifications and input-output conditions into propositional statement formats. Instead of building complex model-based testing systems, the invention copies the essential testing requirements from service specifications and transforms them into executable test cases that can be directly run against the SDN software, thereby achieving test coverage without the complexity of model-based approaches.

Inventive Principle:
Principle #26Copying

2Reliability

If automated correctness verification methods like program invariants and model checking are used, then verification thoroughness is improved, but the difficulty of finding invariants and the size of state space make automated verification impractical outside laboratory environments

Engineering Contradiction:
Improveverification thoroughnessVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential verification requirements from complex correctness verification methods. Instead of implementing full program invariants or model checking systems, the invention extracts the critical input-output conditions and service-flow logic from SDN software specifications and transforms them into executable test cases that verify correctness in a practical, automated manner without requiring laboratory-grade verification infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If simulated data is used for load and stress testing, then testing can be performed without real-world data, but many real-world scenarios cannot be tested and problems are discovered only after production deployment

Engineering Contradiction:
Improvetesting accessibilityVSAvoidproduction scenario coverage
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent performs preliminary action by extracting service-flow specifications, input conditions, and output conditions from SDN software documentation and specifications before actual testing. This preliminary extraction and transformation into executable test cases allows the system to be prepared with comprehensive test scenarios that can be executed with real-world data during load and stress testing, ensuring both accessibility and production scenario coverage.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If manual test case management is used where each tester has their own test cases, then individual testing flexibility is maintained, but regression testing becomes difficult and redundant testing occurs

Engineering Contradiction:
Improveindividual testing flexibilityVSAvoidregression testing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges individual test cases into a unified executable test case library. By transforming service-flow specifications and input-output conditions into standardized executable test cases, the invention combines previously scattered manual test cases into a centralized repository that can be efficiently managed and executed for regression testing, thereby maintaining individual testing flexibility while dramatically improving regression testing efficiency and eliminating redundancy.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10817409B2System and method for testing software applications in a software defined network
Publication Date: 2020.10.27 AT&T INTELLECTUAL PROPERTY I L P
  • US10817409B2 patent drawing
  • US10817409B2 patent drawing
  • US10817409B2 patent drawing

AI summary

A system, method and computer-readable medium for testing a service-based application identifies a set of use cases for the service-based application. Each use case in the set is mapped to a test case to generate a first set of test cases. Each of the test cases is refined to generate an updated set of test cases and the updated set of test cases is executed.