How it works
With traditional test tools like Selenium webdriver and QuickTest testers have to create assertions of validity for each element on the page.
They can only verify simple cases such as text being present on a page, or button taking the user to the next page.
It's nearly impossible verify that the page is actually rendered without visual and layout problems, that text is not overlapped by some other elements
and that correct images are displayed. Skilled test developers are needed to write quality tests with dozens of assertions and checkpoints.
The cost of writing and maintaining traditional automated tests makes them impractical and flat out painful.
There has to be a better way, and we think Screenster is a major leap in that direction. Here's how it works.
1. Create visual baseline by recording a test scenario
Like the traditional tools it works by recording the user interactions with the page. Unlike the other tools, it automatically
captures the entire rendered page as an image and stores it as a baseline. As soon as a tester has clicked through the UI,
he has the test cases AND the assertions done, all without any coding.
Screenshots provide exact representation of what the user would actually see in the browser.
|
|
|
|
2. Run recorded scenario to capture updated visual state
After the baseline is created, the development team can make changes to the UI and backend logic without fear.
Regression testing is simply runing the recorded scenario from Screenster IDE or our built-in scheduler.
Screenster also provides Hudson, JUnit, Ant and command line integration.
The only requirement is that the application is always started in the same state which can typically done by restoring
the database or running the same setup scripts.
|
|
|
3. Review visual differences between regression run and the baseline
If changes are detected between the screenshot taken during the reqression testing and the baseline screenshot, they are hilighted in the test report.
You can approve the change as intended, mask it as immaterial for dynamic parts of the screen such as a clock, or leave it as a failed test.
|