Codeless BDD Testing via DSL Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current behavior-driven development (BDD) tools require heavy coding and do not scale well, limiting their adoption in agile development due to lack of robustness and maintainability, especially when integrating with backend automation systems.
Innovation Solution
A system and tool that automates BDD scenarios by eliminating certain types of coding, using Domain Specific Language (DSL) and declarative styles to enable quick implementation, achieving high scalability, robustness, and maintainability, allowing for 'shift left' in testing and maximal first-pass automation without requiring application code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If heavy coding is used to integrate BDD tools with backend automation systems, then automation capability is achieved, but implementation time increases and robustness decreases
Solution Approach 1:
The patent introduces an intermediary component that translates natural language BDD scenarios into executable automation scripts. This mediator layer eliminates the need for heavy coding by automatically generating backend automation code from high-level BDD definitions, thus achieving automation capability while reducing implementation time
Solution Approach 2:
The system enables self-service automation where the BDD tool automatically generates and executes automation scripts without requiring manual coding intervention. The system serves itself by autonomously creating the necessary backend automation infrastructure, eliminating time loss associated with manual code writing
2Extent of automation
If heavy coding is used for backend automation integration, then automation functionality is achieved, but maintainability deteriorates
Solution Approach 1:
The intermediary translation layer acts as a buffer between BDD scenarios and automation code, allowing maintainability improvements in the BDD layer to automatically propagate to the generated code. Changes in natural language scenarios are automatically reflected in the automation scripts, eliminating manual code maintenance
Solution Approach 2:
The system creates automated copies of BDD scenarios in executable format. These generated scripts are faithful representations of the high-level BDD definitions, allowing maintainers to work with the simpler BDD layer while the system automatically maintains the corresponding automation code
3Extent of automation
If traditional BDD tool integration is used, then automation is achieved, but scalability is limited
Solution Approach 1:
The patent creates a universal integration layer that can work with multiple backend automation frameworks and tools. The intermediary translation mechanism is framework-agnostic, allowing the same BDD tool to scale across different automation platforms without reimplementation, thus achieving both automation and scalability
4Extent of automation
If strong backend system development skills are required, then automation implementation is achieved, but adoption in agile development decreases
Solution Approach 1:
The system performs self-service by automatically generating automation code without requiring manual intervention from developers. This eliminates the need for strong backend development skills, as the system handles code generation autonomously, making automation accessible to team members with diverse skill sets
Solution Approach 2:
The patent replaces the mechanical process of manual code writing with an automated translation mechanism. Instead of requiring developers to manually code backend automation, the system substitutes this mechanical coding process with automatic generation from natural language BDD scenarios, reducing skill requirements
Data Source
AI summary
The application code testing computing device may receive a set of instructions for testing one or more user interface pages of an application under test. The computing device may determine that the set of instructions is written in a first format, and parse the set of instructions to determine an action to perform and to determine data to use for the action to perform in response to determining that the set of instructions is written in the first format. Systems described herein may convert the determined action to perform to a second format to generate a converted action to perform and/or convert the determined data to use for the action to perform to the second format to generate converted data. The application code testing computing device may send, to an application framework, the converted action to perform and the converted data.


