Considerations to Achieve High-Quality Assurance Software

Two weeks ago, I was implementing the second feature in the Digipus project, and in this article, I’m going to share with you how I ensure the quality of software that I learned from the PMPL course through the feature. I encourage you to read my first article first of this project to get a clear idea of the story behind the project, the stacks, and the environment I’m working on before reading further because this is a continuation of that article. Check out the article here.

Methodologies

  • Agile — I and a team together implement all features one by one quickly
  • Test-Driven Development —Test first and implementation comes after that, it helps me to scope my implementation
  • Test Partition — Help me to figure out what tests that could cover my implementation

Recommendation Feature

Test Creation

Test Partition

Test Partition of Recommendation Feature

We clearly see when we use all combinations, then we will get 2 * 2 * 2 = 8 tests in total. But take a look again, we actually can only get 5 tests in total, because when we use empty contents, other characteristics can’t be applied, so the tests are not redundant. And because it’s a cheap number, so I’m totally okay to use ACoC for the combination with little reducing tests.

Implement Unit Tests

5 Unit Tests for Recommendation Feature

Functionality Implementation

Recommendation Feature

This is the code of the view, it’s pretty simple and straightforward that I only add a button to trigger the recommendation.

Result

Takeaways

Mainly a Full-stack Developer, Software Architecture Engineer. I'm a passionate developer, love to learn new things and write an article about it