There were also two test suites that were designed to test the quality of the software, described as follows:
Since the persistance methods are used by all other parts of the framework, a test suite was designed to test its main functionalities.
Composed of three tests that test the connection and the two main helper methods of the DBConnection object.
Tests are named in terms of those operations: (1) connection, which tests if the connection generated by the DBConnection object is valid; (2) insertion, that tests whether the helper method for inserting data into the database is working correctly and (3) deletion, which tests if the helper method that drops all data in the database of a process step works as intended.
For the tests that are specific to the workflow of the framework, we designed seven test cases. Which are designed to test different combinations of different combinations of steps working concurrently.
The logs for the execution of the tests was generated in the HTML format and can be found here. You can click on the name of each test to expand the log for each individual test case.
To ensure that the framework works as planned, a instantiation was also developed that is present in this repository. It implements a process that has three steps:
-
Collection - Collects commit metadata (message and author information) from a remote git repository.
DataObject -> CollectedCommit.java
-
Processing - From the metadata collected in the previous step, collect message length and a developer experience metric (previous commits by the same author).
DataObject -> ProcessedCommit.java
-
Communication - Generates a csv summarizing the data collected in the previous step.
Artefact -> summary.csv
The first two steps occur only once and are not continuous, wiping the previous database before proceeding. The third step repeats at an interval of 30 minutes (this is not necessary for this specific instantiation, but was added to test this functionality).
Files from this execution |
---|
Logs from the execution of the instantiation |
summary.csv generated by the execution |