Jump to: navigation, search

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. (?)