Test factory as a part of continuous integration using Selenium 1
BRIEF
The factory is a bunch of most useful open source tools aimed to improve product quality. In conjunction with best testing practices it simplifies QA process and significantly reduces costs for maintenance phase.
ENTERPRISE INFRASTRUCTURE
- Functional/regression testing is powered by Hudson;
- Tests are front-end based and driven by Selenium;
- Possibility to run automated tests in simultaneous multithreading mode on different environments using Selenium Grid;
- Alarm notification when a build or tests fail;
- Ability to capture screenshots for failed tests;
- Testing can be performed not for all but only for certain functional areas. Such option is available on start testing page;
- Test scripts are environment independent (same script can be performed on various environments like dev, staging, prod);
- Test scripts are country independent (same script can be performed on various country specific instances. Total 19 countries);
- Test scripts are browser independent (different browsers are supported like FireFox, Chrome and IE);
- Test report has human-readable format including error message, link to respective screenshot, stack trace, scenario to reproduce;
- Test is self-documented. Every failure description contains scenario (steps) performed before the issue occurred;
- Test framework contains customized exceptions (exceptions are handled by test framework, every stack trace contains appropriate exception defining the reason of the failure);
- Emailing feature is tested by using base mail protocols (SMTP, IMAP);
- Tests are performed for both full and mobile sites;
- Ability to mark any test to run if certain condition is true (for instance the test is environment or browser specific);
- Capability to run individual tests (dynamically create/update set of tests to be performed in the next test run);
- Authorization stage is enabled for the test factory;
- Ability to perform tests using different branches (branches with test scripts are synchronized to release branches);
- Regression testing is performed on a nightly basis and under various conditions;
- Core of the factory is common for certain projects;
- Ability to run tests for specific revision;
- Ability to specify different log levels for output.


