Repository navigation
Test Plan
- Aaron Van De Brook
- Corrina Del Greco
- Luis Mora
- Samantha Shultz
- Sultan Alteneiji
| Version/Author | Date |
|---|---|
| 1.0 | 3.11.21 |
| 2.0 | 4.06.21 |
| 3.0 | 4.20.21 |
This document is a test plan for Citation Graph System Testing, produced by the Scrum team, doubling as the System Testing team. It describes the testing strategy and approach to testing the team will use to verify that the application meets the established requirements of the business prior to release.
- Meets the requirements, specifications and the Business rules.
- Supports the intended business functions and achieves the required standards.
- Satisfies the Entrance Criteria for User Acceptance Testing.
The Modules in the scope of testing for the Citation Graph System Testing are mentioned in the document attached in the following path:
- LaTex Parser
- BibTex Parser
- Writer
- Server side
- Homepage GUI
- Forms GUI
- Doxygen GUI
Citation Graph System Testing will include testing of all functionalities that are in scope (Refer Functional Scope Section) identified. System testing activities will include the testing of new functionalities, modified functionalities, screen level validations, work flows, functionality access, testing of internal & external interfaces.
In order to start system testing, certain requirement must be met for testing readiness. The readiness can be classified into:
- A story card has been implemented
- The demo criteria is believed by the developer to be complete enough for testing
User interface attributes, cosmetic presentation and content will be tested for accuracy and general usability. The goal of Usability Testing is to ensure that the User Interface is comfortable to use and provides the user with consistent and appropriate access and navigation through the functions of the application (e.g., access keys, consistent tab order, readable fonts etc.)
The objective of this test is to ensure that each element of the component meets the functional requirements of the business as outlined in the:
- Functional Requirements
- Other functional documents produced during the course of the project i.e. resolution to issues/change requests/feedback
The execution plan will detail the test cases to be executed. The Execution plan will be put together to ensure that all the requirements are covered. The execution plan will be designed to accommodate some changes if necessary, if testing is incomplete on any day. All the test cases of the projects under test in this release are arranged in a logical order depending upon their inter dependency.
| Module | No. | Test Case Description | Action/Input | Expected Response |
|---|---|---|---|---|
| LaTex Parser | 1 | Input LaTex file | Input .tex file | File is accepted |
| BibTex Parser | 2 | Input BibTex file | Input .bib file | File is accepted |
| LaTex/BibTex Parser | 3 | Input invalid file | Input file that is not .tex or .bib (like .txt or .pdf) | Error notification appears |
| Doxygen GUI | 4 | View paper titles graphed | Input .tex and .bib files | Nodes are paper names |
| Doxygen GUI | 5 | View references graphed | Input .tex and .bib files | Connections references between papers |
| Doxygen GUI | 6 | View paper attributes | Input .tex and .bib files | GUI shows identifier and value (i.e. author, Corrina) |
| Forms GUI | 7 | Add paper attribute | Type paper attribute into UI | Change reflects in UI |
| Forms GUI | 8 | Modify paper attribute | Type paper attribute into UI | Change reflects in UI |
| Forms GUI | 9 | Update reference | Change which paper a paper references | Change reflects in UI |
| Doxygen GUI | 10 | Update paper title | Change paper title attribute | Change reflects in graph UI |
| Forms GUI | 11 | Enter special character unicode character | Type special character into UI | Error notification appears |
| Server side | 12 | Open app in the browser | Open app in the browser | App opens in the browser |
| All | 13 | Open app on Linux | Open app on Linux | App opens |
| All | 14 | Open app on Windows | Open app on Windows | App opens |
| Server side | 15 | Server sanitizes user inputs | Send valid user input to the server | Respond with appropriate page, i.e. 404/app page |
| Server side | 16 | Server sanitizes user inputs | Send invalid user input to the server | Respond with appropriate page, i.e. 404/app page |
| LaTeX/BibTeX Parser | 17 | Parser maintains an 'all.bib' header file | Check for the existence of an all.bib file | No response, normal system functions |
| Server side | 18 | Server saves and maintains a list of LaTeX papers provided by the user(s) in a folder called 'Papers' | User inputs a paper | Stored in "Papers" folder |
| Server side | 19 | Server saves reduced LaTeX papers in a folder called 'Graphs' | User inputs a reduced paper | Server stores the reduced papers in the 'Graph' folder |
| Writer | 20 | System creates mock-C-files from LaTeX files for Doxygen to interpret | Input LaTeX files to Writer | Valid C files are generated for Doxygen to interpret |
| Server side | 21 | JavaScript files are not vulnerable to XSS attacks | Input scripts in the search functions | Arbitrary JavaScript code cannot be executed |
| Server side | 22 | Server informs users when it is down | Try to connect to the server while it is not running | Server responds with an error page with a status code |
| Requirement | Test Case |
|---|---|
| FR1 | 1, 2 |
| FR2 | 3 |
| FR3 | 4, 5 |
| FR4 | 6 |
| FR5 | 6 |
| FR6 | 7 |
| IR1 | 1 |
| IR2 | 2 |
| IR3 | 8, 10 |
| IR4 | 9 |
| IR5 | 8 |
| IR6 | 10 |
| IR7 | 3 |
| PER1 | 12 |
| PER2 | 13, 14 |
| UHR1 | 15, 16 |
| DR1 | 17 |
| DR2 | 18 |
| DR3 | 19 |
| DR4 | 20 |
| SR1 | 21 |
| QA1 | 22 |
The testing environment consists of GUI testing and system testing via built-in unit and system testing frameworks provided with the Flask micro-service back-end.
- Unit and system tests are run through flask, in debugging mode
- Tests on the front-end are performed through visual analysis
This test plan is contingent on HTML5, CSS, JavaScript, and Python languages and the standards associated with them not changing.