Quality Assurance Process for SPAship
Objective#
To have a Quality assurance process in place for testing the SPAship Manager and SPAShip Orchestrator
Need#
- To have an automation testing framework setup for testing the SPAship Manager and SPAship Operator functionalities.
- To have a process documentation of manual testing
Tools & Technologies Used#
- IDE- Visual Studio Code
- UI Testing Framework- Cypress
- Postman - For API Testing
- Gitlab- For maintaining the test code and used as the CI platform
- Newman- CLI version of Postman useful for integrating Postman with Gitlab
Reporting#
- For Cypress- We are using mochawesome reports
- For Newman- HTML-extra reporting template(Open Source) is used
Installation Procedure#
Cypress Tests#
UI tests for SPAship using Cypress
Pre-requisites#
NodeJs
Setup#
Initialize the package.json (This step should be executed only when setting up the project for the first time)
- Run npm init
Go through the series of questions that are asked and package.json will be created
- Install cypress using npm
npm install cypress --save-dev
- In the package.json, in scripts object:
- Setup Environment variables and other authentication related info
Execute tests:#
- For headless:
- For headed interactive:
Execute single test:#
Reports#
- Reporting config needs to be done in cypress.json file
- Click here for more details on reporting
Postman#
- Download Postman from Postman
- Navigate to testing gitlab repo TestRepo
- Download the SPAship_API_Final_Collection.postman_collection.json and import it in Postman
Notification of Test Completion#
- An email is triggered when the reports are generated containing the links to the url where the report is present
- An excel file is maintained containing the email addresses of the stakeholders to whom report has to be emailed
Bots in place#
A google chatbot has been configured that triggers notification whenever any push is made to the QA repository and upon change in the status of Pipeline configured
Manual Testing Process#
- Developer is supposed to move the issues to on QA in Jira
- Weekly once QA-dev sync up call to let the QA know what all tickets are planned for testing
- After the QA has completed testing, he/she would be moving it to the next stage as per workflow and giving a comment
- QA should be mentioning issues/bugs if found in testing in comments