Skip to content

Quality Assurance Plan

anandamoyi edited this page Mar 19, 2021 · 3 revisions

Introduction

This quality assurance plan is about the processes and methods that are used to qualify our backend. Our main effort was on dynamic verification and validation (V&V). Our team is planning to cover and plan the static V&V on future sprints.

Test Coverage Criteria

  1. Statement coverage: all lines of code are executed and are logically coherent.
  2. Branch coverage: all condition branches are covered in the testing process.
  3. Path Coverage: all possible paths of a method are tested for correct functionality.

NOTE: All of it measured in percentage.

Dynamic Testing

The dynamic testing of the backend methods will be done using JUnit 5.

Unit Testing of Persistence

The reason for this test suite is to validate all features of our persistence layer. The SpringBootTest framework is used to interact with the persistence layer in order to test it. Each CRUD repository (dao class) is going to be tested on their PersistAndLoad and Delete abilities. It is expected to achieve 90% statement coverage.

Unit Testing of CRUD Methods

The reason for this test suite is to validate all methods inside our Service class. The SpringBootTest framework is used to interact with the persistence layer. We will be testing each method with several test cases using equivalence partitioning in order to guarantee that the coverage criteria are met. The result of unit tests expected to achieve 100% of branch coverage, at least 90% of path coverage, and at least 90% of statement coverage.

Unit Testing of Service Methods

This test suite is kind of similar to the unit testing of CRUD methods. However, the main difference between them is that we will be using Mockito Framework to interact with the Persistence layer instead of the SpringBootTest framework. The unit tests are expected to achieve at least 90% of the statement coverage.

Integration Testing of RESTful Service

This test suite will validate & verify all the POST, PUT, GET, and DELETE endpoints of the RESTful Service using Postman. Every query in the REST controller will be tested. The integration tests should achieve at least 90% of the statement coverage.

Static Testing

Our plans for static testing have been delayed due to time constraints due to schedule conflicts among team members since most of us are in different time zones and also due to some modification to our domain model which was done in the first spring.