To evaluate functional web application testing tools to better meet IS&T's multi-browser,multi-platform testing needs.
IS&T web applications include many complex browser-based user interfaces created with JavaScript, HTML and CSS. The functional/regression test tool we currently use, QTP, only works in Windows, so it does not test IS&T’s set of supported web browsers. Therefore QTP cannot test individual browser issues. IS&T needs to evaluate it's web applications against new web browsers and changes to the IS&T web application infrastructure (new database, new application server, new VM, etc.). Therefore we convened a cross-area team to evaluate functional web testing tools to see if any would fit IS&T's needs.
criteria |
AppPerfect |
EggPlant |
FuncUnit |
QTP 11 |
Selenium |
Squish |
||
---|---|---|---|---|---|---|---|---|
adequate documentation (1 to 10 scale) |
3 |
1 |
5 |
6.5 |
6.5 |
4 |
||
longevit in yearsy/viability of vendorin 1 to 10 scale |
unknown/unknown |
8/unknown |
5yrs/unknown |
20yrs/10 |
9yrs/9 |
unknown/unknown |
||
recorded test plan |
yes |
yes |
no |
yes |
yes |
yes, but test would not replay without JavaScript coding of test. 2 |
||
ran test plan in IE 9/Win |
no |
yes |
did not test because it could not record |
yes |
yes |
no, see above. 2 |
||
ran test plan in Firefox 8/Win |
no |
yes |
did not test because it could not record |
no |
yes |
|
no, see above. 2 |
|
ran test plan in Firefox 8/Mac |
no |
chose not to test. 1 |
did not test because it could not record |
no |
yes |
|
no, see above. 2 |
|
ran test plan in Safari 5/Mac |
no |
chose not to test. 1 |
did not test because it could not record |
no |
no |
|
no, see above. 2 |
|
1. eggPlant was image based. It required the testers to laboriously create and update images for every element that was being tested. It was very fragile, as different views of the same page required more taking more screen grabs. We determined that the cost and frustration of upkeep made the product very problematic.
2. Squish has basic functionality, but advanced testing required the tester to build Javascript functions. As this is an expensive product we chose to stop testing at this point in favor of Selenium.
Record and play is a myth; it turned out that programming was needed with every tool to be able to reproduce the test case.
Comprehensive tests require if/else programming, looping, assertions and negative cases at the very least. Simply recording, sprinkling simple assertions and playing back does not create a comprehensive test.
Documentation for automated Test Tools is underwhelming.
We recommend rolling out Selenium to IS&T web developers because it met most of our requirements, with the notable exception of Safari 5 support:
Automated Test Tools, in general, give the most 'bang for the buck' when used for regression testing. Due to the constantly changing browser/platform playing field no test tool can be expected to support the latest browser/platform combination. Therefore we conclude that automated Test Tools cannot be the sole method for testing MIT-supported applications.
The current browser space is expanding and changing and churning rapidly right now, making it even harder for Test Tools to catch up.
Also user and management expectations around browser support and platform are constantly expanding. Chrome, mobile in general and iPhone are the current issues, Windows 8 is looming on the horizon.
Therefore supporting constant rollout of the latest browsers requires manual testing resources. However, automated Testing Tools do improve the quantity and coverage and reduce time for testing Test Tool-supported browsers.
Once QTP 11 final ships, retest the Test Plan in QTP 11 for both IE 9 and Firefox.
What are other large institutions doing?