Browse Poster Wiki: 2022 Poster Award Winners, Awards Ceremony (Watch Recording from minute marker 1630), Posters by 2022 HPCC Systems Interns, Posters by Academic Partners, Poster Judges, About Virtual Judging, 2022 Poster Contest Home Page, Poster Contest Previous Years
Noah Seligson is a Bachelor student studying Computer Science at the University of Central Florida.
Noah joined the 2022 HPCC Systems Intern Program to complete a project that involved creating test code with expected results for a number of HPCC Systems Machine Learning Bundles.
During his internship, he more than doubled the number of tests in our overnight build test suite which is a significant contribution. These tests will mean that developers no longer need to write manual tests when using these bundles.
As well as the resources included here, read Noah's intern blog journal which includes a more in depth look of his work.
In the software engineering development process, testing is a crucial component that ensures a program works as intended. In large-scale project development, devoting time to scanning the entire scope of source code to determine why a program is failing is inefficient. Testing is both a cost and time effective solution. In particular, unit testing allows developers to test functions individually to facilitate the exact cause for a project's failure and what steps should be taken in case future development builds cause errors.
HPCC Systems contains a robust Machine Learning library with approximately a dozen bundles containing a conglomeration of complex source code files. The company also has a test system known as the Overnight Bundle and Test (OBT) system. The OBT allows for daily automatic testing to consistently track whether each test case leads to a passing result. The ECL bundle library already contains test files that run programs, however, for the most part, they don’t validate a result and don't focus on individual functionality.
The project’s goal was to integrate each Machine Learning bundle into the OBT. This was done per bundle by adding a folder titled ecl, where there were two components, test and key files. The test files include unit tests that run individual functions under a set of different test cases. Additional test files are modified versions of existing test code, included so they can be implemented into the OBT. Each key file contains XML formatted text representing the correct result that the OBT scans for when running each corresponding test file.
In this Video Recording, Noah provides a tour and explanation of his poster content.
Provide Test Code for Bundles with no Self Test
Click on the poster for a larger image.