{"id":22537854,"url":"https://github.com/khaledashrafh/techblend-testing","last_synced_at":"2026-01-07T00:48:14.238Z","repository":{"id":191701080,"uuid":"684820048","full_name":"KhaledAshrafH/TechBlend-Testing","owner":"KhaledAshrafH","description":"This repository contains code and documentation for performing black box testing and graph coverage analysis on software systems. Black box testing is a technique that tests the functionality of a system without knowing its internal structure or implementation. Graph coverage analysis is a technique that measures how well a set of test cases covers","archived":false,"fork":false,"pushed_at":"2023-08-30T00:08:05.000Z","size":5330,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T07:28:17.145Z","etag":null,"topics":["black-box","black-box-testing","edge-coverage","graph-coverage","jfreechart","jfreechart-library","node-coverage","prime-number","prime-path-coverage","prime-paths","software-testing","testing","testing-techniques"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhaledAshrafH.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-29T23:26:00.000Z","updated_at":"2024-06-04T15:34:04.000Z","dependencies_parsed_at":"2023-08-31T08:35:11.705Z","dependency_job_id":null,"html_url":"https://github.com/KhaledAshrafH/TechBlend-Testing","commit_stats":null,"previous_names":["khaledashrafh/techblend-testing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhaledAshrafH%2FTechBlend-Testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhaledAshrafH%2FTechBlend-Testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhaledAshrafH%2FTechBlend-Testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhaledAshrafH%2FTechBlend-Testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhaledAshrafH","download_url":"https://codeload.github.com/KhaledAshrafH/TechBlend-Testing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984558,"owners_count":20704794,"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":["black-box","black-box-testing","edge-coverage","graph-coverage","jfreechart","jfreechart-library","node-coverage","prime-number","prime-path-coverage","prime-paths","software-testing","testing","testing-techniques"],"created_at":"2024-12-07T11:09:01.785Z","updated_at":"2026-01-07T00:48:14.175Z","avatar_url":"https://github.com/KhaledAshrafH.png","language":"HTML","readme":"# TechBlend-Testing: Black Box and Graph Coverage Testing Techniques \n\nThis repository contains code and documentation for performing black box testing and graph coverage analysis on software systems. Black box testing is a technique that tests the functionality of a system without knowing its internal structure or implementation. Graph coverage analysis is a technique that measures how well a set of test cases covers the possible paths or branches in a system’s control flow graph. \n\n## Black Box Testing\n\nIn this section, we focus on testing the `org.jfree.data.time.Quarter` class from the JFreeChart framework. The goal is to ensure that all constructors and methods of the `Quarter` class are thoroughly tested.\n\nThe following deliverables are included:\n\n    JFreeChart.jar: A modified version of the JFreeChart library specifically for this testing.\n    Libraries: A set of required libraries for compiling the JFreeChart jar file.\n    QuarterClassTest.java: A sample test file that provides a passing test case.\n\nBugs Report provided, documenting the methods to be tested, test cases, their status (Passed or Failed), and additional notes.\n\n### Bugs Report Example\n\n| Method                  | Test Cases                       | Status |\n| ----------------------- | -------------------------------- | ------ |\n| `constructor(int, int)` | `new Quarter(2022, 3)`           | Passed |\n| `getYear()`             | `new Quarter(2022, 3).getYear()` | Passed |\n| ...                     | ...                              | ...    |\n\n## Graph Coverage\n\nIn this section, we analyze a specific method using graph coverage techniques. The method code:\n\n```\npublic int findTheFirstPrimeNumber(int startNumber, int endNumber)\n  {\n    if(startNumber \u003e endNumber)\n      return -1;\n\n    if(startNumber \u003c 2)\n      return -1;\n\n    for(int i = startNumber; i \u003c= endNumber; i++)\n    {\n      if(i%2 == 0)\n        continue;\n\n      boolean isPrime = true;\n\n      for(int j =2; j \u003c i; j++)\n      {\n        if(i % j ==0)\n        {\n          isPrime = false;\n          break;\n        }  \n    }\n    if(isPrime)\n      return i;\n    }\n    return -1;\n  }\n```\nThe deliverables for this section include:\n\n    Text Files: Three separate text files containing the following information:\n        Text file contains All nodes (comma separated) mentioning the start and end nodes, Test Paths for nodes coverage with a test case for each path.\n        Text file contains All Edges (comma separated), Test Paths for edges coverage with a test case for each path.\n        Text file contains Prime path coverage with a test case for each path\n    Screenshot: A screenshot of the graph under analysis.\n\n### Graph Analysis Screenshot\n\u003cbr\u003e\n\u003cp align=\"center\" margin=\"auto\"\u003e\n    \u003ckbd\u003e\n\u003cimg align=\"center\" \n            src=\"GraphScreenshot.jpeg\"\n            alt=\"KhaledAshrafH\"  width=\"720\" style=\"border-radius: 20px;\"/\u003e\n    \u003c/kbd\u003e\n  \u003c/p\u003e\n\n \n\n## Getting Started\n\nTo get started with this project, follow these steps:\n\n1. Clone the repository: `git clone https://github.com/KhaledAshrafH/TechBlend-Testing.git`\n2. Set up the necessary environment and dependencies.\n3. Review the provided documentation and code files.\n4. Perform black box testing for the `Quarter` class by creating your test file.\n5. Analyze the graph for graph coverage and generate the required text files and screenshots.\n\n## Contributing\n\nContributions to this repository are welcome. If you find any issues or have suggestions for improvement, please open an issue or submit a pull request. Your contributions can help enhance the effectiveness of black box testing and graph coverage techniques.\n\n## Team\n\n- [Khaled Ashraf Hanafy Mahmoud - 20190186](https://github.com/KhaledAshrafH).\n- [Samah Moustafa Hussien Mahmoud - 20190248](https://github.com/Samah-20190248).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhaledashrafh%2Ftechblend-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhaledashrafh%2Ftechblend-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhaledashrafh%2Ftechblend-testing/lists"}