Quality Bots at Ancestry.com

I’ve been working at Ancestry.com for the past month.  Today we gave a presentation on the QualityBots framework we’ve been developing – -inspired by a similar tool used by Google.

It crawls the web site and scrapes web pages using WebDriver. Then it compares the HTML source & screenshot, giving the percentages changed that can be measured against a baseline and threshold.   A really smart coworker developed the diff tool & algorithms.

It’s great for comparing different versions of the site (say development against production) or  doing a pixel comparison in  different browsers.

I created the dashboard UI with dustjs client side javascript templates and JQuery for special effects.  Another co-worker has taken over that aspect.

It reads local files using the HTML5 File API and uses mongodb with the C# driver for persistence.   So it can be used as a standalone tool or save scrapes to the database for future comparison.

The MongoDB document store is a great fit because we can serialize our hierarchical data and persist it without creating a DB schema, and the send JSON from Mongo to the dashboard where it is rendered with only a only a thin web service wrapper layer.

I built a simple node.js REST API for storing and retrieving comparisons from the database with express-resource.

It seems like after our presentation to several testers, a couple managers and development architects that there’s a lot of excitement for using the tool.  I can’t make any promises, but we may even be able to open source it.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s