Verifiable Test Case Workflow Using Cryptographic Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software development, continuous testing and verification processes often result in unreliable logs due to manipulation or falsification, making it difficult to accurately confirm actions taken and users responsible for sub-tasks.
Innovation Solution
A method involving the creation of a secure database for actions related to source files, where a test executable is hashed and matched across computers, ensuring the integrity of test results and environment logs, stored immutably with cryptographic hashes to prevent tampering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional logging methods are used for testing and verification, then the logging process is simple and easy to implement, but the logs can be manipulated or faked leading to inaccurate and unreliable records
Solution Approach 1:
The patent applies preliminary action by pre-hashing the test executable and storing it in a secure database before the actual testing occurs. This pre-prepared cryptographic reference enables later verification of test integrity without requiring complex real-time verification mechanisms during testing.
Solution Approach 2:
The patent introduces cryptographic hashing as an intermediary mechanism between the test executable and the logging system. By hashing both the test executable and test results, and storing these hashes in a secure database, the system creates a tamper-evident record that verifies authenticity without requiring direct access to the original data.
2Measurement precision
If cryptographic hashing is implemented to verify test executable integrity, then the accuracy and reliability of testing records is improved, but the processing time and computational resources increase
Solution Approach 1:
The system performs the computationally intensive hashing of the test executable in advance, before the actual testing begins. This pre-computation stores the cryptographic fingerprint in a secure database, eliminating the need for time-consuming verification calculations during the testing phase itself.
Solution Approach 2:
The patent creates cryptographic copies (hashes) of the test executable and test results that serve as verification tokens. These hash copies are much smaller and faster to process than the original data, enabling efficient verification without requiring the full computational resources needed to analyze the complete test artifacts.
3Stability of the object's composition
If test results and environment logs are stored with cryptographic hashes, then manipulation and tampering are prevented, but the storage requirements and database complexity increase
Solution Approach 1:
The patent stores cryptographic hash copies of the test executable and test results rather than the full original data. These hash values are significantly smaller in size compared to the complete test artifacts, providing tamper-proof verification while minimizing additional storage requirements.
Solution Approach 2:
The system extracts only the essential verification information (cryptographic hashes) from the complete test data and stores these extracted elements in the secure database. This separation stores only the critical integrity verification components rather than duplicating entire test suites and environment logs.
Data Source
AI summary
Verifiable test case workflow is provided by creating a secure database for actions taken regarding a source file that is stored on a first computer; creating a test executable from one or more source files and storing it on the first computer; finalizing the source file for test on a second computer different from the first computer; hashing a test environment related to the source file and the second computer; and in response to determining that a version of the test executable provided to the second computer matches a version of the test executable provided to the secure database: executing the test executable on the second computer; hashing test results from testing the source file on the second computer; and adding the test executable as hashed and the test results as hashed to the secure database to actions already stored in the secure database.


