Testing

Viewing content for: 

ℹ️Summary

Testing helps you avoid anything from a simple typo, to critical, functionality impacting problems. You can do this with unit, integration, and user acceptance testing.

This phase is dedicated to testing the programs you have created during the construction-code phase. It is arguably a just as important phase as software with bugs in is not good software. Bugs can be anything from a simple typo, to critical, functionality impacting problems.

This series of documents will provide you with the knowledge of how to test your software effectively, a long with what sort of testing is expected from you at each level of study. On this course, you will be likely be using three types of testing:

Types of Testing


What is Expected

At Level 6, we are expecting the following:

  • Unit testing: Should be programmed and integrated with build (CI).
  • Integration testing: Should be programmed and integrated with build. CI practice is recommended.
  • User acceptance testing: Nice to be automated using a tool such as Selenium.
  • Code coverage: Nice to see depending on the module. See more on Code Coverage.

Tools

Unit/Integration Testing

User Acceptance Testing

Code Coverage

  • Java: Atlassian Clover, Cobertura, JaCoCo
  • Javascript: istanbul, Blanket.js
  • PHP: PHPUnit
  • Python: Coverage.py
  • C#: Visual Studio Code coverage, ReSharper’s dotCover

References