Quality Assurance and Code Review
EcoPortal is committed to delivering high-quality products that meet or exceed our customers’ customer's expectations. To achieve this goal, we have established a comprehensive QA policy that applies to all phases of our software development lifecycle.
...
Ensuring the quality and reliability of our software products
Meet or exceed customers’ expectation and request Minimising customers' expectations and requests
Minimizing defects and errors in user interfaces and software code
Ensure compliance with industry standards and regulations
Continuous improvement of our software testing processes
...
Code review and testing to ensure that our software products meet functional and non-functional requirements Use of automated testing tools
Automated unit and E2E tests for the backend
Automated unit tests for the REACT frontend
Automated OWASP tests ran after every commit to check for security risks using Brakeman
Automated E2E regression tool to detect and prevent defects and errors (ACCELQ)?
Tool support for test execution and logging (QASE)
User acceptance testing to ensure that software meets customers expectationscustomer's expectations support by QASE (test planning, execution and logging)
Quality Assurance Processes
...
Review requirements: Our tester would review the requirements documentation to ensure that they are complete, testable, and accurate. Any unclear and ambiguous requirements would be raised and clarified with the Product Manager and development team that we all so requirements are fully understood
Build test cases: Based on the requirements documentation, our tester would develop test cases that cover all possible scenarios that our software product is expected to handle. The test cases should be designed to ensure that our product meets the functional requirements as well as non-functional requirements such as usability and security.
Execute test cases: Our tester would execute the test cases to validate that the our software product behaves as expected. The tests could be conducted manually or automatically depending on the complexity and nature of our software.
Report defects: If any issues are detected during testing, our tester would report them on Trello board (our team management tool) and log them on Qase. The defects should be well-documented, providing a clear description, the steps to reproduce it, and any supporting evidence such as screenshots and screen recording
Verify fixes: After the development team has fixed any issues identified during testing, the tester would verify that the fixes have been implemented correctly and that software behaves as expected
Retest: As changes are made to our software product throughout the development lifecycle, our tester would retest the software to ensure that it continues to meet the functional and non-functional requirements.
Regression testing: After all the adjustments and fixes have been completed, our tester would discuss with the development team to define the scope of unintended side - effects. This process is to make sure any change would not affect the behaviour behavior of other parts of the system.
Acceptance testing: We involve the EcoPortal service and implementation team in the acceptance testing process to ensure that the software products meet their expectations and requirements. User acceptance testing is conducted to validate the usability and accessibility of the software. Evidence of acceptance testing being completed on an approved change:
Results of automated security testing aligned with OWASP Top 10?
User acceptance testing results, such as feedback from EcoPortal service and implementation team on the new feature
Any defects raised during acceptance testing can be tracked on our team management tool (Trello board), including showing the issue reports, how and when they were resolved
Some approval documentation after UAT?
The final version of our software products would be approved for release
Sign-off: Once the acceptance testing is complete, our software products will be released is scheduled to be released.
To ensure effective and efficient testing of our the software products that we implement, we introduce the use of instant server servers for testing purposes. Here are the key components to use the instant server during testing:
Purpose: The instant server will be used to provide an isolated testing environment from the production environment. This allows us to test our software products without affecting production data or causing downtime.
Accessibility: We only allow the authorised authorized personnel to access to the instant server. For example, we provide secure login credentials.
Configuration: The instant server will be configured to match the production environment as closely as possible. How?
Conclusion
...
replicates the experience from our production server, allowing our QA to mitigate and find issues hard to spot during development.
Version | Date | Description | Author | Approved by | |||
<11.0>0 | <2929-Apr-2020> | <First Version> | <OWNER> | <APPROVER>2020 | 1.0 | Heidi | Raphael Santos |
Download the file in .pdf/.pages here:
...