Introduction to Testing
LEARNING OBJECTIVES
After this lesson, you will be able to:
- Explain why testing is important for the development of an application
- Create user stories and test cases for an application
- Perform a test
AFTER YOU CAN DESCRIBE
- What is a test case?
- What is a user story?
- Why is testing a feature important?
- Predict: What do you think "Test-Driven Development" means?
Introduction: What is testing?
Testing is the process of making sure your app works properly, from preventing crashing to ensuring that all the features are implemented properly. Developers, quality assurance engineers (QA), and the users of your app are involved as stakeholders. Stakeholders are people or organizations who are actively involved in a project, or somehow affected by the project's progress. They include project managers, owners, people who invested money into your app or company, etc.
Happy Stakeholder
Stakeholders are the happiest when they don't know something was broken. That's where the developers come in. Through testing their app as early as possible, developers are able to find issues with the app and fix them before anyone knows about it.
In the worst case, if a dev finds an issue but cannot fix it right away, they can notify the QA engineers of the known issue. Although it's not the best case scenario, saying "I'm aware of this issue" is a lot better than hearing "How did you miss this issue?!"
Somewhat Happy Stakeholder
Developers will miss issues sometimes. It happens!
That is why a lot of companies have a QA department; a team of people who test your app constantly, dedicated to finding this issues and informing the team. The developer then fixes the issues.
This is still a good situation, somewhat. Catching issues before the public sees them is always good. However, if the QA team finds a bunch of issues, this may affect the project and, generally, worry the other stakeholders. A project manager, for instance, may have to delay the release of an app to give you time to fix the issues, which may cost the project time, energy, and money.
Upset Stakeholder
QA teams will miss issues sometimes. It happens!
This is where the user comes in. Usually, at this stage, the issues missed are small and do not break the app. So, things aren't so bad.
However, the user is the most important stakeholder. If something huge is wrong with your app, that could have been prevented, they will tell you...and they will tell everyone around them. The last thing you would want is a low rating in the Play Store. This is why developers and quality assurance engineers test the app early and often: To help keep the users as happy as possible.