HUBcheck: Check the hub

Derrick S Kearney, Purdue University


The HUBzero Platform is a framework for building websites, referred to as "hubs," that promote research communities through online simulation, data management, and collaboration. With each software release, the HUBzero Team dedicates weeks of team members' time toward manually testing, fixing, and retesting hub components. The unique mixture of environments that make up a hub makes using existing automated testing solutions hard and shifts the burden of testing to humans, promoting variation, spot checking of fixes, and other shortcuts to avoid the high cost of completely retesting the system. With over twenty hubs being actively managed by the HUBzero Team, manually testing each one after a software update is resource and time prohibitive. The HUBcheck library, a collection of Python modules backed by Selenium WebDriver and Paramiko, was built to help developers write automation scripts for HUBzero websites and the Debian Linux based virtual containers hosting the hub's simulation tools. Today, the HUBzero Team is using HUBcheck to perform automated regression testing on all of its production hubs, regularly testing areas of the hub that were previously overlooked. In this document, we investigate how HUBcheck works, introduce three new design patterns that make writing page object based automation easier, and show how the use of HUBcheck has helped reduce the number of misconfigured systems during a one year period of hub upgrades.




Midkiff, Purdue University.

Subject Area

Computer Engineering

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server