US20050229161A1 - Generic user interface testing framework with load-time libraries - Google Patents

Generic user interface testing framework with load-time libraries Download PDF

Info

Publication number
US20050229161A1
US20050229161A1 US10/814,563 US81456304A US2005229161A1 US 20050229161 A1 US20050229161 A1 US 20050229161A1 US 81456304 A US81456304 A US 81456304A US 2005229161 A1 US2005229161 A1 US 2005229161A1
Authority
US
United States
Prior art keywords
test
commands
tool
test software
software tool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/814,563
Inventor
Zhibin Wang
Dan Seeman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEA Systems Inc
Original Assignee
BEA Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Priority to US10/814,563 priority Critical patent/US20050229161A1/en
Assigned to BEA SYSTEMS, INC. reassignment BEA SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEEMAN, DAN, WANG, ZHIBIN
Publication of US20050229161A1 publication Critical patent/US20050229161A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Definitions

  • the invention is related generally to software development systems and particularly to a system and method for providing a generic user-interface testing framework.
  • Modern computing systems often utilize large-scale and/or complex software systems. Typical examples of these software systems include operating systems, application servers, and other complex software applications.
  • a key factor in developing and successfully marketing a complex software application is maintaining the quality of that application through a process of quality control. This typically includes tracking and fixing any inconsistencies, faults, or “bugs” that arise in the software code during the development process.
  • GUI's Graphical User Interfaces
  • UI's User Interfaces
  • GUI's Graphical User Interfaces
  • UI's User Interfaces
  • Automated UI test development systems, suites and tools have been developed, including for example the WinRunner test automation system marketed by Mercury Interactive, Inc.
  • the typical approach of such automated UI test development tools requires that the operator have knowledge not just of the test-tool-specific scripting language and environment, but also the specific features and idioms of the vendor-specific tool environment.
  • the learning curve fort these UI testing tools can be significant, and is often of use solely with that one tool.
  • a system for providing a generic UI testing framework.
  • the test framework together with the systems and methods embodying the technology, maps the native test development language and environment into arbitrary languages and environments.
  • This generic UI test framework insulates test developers from learning the tool-specific scripting language and environment.
  • the UI test framework provides a set of function interfaces and implementations that cover all generic UI testing operations. New users need only map their testing logic to the supported library interface in order to use the test tool, or another test tool, without having to learn the details of the underlying test-tool-specific scripting language.
  • the system includes a mechanism such that test developers can configure which libraries are applicable to the desired application(s) to be qualified and the test framework will only load those libraries at execution time. With the ability to dynamically load only the desired libraries one is able to “snap in” new testing modules as needed thus being able to accommodate new product qualification efforts with greater flexibility and efficiency. Test scripts can be developed into different functional modules. By developing modular libraries, we can develop a UI test framework to identify, load and use those libraries that are applicable to the applications under test.
  • the system includes a rules based automation script generating engine that removes the necessity of test developers from learning the abstract environment, parameters and directives used to implement the UI test automation system.
  • a user interface or wizard guides test developers through the various development stages. Upon completion, the test developer is left with a fully functional, end-to-end UI testing automation script.
  • FIG. 1 shows a logical diagram of a generic user-interface testing framework.
  • FIG. 2 shows a flowchart for using a generic user-interface testing framework.
  • FIG. 3 shows a logical diagram of dynamic load mechanism for use with a generic user-interface testing framework.
  • FIG. 4 shows a flowchart for using a dynamic load mechanism with a generic user-interface testing framework.
  • FIG. 5 shows the relationship between a wizard (or other editors) and the directives of test logic.
  • GUI's Graphical User Interfaces
  • UI's User Interfaces
  • GUI's Graphical User Interfaces
  • UI's User Interfaces
  • Automated UI test development systems, suites and tools have been developed, including for example the WinRunner test automation system marketed by Mercury Interactive, Inc. Building UI test cases traditionally involves using the UI test scripting language to construct the test logic of each test case. However, these UI test scripting languages are tied to specific test tools, and are traditionally difficult to learn and to use.
  • UI testing operations can be categorized into several dozens of common ones. Those UI testing operations, independent from test tools, are high-level logical abstractions of the actions that a user can perform on a particular UI. UI test cases (containing “directives”) can then be decoupled from the native scripting languages in such a way that UI test cases can be built using the descriptions of those common test operations.
  • a UI test framework can supply the service of an interpretive engine that interprets the logic in the UI test cases and function libraries developed to support those generic testing operations in test-tool-specific scripting languages.
  • UI test developers only need to write their automated UI tests in a tool-independent (or indeed a completely tool-absent) format ,such as in an XML, spreadsheet or a text form, to capture the test logic.
  • the UI framework's interpretive engine reads the directives of the test logic to drive tests using the underlying function libraries.
  • the directives of test logic can be captured in any format as long as the interpretive engine of the UI test framework is able to read the format correctly and to retrieve the information of the test logic.
  • the directives can be created or edited using the appropriate editing tool for the chosen format. For example, if the directives are captured in the XML format then a text editor, an XML editor, or a wizard can be used to create or edit the file containing the directives; if the directives are captured in a spreadsheet, then a Microsoft Excel spreadsheet tool, or a similar spreadsheet program, can be used.
  • the UI test framework can provide a utility wizard that displays supported functions and guides test developers to pick and choose which functions they would like to use as the directives.
  • the interpretive engine of the UI framework maps the directives into function libraries that are implemented in the test-tool-specific scripting language.
  • test framework developers can implement the same low-level functions in the new scripting language and the interpretive engine, thereby preserving and thus building on the value of all the work and experience that has been accomplished with the previous tool.
  • Test developers familiar with the tool-independent environment are insulated from any change in the underlying tool. There is no need for them to even know the low level mechanism has been switched.
  • kits and documentation may be provided for the UI test framework. New users only need to install the kit and follow the documentation to be able to utilize the advancement.
  • test tool is only required for test execution. It is not required to build test cases, which contains tool-independent test logic. Users can choose whether or not to install “online” a core, tool-specific software. If they decide not to install the tool-specific software, users can create test cases “offline” at another machine, and then simply copy their tool-independent test cases to a central location where it will then be executed. This also saves cost on buying multiple instances of the vendor specific test tool.
  • FIG. 1 shows a logical overview of a generic user-interface testing framework 2 in accordance with an embodiment of the invention.
  • Test cases 4 contain the directives of tool-independent test logic and are written in a predefined format.
  • the directives of test logic can be captured in any format as long as the interpretive engine of the UI test framework is developed and/or configured to read the format correctly and to retrieve the information of the test logic.
  • the directives can be created or edited using the appropriate editing tool for the chosen format. For example, if the directives are captured in the XML format, a text editor, an XML editor, or a wizard can be used to create or edit the file containing the directives; if the directives are captured in the spreadsheet, then an Excel spreadsheet or similar tool can be used.
  • an interpretive engine 6 parses the directives properly, and maps the directives to the underlying functions (in one embodiment through the use of libraries 8 or dynamic load libraries described in further detail below) to execute the UI action in the test-tool-specific environment 10 .
  • Both the interpretive engine and the supported function libraries are written in the tool-specific scripting language, for example WinRunner or any other tool language.
  • Developing a UI test case includes building directives that capture the logical test flow.
  • a UI test developer is not required to know test-tool-specific scripting language or environment to build test cases. The test developer only needs to know how to capture the test logic using well-defined common testing operations (such as button-click, link-click, etc).
  • An editing tool may be used to help create and/or edit the directives.
  • FIG. 2 shows a flowchart for a process of providing a generic user interface testing framework in accordance with an embodiment of the invention.
  • the user interface tester/developer develops user interface testing scripts containing test directives.
  • the scripts may be developed either online or offline. In an online environment, the scripts/directives can be fed directly to the test environment. In an offline environment, the scripts/directives can be saved and processed at a later time.
  • the testing script or directives are communicated to the interpretive engine.
  • the interpretive engine translates the script and/or directives and maps the generic commands therein into test suite-specific or test tool-specific language.
  • the test suite-specific language is used to drive the test suite in testing the build of the user interface.
  • test cases can grow to thousands of lines of code (or more), while the number of actual common testing operations is limited.
  • the amount of work to continuously build test cases far exceeds that of building an interpretive engine and the supported function libraries.
  • the ability to preserve test cases during the test-tool switch provides exceptional value to reduce the cost of test development and maintenance.
  • User interface applications can be distinctly different. For example, Internet browser based applications are visually and functionally different from the Java (swing/awt) UI applications. To conserve money, time and resources, companies often select one UI automation tool that can accommodate a variety of application types. This allows companies to share at least knowledge and training and in rare cases, tool-specific source code.
  • An embodiment of the present invention addresses this issue by including within the generic UI test framework a mechanism such that test developers can configure which libraries are applicable to the desired application(s) to be qualified.
  • the test framework will only load those desired libraries at execution time. With the ability to dynamically load only the desired libraries one is able to “snap in” new testing modules as needed, thus being able to accommodate new product qualification efforts with greater flexibility and efficiency.
  • the core of the dynamic load feature is to implement a well-defined contract system for executing loadable libraries.
  • the higher layer system is able to load and execute contract compliant libraries.
  • This system is similar to other dynamically loadable library systems.
  • the present system can be used to apply this logic to specific UI test tool products such that they can be used to qualify a wide variety of applications.
  • a key feature of the system is its flexibility. One is able to use the system to test a variety of applications. Moreover the system is generalized enough that one is not strictly confined to the implementation language of all the loadable libraries. As long as the loadable library entry point is contract compliant (and language specific), then subsequent libraries can be written in any language supported by the test-tool development language. For example, most UI test tool languages have an execution interface. One is perfectly free to use the execution interface to gain access to and use of any other development language.
  • FIG. 3 shows a design for a system that includes a dynamic load library mechanism in accordance with an embodiment of the invention.
  • the system includes a generic testing framework 20 largely as described above, including an interpretive engine 24 that receives directives and translates them into UI test-tool-specific language 10 .
  • Functions are logically grouped into libraries ( 26 - 30 ), such as Web Functions 26 , Swing Functions 28 , Log Functions 30 , etc. Additional libraries may be added as needed.
  • the test framework can be configured to identify which libraries are to be loaded. Once it is configured, the test framework will only load those specified libraries at run time, which provide support for properly executing the tests. In this way, different UI tests will only load and use those libraries applicable to the tests. As new tool environments are used within a corporation, additional libraries can be included in the testing framework to provide support for those environments.
  • FIG. 4 shows a flowchart for a process of using a dynamic load mechanism with a generic user interface testing framework in accordance with an embodiment of the invention.
  • the test framework is configured to identify which run-time load libraries should be loaded.
  • the specified load libraries are loaded.
  • the testing framework receives the scripts/directives, typically from a wizard, spreadsheet or other interface as described above.
  • the testing script or directives are communicated to the interpretive engine.
  • the interpretive engine translates the script and/or directives and, using the dynamically loaded libraries, maps the generic commands therein into test suite-specific commands for communications to the test suite or test tool.
  • test-tool-specific UI automation source code After the developer has been abstracted away from writing test-tool-specific UI automation source code the problem of having to learn a test-driving language remains.
  • a generic framework such as that described above is useful in mapping the test-tool-specific language into something more familiar to the target (test developing) audience. But even in the best circumstances the test developer must learn a new set of directives.
  • the set of directives can be abstract and confusing. Furthermore, this knowledge is not transferable, as it is specific to the implementation environment. This task is equivalent to that of learning one company's internal (company, project or even group specific) Application Programming Interface (API) set.
  • API Application Programming Interface
  • the language itself XML for example
  • An embodiment of the invention addresses this issue by including a rules-based automation script generating engine that removes the necessity of test developers from learning the abstract environment, parameters and directives used to implement the UI test automation system.
  • a user interface or wizard guides test developers through the various development stages. Upon completion of all stages, the test developer is left with a fully functional, end-to-end UI testing automation script. This is not a replacement for a UI automation test-tool-specific action recorder.
  • the source code produced by this engine is test tool “agnostic” and can be used (potentially) with any automation test tool. As long as the appropriate framework and libraries have been implemented in the test-tool-specific language, the source code produced by this rules engine can be used to drive it.
  • UI test scripting languages are difficult to learn and to use. Moreover, it is often easy to fall into the “use-once-and-trash-it” trap of UI automation tools. It is particularly easy to fall into this trap when using automation test-tool-specific action recorders.
  • the test-tool-specific code produced by these action recorders is often relevant only to the specific parameters and environment(s) where the recorder was employed. This renders the generated code useless when it is copied to another location. This locks the developers into a perpetual state of writing and re-writing test automation code for similar or completely equivalent test scenarios. Companies hemorrhage significant capital and resources because of this perpetual cycle.
  • the solution to this problem is to first map the test-tool-specific language into one that is more familiar to the test developing staff, which is provided by te generic testing framework described above.
  • a second layer to this solution is to provide a rules-based wizard that guides test developers through the code development sequence.
  • the product of this engine is a standardized automation test that can be used with (potentially) any vendor specific UI automation tool. Implementation of this engine/wizard provides significant capital savings, day-to-day efficiency, learning curve reduction (even elimination) as well as test automation source code maintenance and flexibility.
  • FIG. 5 shows the relationship between the wizard 44 (and other editors 46 , 48 ) and the directives 50 of test logic.
  • a rules-based wizard can be used to create or edit the document containing the directives.
  • the wizard provides a set of UI testing operations. The wizard can then guide test developers to pick and choose any of the well-defined UI testing operations so as to build test cases. These test cases are then communicated to the testing framework as directives, and are processed as described in detail above.
  • the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure.
  • Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
  • the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention.
  • the storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.

Abstract

A system and method for providing a generic user interface testing framework, together with a mechanism such that libraries which are applicable to the desired application(s) can be qualified, and the test framework will load those libraries at execution time. With the ability to dynamically load only the desired libraries one is able to plug in new testing modules as needed, thus being able to accommodate new product qualification efforts with greater flexibility and efficiency.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is related to copending applications SYSTEM AND METHOD FOR PROVIDING A GENERIC USER INTERFACE TESTING FRAMEWORK”, application Ser. No. ______, Inventors: Dan Seeman and Zhibin Wang, filed Mar. 31, 2004 (Atty. Docket No. BEAS-01512US0); and “GENERIC USER INTERFACE TESTING FRAMEWORK WITH RULES-BASED WIZARD”, application Ser. No. ______, Inventor: Zhibin Wang, filed Mar. 31, 2004 (Atty. Docket No. BEAS-01514US0), each of which applications are incorporated herein by reference.
  • FIELD OF THE INVENTION
  • The invention is related generally to software development systems and particularly to a system and method for providing a generic user-interface testing framework.
  • BACKGROUND
  • Modern computing systems often utilize large-scale and/or complex software systems. Typical examples of these software systems include operating systems, application servers, and other complex software applications. A key factor in developing and successfully marketing a complex software application is maintaining the quality of that application through a process of quality control. This typically includes tracking and fixing any inconsistencies, faults, or “bugs” that arise in the software code during the development process.
  • In most companies the quality control activity is the responsibility of a Quality Assurance (QA) team. Software fault analysis is often one of the more costly endeavors of the QA cycle of a product, both in terms of human and machine resources. Particularly on large and complex software products bugs can take hours or days to track down, often requiring 30%-40% of the QA teams efforts. Any system that can be used to speed up the bug identification and tracking process can lead to great improvements in development time and produce economic efficiencies for the company.
  • Graphical User Interfaces (GUI's), or User Interfaces (UI's) pose a special problem of software testing in that the QA testing of such a UI must mimic the types of interaction a user might make with the interface. Automated UI test development systems, suites and tools have been developed, including for example the WinRunner test automation system marketed by Mercury Interactive, Inc. However, the typical approach of such automated UI test development tools requires that the operator have knowledge not just of the test-tool-specific scripting language and environment, but also the specific features and idioms of the vendor-specific tool environment. The learning curve fort these UI testing tools can be significant, and is often of use solely with that one tool. (It is not uncommon for new users to spend 6 months or more to “ramp up” on a given tool, i.e. learn how to install it, use it, and write code to run it so as to produce workable, sustainable, reusable UI automation code). If another type of tool is to be used, the tester must again deal with the learning curve of the new tool. Furthermore, with the typical test development tool one needs to install the vendor specific software to use it, incurring both capital outlay and (local) resource costs. This initial capital outlay (i.e. the cost of the tool) typically cannot be recovered if the original tool is subsequently replaced with a new tool.
  • SUMMARY
  • A system is herein described for providing a generic UI testing framework. The test framework, together with the systems and methods embodying the technology, maps the native test development language and environment into arbitrary languages and environments. This generic UI test framework insulates test developers from learning the tool-specific scripting language and environment.
  • In accordance with one embodiment, the UI test framework provides a set of function interfaces and implementations that cover all generic UI testing operations. New users need only map their testing logic to the supported library interface in order to use the test tool, or another test tool, without having to learn the details of the underlying test-tool-specific scripting language.
  • In accordance with another embodiment, the system includes a mechanism such that test developers can configure which libraries are applicable to the desired application(s) to be qualified and the test framework will only load those libraries at execution time. With the ability to dynamically load only the desired libraries one is able to “snap in” new testing modules as needed thus being able to accommodate new product qualification efforts with greater flexibility and efficiency. Test scripts can be developed into different functional modules. By developing modular libraries, we can develop a UI test framework to identify, load and use those libraries that are applicable to the applications under test.
  • In accordance with another embodiment, the system includes a rules based automation script generating engine that removes the necessity of test developers from learning the abstract environment, parameters and directives used to implement the UI test automation system. A user interface or wizard guides test developers through the various development stages. Upon completion, the test developer is left with a fully functional, end-to-end UI testing automation script.
  • BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 shows a logical diagram of a generic user-interface testing framework.
  • FIG. 2 shows a flowchart for using a generic user-interface testing framework.
  • FIG. 3 shows a logical diagram of dynamic load mechanism for use with a generic user-interface testing framework.
  • FIG. 4 shows a flowchart for using a dynamic load mechanism with a generic user-interface testing framework.
  • FIG. 5 shows the relationship between a wizard (or other editors) and the directives of test logic.
  • DETAILED DESCRIPTION
  • Graphical User Interfaces (GUI's), or User Interfaces (UI's) pose a special problem of software testing in that the QA testing of such a UI must mimic the types of interaction a user might make with the interface. Automated UI test development systems, suites and tools have been developed, including for example the WinRunner test automation system marketed by Mercury Interactive, Inc. Building UI test cases traditionally involves using the UI test scripting language to construct the test logic of each test case. However, these UI test scripting languages are tied to specific test tools, and are traditionally difficult to learn and to use.
  • The inventors have reasoned that UI testing operations can be categorized into several dozens of common ones. Those UI testing operations, independent from test tools, are high-level logical abstractions of the actions that a user can perform on a particular UI. UI test cases (containing “directives”) can then be decoupled from the native scripting languages in such a way that UI test cases can be built using the descriptions of those common test operations. A UI test framework can supply the service of an interpretive engine that interprets the logic in the UI test cases and function libraries developed to support those generic testing operations in test-tool-specific scripting languages. In this way, UI test developers only need to write their automated UI tests in a tool-independent (or indeed a completely tool-absent) format ,such as in an XML, spreadsheet or a text form, to capture the test logic. In the test execution process, the UI framework's interpretive engine reads the directives of the test logic to drive tests using the underlying function libraries.
  • The directives of test logic can be captured in any format as long as the interpretive engine of the UI test framework is able to read the format correctly and to retrieve the information of the test logic. The directives can be created or edited using the appropriate editing tool for the chosen format. For example, if the directives are captured in the XML format then a text editor, an XML editor, or a wizard can be used to create or edit the file containing the directives; if the directives are captured in a spreadsheet, then a Microsoft Excel spreadsheet tool, or a similar spreadsheet program, can be used.
  • Because there are several dozens of well-defined logical UI testing operations, in accordance with one embodiment the UI test framework can provide a utility wizard that displays supported functions and guides test developers to pick and choose which functions they would like to use as the directives. The interpretive engine of the UI framework maps the directives into function libraries that are implemented in the test-tool-specific scripting language.
  • If, at some later date, the company or the test developers decide to use another test tool, then the test cases can be preserved since they only contain tool-independent test logic. Test framework developers can implement the same low-level functions in the new scripting language and the interpretive engine, thereby preserving and thus building on the value of all the work and experience that has been accomplished with the previous tool. Test developers familiar with the tool-independent environment are insulated from any change in the underlying tool. There is no need for them to even know the low level mechanism has been switched.
  • In accordance with other embodiments, kits and documentation may be provided for the UI test framework. New users only need to install the kit and follow the documentation to be able to utilize the advancement.
  • The test tool is only required for test execution. It is not required to build test cases, which contains tool-independent test logic. Users can choose whether or not to install “online” a core, tool-specific software. If they decide not to install the tool-specific software, users can create test cases “offline” at another machine, and then simply copy their tool-independent test cases to a central location where it will then be executed. This also saves cost on buying multiple instances of the vendor specific test tool.
  • Generic User Interface Test Framework
  • FIG. 1 shows a logical overview of a generic user-interface testing framework 2 in accordance with an embodiment of the invention. Test cases 4 contain the directives of tool-independent test logic and are written in a predefined format. The directives of test logic can be captured in any format as long as the interpretive engine of the UI test framework is developed and/or configured to read the format correctly and to retrieve the information of the test logic. The directives can be created or edited using the appropriate editing tool for the chosen format. For example, if the directives are captured in the XML format, a text editor, an XML editor, or a wizard can be used to create or edit the file containing the directives; if the directives are captured in the spreadsheet, then an Excel spreadsheet or similar tool can be used.
  • In accordance with one embodiment, an interpretive engine 6 parses the directives properly, and maps the directives to the underlying functions (in one embodiment through the use of libraries 8 or dynamic load libraries described in further detail below) to execute the UI action in the test-tool-specific environment 10. Both the interpretive engine and the supported function libraries are written in the tool-specific scripting language, for example WinRunner or any other tool language.
  • Developing a UI test case includes building directives that capture the logical test flow. A UI test developer is not required to know test-tool-specific scripting language or environment to build test cases. The test developer only needs to know how to capture the test logic using well-defined common testing operations (such as button-click, link-click, etc). An editing tool may be used to help create and/or edit the directives.
  • If a new tool is used to replace the existing tool, all of the directives 4 of test logic can be retained. Only the interpretive engine and the function libraries need to be re-implemented in the new scripting language. For example, switching from WinRunner as the testing tool, to a different testing tool, requires only changes to the interpretive engine and/or the function libraries. The directives themselves, which can be saved as test files, spreadsheets, or some other format, may be re-used.
  • FIG. 2 shows a flowchart for a process of providing a generic user interface testing framework in accordance with an embodiment of the invention. As shown in FIG. 2, in step 12 the user interface tester/developer develops user interface testing scripts containing test directives. The scripts may be developed either online or offline. In an online environment, the scripts/directives can be fed directly to the test environment. In an offline environment, the scripts/directives can be saved and processed at a later time. In step 14, the testing script or directives are communicated to the interpretive engine. In step 16, the interpretive engine translates the script and/or directives and maps the generic commands therein into test suite-specific or test tool-specific language. In step 18, the test suite-specific language is used to drive the test suite in testing the build of the user interface.
  • Within any software corporation, most of the work involved in UI testing lies in building the test cases. Test cases can grow to thousands of lines of code (or more), while the number of actual common testing operations is limited. The amount of work to continuously build test cases far exceeds that of building an interpretive engine and the supported function libraries. In accordance with the present invention, the ability to preserve test cases during the test-tool switch provides exceptional value to reduce the cost of test development and maintenance.
  • Dynamic Load Mechanism
  • User interface applications can be distinctly different. For example, Internet browser based applications are visually and functionally different from the Java (swing/awt) UI applications. To conserve money, time and resources, companies often select one UI automation tool that can accommodate a variety of application types. This allows companies to share at least knowledge and training and in rare cases, tool-specific source code.
  • However, the aggregation of test-tool-specific source code for heterogeneous application types creates significant management overhead. The management overhead is often so onerous that companies often separate development efforts in total, resulting in duplicated staffing, efforts and source code. Reducing this duplication represents a significant savings for the company, not just in project management overhead, staffing, etc. but also in source code maintenance, flexibility and scalability.
  • An embodiment of the present invention addresses this issue by including within the generic UI test framework a mechanism such that test developers can configure which libraries are applicable to the desired application(s) to be qualified. The test framework will only load those desired libraries at execution time. With the ability to dynamically load only the desired libraries one is able to “snap in” new testing modules as needed, thus being able to accommodate new product qualification efforts with greater flexibility and efficiency.
  • The core of the dynamic load feature is to implement a well-defined contract system for executing loadable libraries. The higher layer system is able to load and execute contract compliant libraries. This system is similar to other dynamically loadable library systems. However the present system can be used to apply this logic to specific UI test tool products such that they can be used to qualify a wide variety of applications.
  • A key feature of the system is its flexibility. One is able to use the system to test a variety of applications. Moreover the system is generalized enough that one is not strictly confined to the implementation language of all the loadable libraries. As long as the loadable library entry point is contract compliant (and language specific), then subsequent libraries can be written in any language supported by the test-tool development language. For example, most UI test tool languages have an execution interface. One is perfectly free to use the execution interface to gain access to and use of any other development language.
  • FIG. 3 shows a design for a system that includes a dynamic load library mechanism in accordance with an embodiment of the invention. As shown in FIG. 3, the system includes a generic testing framework 20 largely as described above, including an interpretive engine 24 that receives directives and translates them into UI test-tool-specific language 10. Functions are logically grouped into libraries (26-30), such as Web Functions 26, Swing Functions 28, Log Functions 30, etc. Additional libraries may be added as needed. The test framework can be configured to identify which libraries are to be loaded. Once it is configured, the test framework will only load those specified libraries at run time, which provide support for properly executing the tests. In this way, different UI tests will only load and use those libraries applicable to the tests. As new tool environments are used within a corporation, additional libraries can be included in the testing framework to provide support for those environments.
  • FIG. 4 shows a flowchart for a process of using a dynamic load mechanism with a generic user interface testing framework in accordance with an embodiment of the invention. As shown in FIG. 4, in step 32, the test framework is configured to identify which run-time load libraries should be loaded. In step 34, at run-time the specified load libraries are loaded. In step 36, the testing framework receives the scripts/directives, typically from a wizard, spreadsheet or other interface as described above. In step 38, the testing script or directives are communicated to the interpretive engine. In step 40, the interpretive engine translates the script and/or directives and, using the dynamically loaded libraries, maps the generic commands therein into test suite-specific commands for communications to the test suite or test tool.
  • User Interface Automation Wizard
  • After the developer has been abstracted away from writing test-tool-specific UI automation source code the problem of having to learn a test-driving language remains. A generic framework such as that described above is useful in mapping the test-tool-specific language into something more familiar to the target (test developing) audience. But even in the best circumstances the test developer must learn a new set of directives. The set of directives can be abstract and confusing. Furthermore, this knowledge is not transferable, as it is specific to the implementation environment. This task is equivalent to that of learning one company's internal (company, project or even group specific) Application Programming Interface (API) set. The language itself (XML for example) may be common, but the language formats, rules, commands and directives are typically unique.
  • An embodiment of the invention addresses this issue by including a rules-based automation script generating engine that removes the necessity of test developers from learning the abstract environment, parameters and directives used to implement the UI test automation system.
  • In accordance with an embodiment, a user interface or wizard guides test developers through the various development stages. Upon completion of all stages, the test developer is left with a fully functional, end-to-end UI testing automation script. This is not a replacement for a UI automation test-tool-specific action recorder. The source code produced by this engine is test tool “agnostic” and can be used (potentially) with any automation test tool. As long as the appropriate framework and libraries have been implemented in the test-tool-specific language, the source code produced by this rules engine can be used to drive it.
  • UI test scripting languages are difficult to learn and to use. Moreover, it is often easy to fall into the “use-once-and-trash-it” trap of UI automation tools. It is particularly easy to fall into this trap when using automation test-tool-specific action recorders. The test-tool-specific code produced by these action recorders is often relevant only to the specific parameters and environment(s) where the recorder was employed. This renders the generated code useless when it is copied to another location. This locks the developers into a perpetual state of writing and re-writing test automation code for similar or completely equivalent test scenarios. Companies hemorrhage significant capital and resources because of this perpetual cycle.
  • The solution to this problem is to first map the test-tool-specific language into one that is more familiar to the test developing staff, which is provided by te generic testing framework described above. A second layer to this solution is to provide a rules-based wizard that guides test developers through the code development sequence. The product of this engine is a standardized automation test that can be used with (potentially) any vendor specific UI automation tool. Implementation of this engine/wizard provides significant capital savings, day-to-day efficiency, learning curve reduction (even elimination) as well as test automation source code maintenance and flexibility.
  • FIG. 5 shows the relationship between the wizard 44 (and other editors 46, 48) and the directives 50 of test logic. A rules-based wizard can be used to create or edit the document containing the directives. In accordance with an embodiment the wizard provides a set of UI testing operations. The wizard can then guide test developers to pick and choose any of the well-defined UI testing operations so as to build test cases. These test cases are then communicated to the testing framework as directives, and are processed as described in detail above.
  • The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
  • In some embodiments, the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
  • The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Particularly, while the embodiment of the system is described in the context of a WebLogic system, and in combination or use with test development systems such as WinRunner, it will be evident thatthe framework provided may be used with other types of applications and systems, including other types of application servers, and with other types of test development systems. The embodiments were chosen and described in orderto best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention forvarious embodiments and with various modifications that are suited tothe particular use contemplated. It is intended that the scopeof the invention be defined by the following claims and their equivalence.

Claims (21)

1. A system that provides a generic user interface testing framework, comprising:
an interpretive engine that receives and translates generic interface commands from a tester; and
a native library for mapping the generic interface commands to native language understood by a particular test software tool;
wherein the interpretive engine uses the native library to map the directives into tool-dependent codes that are then passed to the test software tool, and
wherein libraries can be loaded to support different test software suites and applications.
2. The system of claim 1 wherein the system includes the test software tool stored locally on the same computer or machine.
3. The system of claim 1 wherein the test software tool is stored at another computer or machine.
4. The system of claim 1 wherein the editor provides a graphical interface to allow the tester to enter said test commands.
5. The system of claim 1 wherein the editor communicates the test commands as a script of directives.
6. The system of claim 1 wherein the test commands can be created offline and subsequently communicated to the interpretive engine.
7. The system of claim 1 wherein the test software tool can be removed and replaced with another test software tool.
8. A method for providing a generic user interface testing framework, comprising the steps of:
allowing a tester to enter a number of generic test commands or directives via an editor or interface; and
translating, using an interpretive engine, the generic interface commands received from the tester, and mapping, using a native library, the generic commands to native language understood by a particular test software tool;
wherein the interpretive engine uses the native library to map the directives into tool-dependent codes that are then passed to the test software tool, and
wherein libraries can be loaded to support different test software suites and applications.
9. The method of claim 8 wherein the system includes the test software tool stored locally on the same computer or machine.
10. The method of claim 8 wherein the test software tool is stored at another computer or machine.
11. The method of claim 8 wherein the editor provides a graphical interface to allow the tester to enter said test commands.
12. The method of claim 8 wherein the editor communicates the test commands as a script of directives.
13. The method of claim 8 wherein the test commands can be created offline and subsequently communicated to the interpretive engine.
14. The method of claim 8 wherein the test software tool can be removed and replaced with another test software tool.
15. A computer readable medium including instructions stored thereon which when executed cause the computer to perform the steps of:
allowing a tester to enter a number of generic test commands or directives via an editor or interface; and
translating, using an interpretive engine, the generic interface commands from the tester, and mapping, using a native library, the generic commands to native language understood by a particular test software tool,
wherein the interpretive engine uses the native library to map the directives into tool-dependent codes that are then passed to the test software tool,
and wherein libraries can be loaded to support different test software suites and applications.
16. The computer readable medium of claim 15 wherein the system includes the test software tool stored locally on the same computer or machine.
17. The computer readable medium of claim 15 wherein the test software tool is stored at another computer or machine.
18. The computer readable medium of claim 15 wherein the editor provides a graphical interface to allow the tester to enter said test commands.
19. The computer readable medium of claim 15 wherein the editor communicates the test commands as a script of directives.
20. The computer readable medium of claim 15 wherein the test commands can be created offline and subsequently communicated to the interpretive engine.
21. The computer readable medium of claim 15 wherein the test software tool can be removed and replaced with another test software tool.
US10/814,563 2004-03-31 2004-03-31 Generic user interface testing framework with load-time libraries Abandoned US20050229161A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/814,563 US20050229161A1 (en) 2004-03-31 2004-03-31 Generic user interface testing framework with load-time libraries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/814,563 US20050229161A1 (en) 2004-03-31 2004-03-31 Generic user interface testing framework with load-time libraries

Publications (1)

Publication Number Publication Date
US20050229161A1 true US20050229161A1 (en) 2005-10-13

Family

ID=35062006

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/814,563 Abandoned US20050229161A1 (en) 2004-03-31 2004-03-31 Generic user interface testing framework with load-time libraries

Country Status (1)

Country Link
US (1) US20050229161A1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257198A1 (en) * 2004-05-11 2005-11-17 Frank Stienhans Testing pattern-based applications
US20060090100A1 (en) * 2004-08-27 2006-04-27 Gerald Holzapfel Functional unit for carrying out logical test cases on a test system interconnected to a unit to be tested and corresponding method
US20060230319A1 (en) * 2005-04-12 2006-10-12 Ryali Jogarao M Automated migration of software instructions
US20070124114A1 (en) * 2005-11-29 2007-05-31 Microsoft Corporation Device testing framework for creating device-centric scenario-based automated tests
US20070234127A1 (en) * 2006-03-31 2007-10-04 Nguyen Dung H Methods and systems for automated testing of applications using an application independent GUI map
US20080155515A1 (en) * 2006-12-21 2008-06-26 International Business Machines Association Method and System for Graphical User Interface Testing
US20100058295A1 (en) * 2008-09-02 2010-03-04 International Business Machines Corporation Dynamic Test Coverage
US20100131798A1 (en) * 2008-05-30 2010-05-27 International Business Machines Corporation Self-Adaptive Solution for Determining the Waiting Time on Page Loading
US7761841B1 (en) * 2005-04-29 2010-07-20 Sprint Communications Company L.P. Enhanced data loading for test management tool
US20110123973A1 (en) * 2008-06-06 2011-05-26 Sapient Corporation Systems and methods for visual test authoring and automation
US20110231825A1 (en) * 2007-04-05 2011-09-22 Accenture Global Services Limited Automatic test generation for reference testing
US20130159974A1 (en) * 2011-12-15 2013-06-20 The Boeing Company Automated Framework For Dynamically Creating Test Scripts for Software Testing
US20150095761A1 (en) * 2013-10-02 2015-04-02 Velocity Technology Solutions, Inc. Methods and systems for managing community information
US20150135158A1 (en) * 2013-11-14 2015-05-14 Dimitar Tenev Isolated testing of distributed development projects
US20150262205A1 (en) * 2014-03-12 2015-09-17 Adobe Systems Incorporated System Identification Framework
CN106371864A (en) * 2016-08-23 2017-02-01 上海创景计算机系统有限公司 Method for quickly deploying plugin architecture
US9658944B2 (en) 2015-08-20 2017-05-23 Ca, Inc. Generic test automation for graphical user interface (GUI) applications
US9760567B1 (en) * 2013-10-21 2017-09-12 Ca, Inc. Method and apparatus for using a common dialect for testing on multiple execution interfaces
US10095609B1 (en) * 2011-09-23 2018-10-09 Amazon Technologies, Inc. Intermediary for testing content and applications
US20220365872A1 (en) * 2021-04-27 2022-11-17 Salesforce.Com, Inc. Intelligent generation of page objects for user interface testing
US11636025B2 (en) 2021-04-27 2023-04-25 Salesforce, Inc. Intelligent generation of automated user interface testing methods

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577198A (en) * 1994-07-28 1996-11-19 Alcatel Sel A.G. Test method as well as a converter, a test set, and a test-program module therefor
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US6219829B1 (en) * 1997-04-15 2001-04-17 Compuware Corporation Computer software testing management
US6223144B1 (en) * 1998-03-24 2001-04-24 Advanced Technology Materials, Inc. Method and apparatus for evaluating software programs for semiconductor circuits
US6449618B1 (en) * 1999-03-25 2002-09-10 Lucent Technologies Inc. Real-time event processing system with subscription model
US20020162059A1 (en) * 2000-10-27 2002-10-31 Mcneely Tracy J. Methods and systems for testing communications network components
US20020178438A1 (en) * 2001-05-16 2002-11-28 Arbouzov Leonid M. System and method for a java preprocessor
US20030055836A1 (en) * 2001-09-14 2003-03-20 David Dubovsky Methods for generating data structures for use with environment based data driven automated test engine for GUI applications
US20030070119A1 (en) * 2001-10-10 2003-04-10 Dallin Michael Dean Method and system for testing a software product
US20030121025A1 (en) * 2001-09-05 2003-06-26 Eitan Farchi Method and system for combining multiple software test generators
US20030131290A1 (en) * 1998-06-22 2003-07-10 Amir Weinberg Software system and methods for testing transactional servers
US6823522B1 (en) * 1999-07-15 2004-11-23 International Business Machines Corporation Methods, systems and computer program products for chaining integration objects to provide web access for legacy data sources
US20050021274A1 (en) * 2003-07-07 2005-01-27 Matthew Eden Method and system for information handling system automated and distributed test
US6944848B2 (en) * 2001-05-03 2005-09-13 International Business Machines Corporation Technique using persistent foci for finite state machine based software test generation
US7117484B2 (en) * 2002-04-16 2006-10-03 International Business Machines Corporation Recursive use of model based test generation for middleware validation
US7222265B1 (en) * 2001-07-02 2007-05-22 Lesuer Brian J Automated software testing
US20070174383A1 (en) * 2001-12-11 2007-07-26 Open Invention Network Llc System and method for effectively configuring a marketsite application integrator

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577198A (en) * 1994-07-28 1996-11-19 Alcatel Sel A.G. Test method as well as a converter, a test set, and a test-program module therefor
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US6219829B1 (en) * 1997-04-15 2001-04-17 Compuware Corporation Computer software testing management
US6223144B1 (en) * 1998-03-24 2001-04-24 Advanced Technology Materials, Inc. Method and apparatus for evaluating software programs for semiconductor circuits
US20030131290A1 (en) * 1998-06-22 2003-07-10 Amir Weinberg Software system and methods for testing transactional servers
US6449618B1 (en) * 1999-03-25 2002-09-10 Lucent Technologies Inc. Real-time event processing system with subscription model
US6823522B1 (en) * 1999-07-15 2004-11-23 International Business Machines Corporation Methods, systems and computer program products for chaining integration objects to provide web access for legacy data sources
US20020162059A1 (en) * 2000-10-27 2002-10-31 Mcneely Tracy J. Methods and systems for testing communications network components
US7117411B2 (en) * 2000-10-27 2006-10-03 Tekelec Methods and systems for testing communications network components
US6944848B2 (en) * 2001-05-03 2005-09-13 International Business Machines Corporation Technique using persistent foci for finite state machine based software test generation
US20020178438A1 (en) * 2001-05-16 2002-11-28 Arbouzov Leonid M. System and method for a java preprocessor
US7222265B1 (en) * 2001-07-02 2007-05-22 Lesuer Brian J Automated software testing
US20030121025A1 (en) * 2001-09-05 2003-06-26 Eitan Farchi Method and system for combining multiple software test generators
US20030055836A1 (en) * 2001-09-14 2003-03-20 David Dubovsky Methods for generating data structures for use with environment based data driven automated test engine for GUI applications
US20030070119A1 (en) * 2001-10-10 2003-04-10 Dallin Michael Dean Method and system for testing a software product
US20070174383A1 (en) * 2001-12-11 2007-07-26 Open Invention Network Llc System and method for effectively configuring a marketsite application integrator
US7117484B2 (en) * 2002-04-16 2006-10-03 International Business Machines Corporation Recursive use of model based test generation for middleware validation
US20050021274A1 (en) * 2003-07-07 2005-01-27 Matthew Eden Method and system for information handling system automated and distributed test

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257198A1 (en) * 2004-05-11 2005-11-17 Frank Stienhans Testing pattern-based applications
US7913231B2 (en) * 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US7676696B2 (en) * 2004-08-27 2010-03-09 Robert Bosch Gmbh Functional unit for carrying out logical test cases on a test system interconnected to a unit to be tested and corresponding method
US20060090100A1 (en) * 2004-08-27 2006-04-27 Gerald Holzapfel Functional unit for carrying out logical test cases on a test system interconnected to a unit to be tested and corresponding method
US20060230319A1 (en) * 2005-04-12 2006-10-12 Ryali Jogarao M Automated migration of software instructions
US7761841B1 (en) * 2005-04-29 2010-07-20 Sprint Communications Company L.P. Enhanced data loading for test management tool
US20070124114A1 (en) * 2005-11-29 2007-05-31 Microsoft Corporation Device testing framework for creating device-centric scenario-based automated tests
US7277827B2 (en) * 2005-11-29 2007-10-02 Microsoft Corporation Device testing framework for creating device-centric scenario-based automated tests
US8281286B2 (en) * 2006-03-31 2012-10-02 Cisco Technology, Inc. Methods and systems for automated testing of applications using an application independent GUI map
US20070234127A1 (en) * 2006-03-31 2007-10-04 Nguyen Dung H Methods and systems for automated testing of applications using an application independent GUI map
US8214805B2 (en) * 2006-12-21 2012-07-03 International Business Machines Corporation Method and system for graphical user interface testing
US20080155515A1 (en) * 2006-12-21 2008-06-26 International Business Machines Association Method and System for Graphical User Interface Testing
US8370814B2 (en) * 2007-04-05 2013-02-05 Accenture Global Services Limited Automatic test generation for reference testing
US20110231825A1 (en) * 2007-04-05 2011-09-22 Accenture Global Services Limited Automatic test generation for reference testing
US8132054B2 (en) * 2008-05-30 2012-03-06 International Business Machines Corporation Self-adaptive solution for determining the waiting time on page loading
US20100131798A1 (en) * 2008-05-30 2010-05-27 International Business Machines Corporation Self-Adaptive Solution for Determining the Waiting Time on Page Loading
US20110123973A1 (en) * 2008-06-06 2011-05-26 Sapient Corporation Systems and methods for visual test authoring and automation
US20100058295A1 (en) * 2008-09-02 2010-03-04 International Business Machines Corporation Dynamic Test Coverage
US8381184B2 (en) 2008-09-02 2013-02-19 International Business Machines Corporation Dynamic test coverage
US10095609B1 (en) * 2011-09-23 2018-10-09 Amazon Technologies, Inc. Intermediary for testing content and applications
US20130159974A1 (en) * 2011-12-15 2013-06-20 The Boeing Company Automated Framework For Dynamically Creating Test Scripts for Software Testing
US9117028B2 (en) * 2011-12-15 2015-08-25 The Boeing Company Automated framework for dynamically creating test scripts for software testing
US9740363B2 (en) * 2013-10-02 2017-08-22 Velocity Technology Solutions, Inc. Methods and systems for managing community information
US20150095761A1 (en) * 2013-10-02 2015-04-02 Velocity Technology Solutions, Inc. Methods and systems for managing community information
US10540053B2 (en) * 2013-10-02 2020-01-21 Velocity Technology Solutions, Inc. Methods and systems for managing community information
US9760567B1 (en) * 2013-10-21 2017-09-12 Ca, Inc. Method and apparatus for using a common dialect for testing on multiple execution interfaces
US9792203B2 (en) * 2013-11-14 2017-10-17 Sap Se Isolated testing of distributed development projects
US20150135158A1 (en) * 2013-11-14 2015-05-14 Dimitar Tenev Isolated testing of distributed development projects
US20150262205A1 (en) * 2014-03-12 2015-09-17 Adobe Systems Incorporated System Identification Framework
US10558987B2 (en) * 2014-03-12 2020-02-11 Adobe Inc. System identification framework
US9658944B2 (en) 2015-08-20 2017-05-23 Ca, Inc. Generic test automation for graphical user interface (GUI) applications
CN106371864A (en) * 2016-08-23 2017-02-01 上海创景计算机系统有限公司 Method for quickly deploying plugin architecture
US20220365872A1 (en) * 2021-04-27 2022-11-17 Salesforce.Com, Inc. Intelligent generation of page objects for user interface testing
US11636025B2 (en) 2021-04-27 2023-04-25 Salesforce, Inc. Intelligent generation of automated user interface testing methods
US11748243B2 (en) * 2021-04-27 2023-09-05 Salesforce, Inc. Intelligent generation of page objects for user interface testing

Similar Documents

Publication Publication Date Title
US20050223360A1 (en) System and method for providing a generic user interface testing framework
US20050229161A1 (en) Generic user interface testing framework with load-time libraries
US9524231B2 (en) Software test automation system and method
US8171460B2 (en) System and method for user interface automation
Leotta et al. Pesto: Automated migration of DOM‐based Web tests towards the visual approach
US20050228644A1 (en) Generic user interface testing framework with rules-based wizard
US7926038B2 (en) Method, system and computer program for testing a command line interface of a software product
US20080270841A1 (en) Test case manager
US20080127095A1 (en) Visual Interface for Automated Software Testing
US8266588B2 (en) Creating projects in a rational application developer workspace
US20080313208A1 (en) Apparatus, system, and method for automated context-sensitive message organization
KR20060046326A (en) Smart ui recording and playback framework
US8250554B2 (en) Systems and methods for generating and distributing executable procedures for technical desk-side support
US7908596B2 (en) Automatic inspection of compiled code
CN112131116A (en) Automatic regression testing method for embedded software
US7574625B2 (en) Active content wizard testing
US7624381B1 (en) Portable detection of start and completion of object construction
CN111881056A (en) Automatic test framework and test method
CN112162921B (en) Industrial automation test and control system
Jeanjean et al. From DSL specification to interactive computer programming environment
CN114924737A (en) Battery management system source code integration test method and device and electronic equipment
CN113672465A (en) Method, system, medium, terminal and unmanned aerial vehicle for generating process log system by process name
CN113986263A (en) Code automation test method, device, electronic equipment and storage medium
Talby et al. A process-complete automatic acceptance testing framework
US20230376280A1 (en) Methods, systems and computer program products for optimizing computer programming for workflow development

Legal Events

Date Code Title Description
AS Assignment

Owner name: BEA SYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, ZHIBIN;SEEMAN, DAN;REEL/FRAME:015172/0678

Effective date: 20040331

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION