Testing software is one of those tricky activities that seem easy at first, but you can quickly get into a rabbit hole if you don't know what you are doing.
All apps have lots of bugs, even if you are the most brilliant developer on earth. Senior developers understand that statement, and that's why they get obsessed with doing everything they can to implement best practices and prevent bugs.
There are so many different ways something may go wrong.
Companies have big teams with dozens of people behind the quality teams because thorough testing is complicated.
We don't recommend doing all types of testing; when applications are over-tested, the development cycle is slow because you have to run all these tests every time the software is compiled or published.
Thru the past 10 years these are the following types of tests that have been developed:
We will focus on two types of testing: Unit Testing and Story Testing as we consider those 2 the most important ones and, in some times, more than enough to ensure a reliable application.
Write down all user stories and acceptance criteria before coding. Make sure everyone agrees. Setup a bug database with priorities and a Kanban board with status-based tracking. Plan your tests. Have a "bug report template" Test for unhappy paths, errors and exceptions.
According to the agile method, your application requirements start as "user stories". User stories are straightforward and plain-english ways to describe software functionalities.
As a student, I would like to deliver projects for review.
Usually a user story can be structured like this:
As a [role], I can [feature] so that [reason]
The following is an example template to fill; you don't have to use all the sections, but please make sure the bug you create has a concise and reproducible description that is easy to understand for everyone on your team:
**Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [e.g. iOS] - Browser [e.g. chrome, safari] - Version [e.g. 22] **Smartphone (please complete the following information):** - Device: [e.g. iPhone6] - OS: [e.g. iOS8.1] - Browser [e.g. stock browser, safari] - Version [e.g. 22] **Additional context** Add any other context about the problem here.