Skip to content

Test Plan

Subham Subhasis Sahoo edited this page May 5, 2023 · 1 revision

Test Plan

SourceM is a Java application monitoring and analysis tool that uses bytecode weaving techniques to collect statistical data on application usage. The application includes several components, including Java AJC, Node.js backend, and React frontend. This test plan provides detailed information on how to test each component of the SourceM application.

Test Plan Introduction

The Test Plan for the Mobile Application project, which aims to simplify door-to-door garbage collection, outlines the scope, approach, resources, and schedule of all testing activities. It provides details on the items and features that will be tested, the types of testing that will be performed, the personnel responsible for testing, as well as the resources and schedule needed to complete the testing. Additionally, the Test Plan addresses the potential risks associated with the testing process.

Test Items

  • AspectJ aspects
  • NodeJS Backend
  • React Web Application

Aspect Testing

This involves writing unit tests using JUnit and Mockito framework to ensure that the monitoring code is injected correctly and collects accurate statistical data. The tests use test classes that are monitored. It should cover various scenarios, including application start-up, method execution, and exception handling.

NodeJS Testing

This involves testing the backend API endpoints using Supertest to ensure that they return the expected results. The tests should cover various scenarios, including fetching data, adding data, and error handling. Integration testing with the database will also be carried out to verify the correctness of the data stored.

ReactJS Testing

This involves testing the front end using Selenium to ensure that it provides a seamless user experience. The tests should cover various scenarios, including navigating through the application, viewing statistical data, and error handling. The tests will verify that the frontend components are rendered correctly and that the user can interact with the components as expected. The tests will also verify that the frontend components correctly communicate with the backend APIs to fetch and display data.

  • Auth Testing - Testing whether signed in users can log in and new users can sign up successfully
  • Linkage Testing - Testing whether all parts of the web application render successfully
  • Security Testing - Testing whether XSS and SQL injection attacks are possible on the application

Features not to be tested

This includes some external dependencies and non functional requirements of the application such as

  • Firebase API - Provides access to firestore and authentication
  • Web interfaces for communication

Pass/Fail Criteria

A test pass percentage of 100% is mandatory in the aspects unless specified otherwise. This is because the aspects interact directly with the application and the user side applications can crash. A test pass percentage of 80% is mandatory in the backend tests.

Suspension Criteria

If over 30% of test cases fail, suspend testing until all pendings tests are fixed.