A Primer on Testing with TestingBot
Learn about Software Testing
Software testing is the process of validating if software (applications, websites, mobile apps) meets the objectives it was designed for.
During testing, the software will be evaluated, either manually or in an automated way, to verify if the input corresponds to the desired output.
A simple example is a website, which was coded by a developer. It is designed to have a shopping cart, so that visitors can purchase items through the website.
At the end of the shopping flow, the shopping cart should be filled with the items selected by the user. Finally, the user should be able to pay for the selected items.
This example feature might very well be a critical part of the entire software project, as it is likely to generate revenue for the software's owner.
Testing this flow is an essential step, as the software owner would not want to lose revenue due to a broken flow or bug in the software.
Usually you would want to find defects in the software code as fast as possible, before it reaches its target audience. It will save everyone time, money and a good experience.
In this course, we will focus on two parts of software testing:
- Website Application Testing
- Mobile Application Testing
Website Application Testing
Website Application Testing is a test process that ensures the website functions and looks correctly on all the end-user's devices. There are a lot of variables when it comes to an end-user target, the most important ones:
- What computer is the end user using (a desktop, a laptop, handheld, tablet)? Which hardware configuration is used, what resolution is the user using?
- The OS (Operating System) which is used while visiting the website
- The geographical location: some websites may show different content, or locale settings, depending on the location.
- The browser (Chrome, Firefox, IE, Safari, Edge, ...) and its version
Mobile Application Testing
Mobile Application Testing is a test process where you would verify if the mobile app, developed by mobile app developers, looks and behaves correctly on the target mobile devices. Especially with non iOS devices, there are a lot of factors that may influence the behavior and user experience of a mobile app:
- The resolution, hardware capabilities, WiFi/LTE/4G reception status
- The mobile OS used; latest iOS, latest Android, or an older version?
- The mobile network operator
- Is the app running on iOS, Android, Huawei, Xiaomi, Microsoft, OnePlus or another device?
In the next chapter, we will focus on how we can test all these variations, with TestingBot.