Skip to content

Test Plan

Corrina Del Greco edited this page Apr 27, 2021 · 14 revisions

Test Plan for Citation Graph

Team Members:

  • 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

1. Introduction

1.1 Purpose

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.

1.2 Objectives

  • 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.

2. Functional Scope

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

3. Overall Strategy and Approach

3.1 Testing Strategy

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.

3.2 System Testing Entrance Criteria

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

3.3 Testing Types

3.3.1 Usability 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.)

3.3.2 Functional Testing

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

4. Execution Plan

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

5. Traceability Matrix & Defect Tracking

5.1 Traceability Matrix

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

6. Environment

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.

7. Assumptions

  • Unit and system tests are run through flask, in debugging mode
  • Tests on the front-end are performed through visual analysis

8. Risks and Contingencies

This test plan is contingent on HTML5, CSS, JavaScript, and Python languages and the standards associated with them not changing.

Clone this wiki locally