Difference between revisions of "Horizon/Testing/UI"
(→Implementation ideas) |
|||
Line 4: | Line 4: | ||
== Implementation ideas == | == Implementation ideas == | ||
+ | |||
+ | === Directly using Selenium === | ||
+ | Point Selenium to a (probably devstack-based) OpenStack installation. | ||
+ | Advantages: Simplest solution | ||
+ | Disadvantages: Must know Python, must know how to write robust UI-driven tests using Selenium | ||
+ | |||
=== Translator middleware === | === Translator middleware === | ||
− | A translator framework that makes it possible to write tests in a high-level language (similar to [http://en.wikipedia.org/wiki/Behavior-driven_development BDD]) and makes the tests more resilient to changes in the software implementation details. | + | A translator framework that makes it possible to write tests in a high-level language (similar to [http://en.wikipedia.org/wiki/Behavior-driven_development BDD]) and makes the tests more resilient to changes in the software implementation details. See also: [http://jbehave.org/ JBehave]. |
+ | Advantages: Simplify the writing of test scenarios by experienced QA/QE/Testing teams who may not know Python, by enabling them to write the scenarios in English. | ||
+ | Disadvantages: The load is now shifted onto the development team who must spend the time keeping the translator layer up to date, and enabling new keywords/scenarios. (?) |
Revision as of 14:00, 25 November 2013
During the Icehouse cycle we want to set up a robust, UI-driven integration testing framework for Horizon.
Related blueprint: https://blueprints.launchpad.net/horizon/+spec/selenium-integration-testing
Implementation ideas
Directly using Selenium
Point Selenium to a (probably devstack-based) OpenStack installation. Advantages: Simplest solution Disadvantages: Must know Python, must know how to write robust UI-driven tests using Selenium
Translator middleware
A translator framework that makes it possible to write tests in a high-level language (similar to BDD) and makes the tests more resilient to changes in the software implementation details. See also: JBehave. Advantages: Simplify the writing of test scenarios by experienced QA/QE/Testing teams who may not know Python, by enabling them to write the scenarios in English. Disadvantages: The load is now shifted onto the development team who must spend the time keeping the translator layer up to date, and enabling new keywords/scenarios. (?)