Tools used for CTG-Randoop(Continuous Unit Test Generation with Randoop)
CTG-Randoop, short for 'Continuous Unit Test Generation with Randoop', is a framework to allow automated continuous testing of a project, only notifying of newly-detected errors to the user. It integrates Github-Jenkins-Gerrit to automatically report newly-detected error on a new version to the team. This framework requires running Jenkins and Gerrit server.
Python module to extract keywords from the given source code to use as Randoop test's seeds. When given input of source code path, it produces text file named 'literalsfile.txt' which contains seed constants to be used for testing of each class.
python3 extract_dictionary.py [source code path] [save file path]
Python module to compare two versions to randoop testing, which are given as JSON format, and provide result of only new errors in the most recent version, depending on the heuristic chosen (10 heuristics given).
python3 filter_result.py [json of previous version] [json of current version] [heuristic number] [commit hash previous version] [commit has current version] [path to current directory] [gerrit server address] [number of results](optional)
Example of Jenkinsfile to be used for Jenkins Pipeline. Pipeline allows users to view real-time update of the CTG-Randoop process. This file can be used by Jenkins via GUI on Jenkins server. Alteration of information(e.g. paths) are needed before use.
UCC | Demo Video | Paper