Test Automation Tool Abstracts Scripting Languages via Java Handlers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automated testing of DNS resolution servers and domain registries is challenging due to differences in scripting languages, file formats, and protocols used by various registries, leading to inefficiencies and human errors in testing processes.

Innovation Solution

A test automation tool that abstracts the execution of tests across different scripting languages by using JAVA objects as general variables, allowing for the integration of handlers to perform specific testing functions, thereby providing a universal interface for coding test cases regardless of the scripting language used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual testing processes are used for DNS resolution servers and domain registries, then testing can be performed with simple tools, but the process becomes labor-intensive and time-consuming

Engineering Contradiction:
Improvetesting speedVSAvoidtime-consuming process
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces an intermediary layer (test automation framework with language-agnostic interface) that mediates between the tester and multiple scripting languages. This framework translates high-level test commands into language-specific scripts automatically, eliminating the need for manual rewriting while maintaining compatibility with different scripting environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The test automation tool is designed with universal functionality to support multiple scripting languages (Python, Java, JavaScript, etc.) through a single unified interface. The system can automatically generate, execute, and manage test cases across different language environments without requiring separate manual configuration for each language.

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

2Adaptability or versatility

If separate coding is performed for each scripting language in test cases, then specific language features can be utilized, but the complexity of syntax increases and human error rises

Engineering Contradiction:
Improvescripting language supportVSAvoidcoding complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The framework acts as an intermediary that handles language-specific syntax complexities automatically. Testers write commands in a language-agnostic high-level syntax, and the framework's compiler/interpreter translates these into appropriate language-specific scripts, eliminating the need for testers to manually handle syntax differences between languages.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the testing process into two distinct layers: a high-level language-agnostic command layer for testers, and a language-specific implementation layer handled automatically by the framework. This segmentation allows testers to focus on test logic while the framework manages syntax complexity.

Inventive Principle:
Principle #1Segmentation

3Productivity

If test automation tools are standardized, then execution speed improves, but compatibility with different scripting languages and protocols becomes difficult

Engineering Contradiction:
Improveautomation efficiencyVSAvoidlanguage compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The test automation framework is designed with universal multi-functionality to support multiple scripting languages and communication protocols simultaneously. It includes built-in compilers and interpreters for various languages (Python, Java, JavaScript, Ruby, etc.) and can adapt to different registry protocols without requiring separate specialized tools.

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

Solution Approach 2:

The system dynamically changes its operational parameters based on the target language or protocol. When a test case specifies a particular scripting language or registry protocol, the framework automatically adjusts its compilation and execution parameters to match the required environment, maintaining both standardization and adaptability.

Inventive Principle:
Principle #35Parameter changes

4Manufacturing precision

If hand-coding of test cases is performed for each language, then precise control over syntax is achieved, but the chance of human error increases

Engineering Contradiction:
Improvesyntax precisionVSAvoidhuman error reduction
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The framework serves as an intermediary that automatically generates syntactically precise code from high-level commands. This eliminates human error in syntax construction while maintaining precise control over the generated code, as the framework's compiler ensures correct syntax for the target language.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses template-based copying mechanisms where proven, error-free syntax patterns are automatically replicated and adapted for different languages. Instead of manually coding each test case from scratch, the framework copies and customizes verified syntax templates, reducing human error while maintaining syntax precision.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9552281B2Utilizing a test automation tool in a test automation environment
Publication Date: 2017.01.24 VERISIGN INC
  • US9552281B2 patent drawing
  • US9552281B2 patent drawing
  • US9552281B2 patent drawing

AI summary

Systems and methods are disclosed for integrating JAVA objects, such as handlers, into a scripting language to be used as part of a test automation environment including a test automation tool. The environment can access and execute one or more script files coded using diverse scripting languages designed to exercise and test DNS servers, registries, and/or other network entities. The test automation tool can invoke a set of generalized handlers that may comprise compiled JAVA objects configured to perform specific testing functions. The test automation tool may load a script for a test case and a scripting language, establish a controller, and interface the script to the intermediate JAVA handlers to abstract individual script files for use in a more universal fashion, avoiding incompatibilities that can arise between various script languages.