Guided Software Component Testing via Inactive Workspace Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex software development environments, ensuring system stability is challenging due to the parallel development of numerous software components, which can lead to delays and instability issues when incorporating new changes, as it is difficult to determine if the system is stable enough for successful integration.

Innovation Solution

A method and apparatus for guided development and testing, where software components are initially built and tested in an inactive state, with successful components being moved to an active state only after thorough testing, ensuring stability before integration, and utilizing a system with an inactive and active workspace to manage changes and maintain a stable development environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software components are developed in parallel at overlapping times, then development productivity is improved, but system stability deteriorates

Engineering Contradiction:
Improvedevelopment speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the software development process into distinct workspaces (inactive and active) and states (developing, built, tested, activated). This segmentation allows parallel development in the inactive workspace while maintaining system stability through the active workspace, resolving the contradiction between development speed and system stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by building and testing software components in the inactive workspace before activating them. This preliminary validation ensures that components are stable before integration, allowing parallel development without compromising overall system stability.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If new changes are incorporated into the system, then software functionality is improved, but system stability deteriorates

Engineering Contradiction:
Improvesoftware functionalityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary building and testing of new changes in the inactive workspace before activating them in the active workspace. This preliminary validation ensures that new functionality is stable before integration, resolving the contradiction between adaptability and system stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The inactive workspace serves as an intermediary environment between development and production. New changes are developed and validated in this intermediate state before being activated, allowing functionality improvement while maintaining system stability through controlled transition.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If system stability is strictly maintained, then reliability is improved, but development productivity deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoiddevelopment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the software environment into active and inactive workspaces, allowing simultaneous stability maintenance in the active workspace and rapid development in the inactive workspace. This segmentation resolves the contradiction by enabling both reliability and productivity in different segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically transitions components between inactive and active states based on testing results. This dynamic approach allows the system to maintain stability for activated components while enabling rapid development and iteration in the inactive state, resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

4Reliability

If changes are tested thoroughly before activation, then system stability is improved, but development time deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary building and testing in the inactive workspace before activation. By conducting these actions in advance in a isolated environment, the system ensures stability while the parallel processing capability reduces the overall time impact, resolving the contradiction between reliability and development time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8201148B2Guided development and testing for computer code
Publication Date: 2012.06.12 SAP SE
  • US8201148B2 patent drawing
  • US8201148B2 patent drawing
  • US8201148B2 patent drawing

AI summary

A method and apparatus for a guided procedure development and testing for computer code. An embodiment of a method includes receiving a component for a software program, and storing the component in an inactive state. A new version of the software program is built, the new version being limited to the component stored in the inactive state and one or more components of the software program that are in an active state, with the new version being built in the inactive state. If the building of the new version is successful, then the new version of the software program is tested. If the testing of the new version is successful, then the component is moved into the active state.