The QA Testing Process

Tutorial

·

Beginner

·

+10XP

·

0 mins

·

(57)

Unity Technologies

The QA Testing Process

In this tutorial you will be introduced to the types and levels usually used to test software.

Languages available:

1. Types of Software Testing

There are many ways testing occurs throughout the software development cycle. To begin it's important to understand the difference between Manual and Automated testing:

  • Manual Testing is done in person, by clicking through the application or interacting with the software and APIs with the appropriate tooling.
  • Automated Testing is performed by a machine that executes a test script that has been written in advance.

This pathway will focus exclusively on manual testing. At the end of the pathway we will share resources for you to learn more about automated testing. As well as available certifications and additional resources.

2. Software Testing Levels

Now that you understand the difference between the two main types of testing, we will now focus on the the levels of software testing:

  • Unit Testing is the first round of testing, and focuses on specific units, modules or components of the software to determine whether each one is fully functional. It’s quite common for software developers to perform unit tests before delivering software to testers for formal testing. They consist in testing individual methods and functions of the classes, components or modules used by your software.
  • Integration Testing verifies that the different units or modules used by an application work well together. For example, it can be testing the interaction with the database or making sure that microservices work together as expected. These types of tests are more expensive to run as they require multiple parts of the application to be up and running.
  • System or Functional Testing Functional tests focus on the business requirements of an application. They only verify the output of an action and do not check the intermediate states of the system when performing that action. There is sometimes a confusion between integration tests and functional tests as they both require multiple components to interact with each other. The difference is that an integration test may simply verify that you can query the database while a functional test would expect to get a specific value from the database as defined by the product requirements.
  • Acceptance Testing Acceptance tests are formal tests executed to verify if a system satisfies its business requirements. They require the entire application to be up and running and focus on replicating user behaviors. But they can also go further and measure the performance of the system and reject changes if certain goals are not met.
  • Performance Testing check the behaviors of the system when it is under significant load. These tests are non-functional and can have the various form to understand the reliability, stability, and availability of the platform. For instance, it can be observing response times when executing a high number of requests, or seeing how the system behaves with a significant of data.

You will use all the levels of testing once you begin to create your own prototypes and projects within the Create with Code course.

Complete this tutorial