Testing
ℹ️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
- [1] Guru99: Unit Testing Tutorial - https://www.guru99.com/unit-testing-guide.html
- [2] DZone Unit Testing Guidelines: What to Test and What Not To Test - https://dzone.com/articles/unit-testing-guidelines-what-to-test-and-what-not
- [3] Guru99. Automated Testing vs Manual Testing - https://www.guru99.com/difference-automated-vs-manual-testing.html
- [4] JetBrains. IntelliJ IDEA Testing. - https://www.jetbrains.com/help/idea/testing.html
- [5] TutorialsPoint. IntelliJ Idea - Unit Testing. - https://www.tutorialspoint.com/intellij_idea/intellij_idea_unit_testing.htm
- [6] Guru99. Integration Testing: What is, Types, Top Down & Bottom Up Example. - https://www.guru99.com/integration-testing.html
- [7] Techopedia. User Acceptance Testing (UAT). - https://www.techopedia.com/definition/3887/user-acceptance-testing-uat-software-testing
- [8] Guru99. What is User Acceptance Testing (UAT)? with Examples. - https://www.guru99.com/user-acceptance-testing.html