Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Quality Assurance and Code Review

...

  • Code review and testing to ensure that our software products meet functional and non-functional requirements 

  • Use of automated testing tools 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 expectations

...

  • 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 Product Manager and development team that we all 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 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 

...

  • 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 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 

Overall, by adhering to our QA policy, we can continuously improve our software testing processes and deliver the high quality and security products to our customers.

...