{"id":19934600,"url":"https://github.com/isaacmaffeis/gaming_console-testing","last_synced_at":"2025-03-01T12:16:28.880Z","repository":{"id":185434509,"uuid":"662661320","full_name":"isaacmaffeis/gaming_console-Testing","owner":"isaacmaffeis","description":"Exam project of the university course: Testing and Software Verification","archived":false,"fork":false,"pushed_at":"2023-10-12T16:20:37.000Z","size":1069,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-12T02:07:49.039Z","etag":null,"topics":["asmeta","codecoverage","java","jframe","jml","junit4","maven","travis-ci","verifycode"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isaacmaffeis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-05T15:54:05.000Z","updated_at":"2023-08-25T13:50:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"f4bb354f-6462-449e-bc7d-886caedcec23","html_url":"https://github.com/isaacmaffeis/gaming_console-Testing","commit_stats":null,"previous_names":["isaacmaffo96/gaming_console-testing","isaacmaffeis/gaming_console-testing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacmaffeis%2Fgaming_console-Testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacmaffeis%2Fgaming_console-Testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacmaffeis%2Fgaming_console-Testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacmaffeis%2Fgaming_console-Testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaacmaffeis","download_url":"https://codeload.github.com/isaacmaffeis/gaming_console-Testing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241361445,"owners_count":19950381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asmeta","codecoverage","java","jframe","jml","junit4","maven","travis-ci","verifycode"],"created_at":"2024-11-12T23:17:22.399Z","updated_at":"2025-03-01T12:16:28.852Z","avatar_url":"https://github.com/isaacmaffeis.png","language":"Java","readme":"# Retro Gaming Console -Testing\n Exam project of the course: Testing and Software Verification\n\n### What I have used ( tools, frameworks, ... ):\n\n## Maven\nMaven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal, Maven deals with several areas of concern:\n\n- Making the build process easy\n- Providing a uniform build system\n- Providing quality project information\n- Encouraging better development practices\n\nthanks to Maven the connection with Travis CI is easier\n\nMaven: https://maven.apache.org/\n\n## Travis CI\n\nTravis CI is a hosted continuous integration service used to build and test software projects hosted on GitHub.\n\nTravis CI is configured by adding a file named .travis.yml, which is a YAML format text file, to the root directory of the repository.\nThis file specifies the programming language used, the desired building and testing environment \n(including dependencies which must be installed before the software can be built and tested), and various other parameters.\n\nIn the case of this application I had to configure the yml file to be able to test the graphical interface using xvfb (X Virtual Framebuffer) to imitate a display.\n\nTravis CI: https://www.travis-ci.com/\n\n## JUNIT\nJUnit is a unit testing framework for the Java programming language. \nJUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated with SUnit.\nIn this project I have used  JUnit 4 version.\n\nJUnit 4: https://junit.org/junit4/\n\n## JML\nThe Java Modeling Language (JML) is a specification language for Java programs, using Hoare style pre- and post- conditions and invariants, that follows the design by contract paradigm.\nSpecifications are written as Java annotation comments to the source files, which hence can be compiled with any Java compiler.\n\nJML: https://www.cs.ucf.edu/~leavens/JML/index.shtml\n\n## ASMETA\nAsmeta is a framework for the Abstract State Machines (ASMs) formal method. It is composed of different tools for performing different validation and verification activities.\n\nAsmeta: https://asmeta.github.io/index.html\n\n## GRAPH WALKER\nGraphWalker is a tool that addresses State Transition Model-Based Testing; in other words, it allows you to perform modeling around states and transitions between those states using directed graphs.\n\nGraph Walker: https://graphwalker.github.io/\n\n# The application:\n### Login Frame\nA Frame that allows the user to authenticate in the system via username and password, it is also possible to access as a guest or create a new account (signUp).\n\n\n![Screenshot 2023-08-25 162533](https://github.com/Isaacmaffo96/gaming_console-Testing/assets/28917454/5cb166c9-0b79-4597-b54b-c28dc98a19c4)\n\n### Signup Frame\nA Frame that allows the user to create a new account by providing name, surname, username, date of birth, email and password.\n\n\n![Screenshot 2023-08-25 162713](https://github.com/Isaacmaffo96/gaming_console-Testing/assets/28917454/c17d171a-b9c7-4fb4-9a70-f2f8f15907ee)\n\n### Game Frame\nOnce you have logged in or created a new account, the game frame will open, \nthis frame allows the user to see his scores and to select the desired game\n\n\n![Screenshot 2023-08-25 162738](https://github.com/Isaacmaffo96/gaming_console-Testing/assets/28917454/ab0281f3-dd61-4462-8e68-cb0cf2dcf093)\n\n### Snake Game \nThe goal of the game is to eat the apples and avoid the walls or the body of the snake.\n\n\n![Screenshot 2023-08-25 163025](https://github.com/Isaacmaffo96/gaming_console-Testing/assets/28917454/4b4d9a10-74ce-42b9-ae7d-841df890048b)\n\n### Tic Tac Toe Game\nTic-tac-toe (American English) is a game for two players who take turns marking the spaces in a three-by-three grid with X or O. \nThe player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner.\n\n\n![Screenshot 2023-08-25 163102](https://github.com/Isaacmaffo96/gaming_console-Testing/assets/28917454/3baed697-6990-4117-b403-df073d60dc51)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacmaffeis%2Fgaming_console-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaacmaffeis%2Fgaming_console-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacmaffeis%2Fgaming_console-testing/lists"}