Codeless BDD Testing via DSL Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveautomation capabilityVSAvoidimplementation time
Core Design Contradiction:
Extent of automationVSLoss of time

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #25Self-service

2Extent of automation

If heavy coding is used for backend automation integration, then automation functionality is achieved, but maintainability deteriorates

Engineering Contradiction:
Improveautomation functionalityVSAvoidmaintainability
Core Design Contradiction:
Extent of automationVSEase of repair

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #26Copying

3Extent of automation

If traditional BDD tool integration is used, then automation is achieved, but scalability is limited

Engineering Contradiction:
ImproveautomationVSAvoidscalability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Extent of automation

If strong backend system development skills are required, then automation implementation is achieved, but adoption in agile development decreases

Engineering Contradiction:
Improveautomation implementationVSAvoidadoption ease
Core Design Contradiction:
Extent of automationVSEase of operation

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9697110B1Codeless system and tool for testing applications
Publication Date: 2017.07.04 BANK OF AMERICA CORP
  • US9697110B1 patent drawing
  • US9697110B1 patent drawing
  • US9697110B1 patent drawing

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.