Theophile Alsac    gameplay developer

Second-year student in Game Design & Programming at Isart Digital Paris, I am currently looking for an internship for the period from May to August. Contact Linkedin.

SPE7 test server

I worked for two years in a work-study program at SPE7. This project started during my first year, where I analyzed several solutions, primarily Cypress and Selenium. I created a report on both solutions, and we ultimately chose Cypress. I worked alone on this project, with supervision from my colleagues to validate the elements I was implementing and to assist me if I encountered any issues that I couldn’t resolve on my own.

At the beginning, I developed a Cypress test application to create an installation guide and verify that it met our needs. After this step, I created a GitLab repository to store the test code.

I started by creating a complete workflow of our application, and then I broke it down into different functions that I could reuse in my program. Initially, the company's need was to test the responses related to insurance rates, so I created a JSON file containing information that did not affect the rates. Then, I created a file with a list of dictionaries containing data that influenced the rates. These test cases (each item in the dictionary list) are then executed by the program we had previously broken down.

The next step was to implement unit tests, where we test a single element per test. I created these test cases gradually as the project evolved, and whenever a new bug appeared. This also allowed us to have regression tests, ensuring that the application did not contain any bugs that we had already resolved.

Above is an example of a formatted response from Cypress that the test server sends to us by email after each test.

Cypress is installed on a dedicated server and calls a test server containing the application in the state we wish to test. It is manually run via command lines and allows testing of a specific branch.

Cypress is also executed via GitLab CI with every update to the master branch. Testing the master branch helps minimize errors in client branches, as we follow the GitLab Flow methodology. All developments start from the master branch and are merged back into it. Therefore, the master branch always contains the latest version of the application.

Once that part was done, I worked on the user section. It consists of a MariaDB database and an API built with HTML and PHP, which is hosted locally. My studies in computer networking were useful for securing the system and enabling access from an external network.