## 4 Platform Evaluation and KPIs Analysis  
### Platform Evaluation  
To verify that the QualiChain platform V1.0 is fully functional and works properly, not only as individual services but also as an integrated solution, a significant amount of effort was dedicated to integration- and system-level testing. Integration testing is the phase in software testing in which individual software modules are combined and tested as a group and system testing is a level of testing that validates the complete and fully integrated software product. Given that most QualiChain components are independent of each other, the developed integration tests focused mostly on verifying that access to different services can be granted only for authenticated users that are authorized to access the requested services and data. Specifically, eight integration tests were developed for testing the access to different resources of QualiChain. These tests included the following. * Test smart badges: tests the creation and awarding of badges for authorized and unauthorized users. * Test courses: Verifies that the creation of courses cannot be performed by unauthorized users but is feasible for authorized ones (professors). Also, it verifies that only the user that created a course can update or delete it. Moreover, only students can enroll to a course. * Test course recommendations: verifies that only authenticated users can receive course recommendations. * Test curriculum designer recommendations: verifies that only professors and academic organizations can receive curriculum design recommendations. * Test CVs: Verifies that a user can create, update, or delete his/her own CV and no other user's CV. Furthermore, it verifies that only authorized users can view another user's CV. This case applies for professors that intend to view the CV of a student enrolled on their courses, as well as for recruiters that intend to view the CV of a job candidate. * Test jobs: Verifies that the creation of jobs cannot be performed by unauthorized users and is feasible for authorized ones (recruiters). Also, it verifies that only a user that created a job can update or delete it. Moreover, a recruiter can view the profiles and CVs of users that have applied for his/her jobs. * Test profiles: verifies that a user can create or update his/her own profile and no other user's profile. * Test thesis: verifies that only professors can create a thesis, and only professors that created a thesis can update or delete it. System-level testing on the other hand was conducted by utilizing an open-source record and playback test automation tool, Selenium IDE [41], which simulated the execution of the following use-case scenarios by the corresponding types of user accounts. * Enrolling on course (student);
* Applying for job (job seeker);
* Applying for thesis (student);
* Creating a smart badge (professor);
* Viewing thesis candidates (professor);
* Creating a course (professor);
* Creating a new job object (recruiter);
* Awarding and validating a smart badge (professor/student);
* Uploading a certificate (academic organization);
* Validating a certificate (recruiter);
* Revoking a certificate (academic organization). Initially, each scenario was executed manually by the platform testers. Selenium IDE recorded every step required to complete each task, automatically converting them to executable commands and using multiple locators for each interface element the users interacted with. Thus, each scenario was finally described by a script of commands that, when reproduced, should always successfully complete the scenario. These scripts constituted the end-to-end tests for the QualiChain platform. Both the integration- and system-level tests ran successfully 100% of the time, thus proving that the platform works securely and as intended. We must also note that the QualiChain platform was not integrated into any existing systems. Any interaction between QualiChain and existing systems (e.g., a university's system) was facilitated through API calls that ran successfully.