XML Test Specification Versioning in Code Repositories
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software testing methods are inefficient as they require tests to be developed after the software is complete, are specific to particular test engines, and do not allow for early testing, leading to inadequate testing and increased costs.
Innovation Solution
Tests are developed as specifications in XML format, allowing them to be independent of test engines and stored in code repositories for versioning, enabling modular development and reuse, and can be created early in the development cycle.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tests are developed using record-and-playback techniques after software construction is complete, then tests can be created with existing software, but testing time is reduced and testing quality deteriorates
Solution Approach 1:
The patent applies preliminary action by enabling test development before software construction is complete. Tests are defined in XML format that can be created independently of the finished software, allowing testing activities to start during the construction phase rather than waiting for completion. This resolves the contradiction by eliminating the sequential dependency that causes both time loss and reduced testing quality.
2Adaptability or versatility
If tests are created as engine-specific scripts, then tests can be executed by particular test engines, but portability and reusability across different engines are limited
Solution Approach 1:
The patent introduces XML as an intermediary format between test definitions and test engines. Instead of engines requiring proprietary script formats, the XML test definition serves as a universal intermediary that can be converted to different engine-specific formats. This mediator enables portability while maintaining engine-specific execution capabilities, resolving the contradiction between versatility and complexity.
Solution Approach 2:
The patent applies universality by creating test definitions in a standardized XML format that is independent of any particular test engine. The same XML test can be executed by multiple different test engines through conversion, making the test definition universally applicable. This eliminates engine-specific dependency while preserving the ability to execute tests on various engines.
3Productivity
If tests are developed separately after software completion, then tests can be created with full software functionality, but testing cannot proceed in parallel with development
Solution Approach 1:
The patent enables preliminary action by allowing test definition creation during the software development phase rather than waiting for completion. Since tests are defined in XML format independently of the actual software implementation, testing activities can proceed in parallel with code development, significantly improving productivity and eliminating the sequential time loss.
4Adaptability or versatility
If tests are written in engine-specific scripting languages, then tests can be executed by the test engine, but scripts cannot be easily ported between different engines
Solution Approach 1:
The patent uses XML as an intermediary layer that separates test portability from engine-specific execution requirements. The XML format serves as a universal intermediary that can be converted to different engine-specific scripting formats, enabling easy portability between engines while maintaining engine-specific execution capabilities. This resolves the contradiction by introducing a standardized intermediate representation.
Data Source
AI summary
A test for a piece of software may be created, and stored with the software. The software and the test may be stored in a code repository, where the test appears in a dependency graph, and is subject to version tracking, in a manner similar to other components of the software. These mechanisms may be used to determine whether a test is current relative to the software component that the test is used to evaluate. Tests may be developed by the software developers, by test developers, or by anyone else. Tests may be specified in a generic format, such as an eXtensible Markup Language (XML) format that meets some schema. The generic format test may be converted into a script that is usable with various script engines, thereby allowing tests to be developed in a test-engine-independent manner.


