Quality Assurance Process for SPAship
#
ObjectiveTo 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#
UI tests for SPAship using Cypress Cypress Tests
#
Pre-requisitesNodeJs
#
SetupInitialize 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 placeA 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