Christopher is a Class of 2015 graduate of Maui High School and will be a sophomore student at Yale University in Fall 2016. He is working towards B.S. degrees in computer science and economics and is particularly passionate about the potential of computer science in opening new frontiers and hopes to utilize his higher education to pioneer advancements that will enrich the lives of others. His research interests include machine learning, data mining, and heliophysics. At Yale, Chris is involved with YHack, Yale’s 36-hour student hackathon, and the Roosevelt Institute, a public policy think tank.
High School: Maui High School
Institute when accepted: Yale University
Automating Testing of the TMDS
Project Site: Akimeka, LLC
Mentor: Joey Andrews
Project Abstract:
The Theater Medical Data Store (TMDS) is a web-based application managed by the Department of Defense, used to track, analyze, and manage a soldier’s medical treatment on the battlefield. Currently, there is a manual checklist for Akimeka test engineers to go through this application in order to validate its functionality. However, manual testing is tedious and error-prone, and therefore, it becomes increasingly important to create an automated method to complete this testing. The initial step in implementing this automation involved accessing manual testing steps housed in Akimeka’s Quality Center to group the many pages of the TMDS application. These groupings were created to identify test requirement overlaps between pages that could be utilized to modularize testing components and were based primarily on test patient data needed to test individual pages in their entirety. Once these groupings were created, an approach was developed to create a testing environment that would holistically meet the requirements of the testing of the TMDS pages. This approach primarily focused on generating the necessary test patients, adding relevant health information that needed to be tested, and saving that data to a file to verify that the data remained unchanged. Once the approach was fully developed and implemented, automated input validation tests for individual pages were generated. This process involved writing XPath selectors to identify elements on the webpage and subsequently writing code in Java using the Selenium API to interact with these web elements. These tests and the development of these tests identified and reduced testing errors while improving coverage, improving the development process, and reducing testing time from 2-4 weeks (manual testing) to less than a day with automated testing. While the outline for input validation testing developed during this project streamlines the development process and contributes significantly to the automated testing process as a whole, creating automated tests to verify the validity of data imported from outside sources serves as the next key step in moving toward continuous integration testing and a completely automated testing system.