Skip to content

Master Test Plan

Author: Sampsa Tervo
Version: 0.9
Date: 14.2.2023

General information

The purpose of this document is to provide an overview of the testing approach and strategies for the "Skill Collector". This document includes the tests to be performed, roles and responsibilities of people in context to testing and the necessary recources for testing purposes. This document is for all project stakeholders, including the project team, project manager and especially the testers.

About the Test Target / System Under Test

The target of the testing is the "Skill Collector" as a whole including all of its features and functionalities. The "Skill Collector" is a survey web app which sends survey data into a database.

Test goals and primary needs

The various goals of the testing include the following:

  • Making sure that the service works and intended
  • Ensuring that the service fulfills the end-user's needs and requirements
  • Identifying possible vulnerabilities and issues in the system before it's released
  • Ensuring that the service is compatible with any possible hardware that it could be accessed with
  • Verifying that the service meets the industry standards and regulations
  • Making sure that the usability and accessability of the service are up to bar with the end-users' expectations

Schedule

Release Plan

Tested Features

This list contains the features that are to be tested in the project.

Feature ID Feature name Test case
FEA01 Backup system
FEA02 Service analytics
FEA03 Feedback system TC-001
FEA04 GDPR info TC-006
FEA05 Log management
FEA06 Service containerized
FEA07 Regression test automatized
FEA10 Secured connection TC-003
FEA11 Domain name
FEA20 Skill info view TC-008
FEA21 Skill selection view TC-002
FEA22 Data-csv exporter
FEA23 Skill data importer
FEA24 User management
FEA26 User authorization
FEA27 Admin management panel TC-009
FEA28 Skill search TC-005
FEA29 Softskill selection view TC-004
FEA30 Progress bar TC-001

Non-tested Features

Features that don't require testing.

Feature ID Feature name Notes
FEA08 Production environment
FEA09 Testing environment

Testing Environments

The main testing environment of the project is a docker container running in a cPouta virtual machine. The developers will also be actively testing the system locally on their own machines. The system is going to be tested on machines running on Linux and Windows operating systems.

Resources and responsibilities

Resource Responsibility Notions Company
Sampsa Tervo Experimental, functional and performance testing Test manager Gang de Farine
Reima Parviainen Security testing Cyber security expert Gang de Farine
Justus Hänninen Functional testing Mainly testing while developing Gang de Farine
Aarne Salmi Security testing Gang de Farine

Testing Levels

There are different functional and non-functional testing levels, which will be explained in the section below.

Acceptance Testing

Acceptance testing is the final stage of the testing, and it will be performed with the end-user of the service before the final release. It's main focus is to ensure that the service meets the end users' requirements and that everything is working as intended. In order to move onto acceptance testing, we need to pass the functional tests and determine that the service is complete.

System Testing

The service as a whole will be tested during the system testing period. The purpose of it is to ensure that all the different components work with each other as intended and that the whole package meets the specified requirements. In system testing we will test different inputs to make sure that they deliver wanted outputs. Different parts of system testing include the following:

  • Functional testing: Making sure that the service has all the required functions and that they work as they are supposed to.
  • Regression testing: Running the same tests after updates to the code to ensure that nothing breaks in the service.
  • Usability testing: Testing the ease of use of different parts of the system and making sure that everything works smoothly.

System Integration Testing

System integration testing will ensure that all the different components in the system are compatible with each other. In this project the main point of system integration testing is to ensure that the web survey works well with the back-end and database to create the correct outputs.

Module / Component Testing

Also known as unit testing, is a type of testing that focuses on testing individual components of the service. The main portion of it will be done by the developers as the service is being developed.

About test planning

The purpose of test planning is to create a detailed picture of how the system is going to be tested, ensuring that the outcome of the project meets all the requirements of the end user.

Testing and troubleshooting processes

The testing will be executed during the development of the project and at the end before release. Each of the different features will undergo testing and they will after each test they will either pass or fail according to each test's specific pass/fail criterias. All of the test will follow general criterias for acceptance and rejection, which go as follows:

  • The feature meets the expectations and requirements of the end-user and works as stated in the feature descrtiption.
  • The feature doesn't work as intended or doesn't meet the requirements of the end-user.

Chosen test strategy

The testing will be mainly performed manually, but also automated testing will be used especially for regression testing.

Test tools and software used

Functional Testing

The primary goal of functional testing is to ensure that the result meets the end-users requirements and expectations. For this project functional tests will be performed with the Robot framework.

Performance Testing

Performance testing includes tests about speed, responsiveness, stability and resource utilization. We will use Apache JMeter to perform these tests.

Security testing

We will use Robot framework and Naughty Strings for security testing the user interface side. For local security testing we will use Kali Linux.

Availability testing

Availability testing is a process where the service is put under heavy load, and we will be using Apache JMeter for this type of testing.

Attachements

Preliminary acceptance tests

Test cases

Test results