Senior Design Team sdmay21-26 • Automated Configuration Testing Framework for KBase

The project for our senior design team is focused on automating interactions with an online tool named KBase. KBase is a predictive biology tool that can allow scientists to experiment performing various tests in a simulated environment.

The scope of this project is to automate interacting with KBase, acting as a user, to performing operations on the website. The outcomes of this project can be used in two ways. Firstly, non-technical users of the tool will be provided a way to run multiple jobs in parallel that do not require manual setup in KBase. Secondly, the developers of KBase can use the tool to automate and test various configurations of tests, to determine if there is any configuration that breaks or otherwise degrades the system.

System Diagram

We designed our system to be a standalone Java application with the idea that it would be more portable to different machines. As demonstrated in the diagram, a user interacts to our system through a custom GUI. They are able to select the parameters they wish to have configured in a KBase test. All of this information gets compiled into a job. These jobs are the queued by our system, and based on configurations multiple jobs may be picked to run in parallel. These jobs will use Selenium, a tool used to programmatically interact with websites, to program the user's inputs into KBase. The KBase tests is then ran, output from the test is collected, compiled, and saved into a file on the user's machine.