Date of Award

Spring 2015

Degree Type


Degree Name

Master of Science in Electrical and Computer Engineering (MSECE)


Electrical and Computer Engineering

First Advisor

Samuel P Midkiff

Committee Chair

Samuel P Midkiff

Committee Member 1

Mary L. Comer

Committee Member 2

Milind Kulkarni

Committee Member 3

T. N. Vijaykumar


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.