Functional Testing Types-2

Ali KAYA
4 min readApr 11, 2022

Hi folks, today we will continue to explore the remaining functional testing types that significantly matter for the testing processes. For more explanation, you can check my previous story about functional testing.

We defined function means even so we can add here further describes: The functioning identifies the modules and components included in the applications and specified in the requirements. Functional testing checks whether modules and also components are working or not. The development team must ensure that all functions meet the requirements. To be sure they must compare requirements and modules. To illustrate, you have requirements that provide an easy payment system for the user, but there are no easy payment options anywhere. Or you put there a button for easy payment but it doesn’t work. It would be nonsense, wouldn’t it? Each button or menu has various functions to implement tasks that make an easy user experience. Buttons are defined for tasks. One of the buttons in a site can change the user name others can open the contact page. As a result, firstly specify true things, secondly create a module to reach that function. Now, look at the below picture. Each button has tasks. Think that you are a pilot. You have to know what they are doing.

Today I’ll talk about another three functional testing types. Let’s start.

  1. Regression testing: Regression testing is done after bug fixes or any changes in the application. When developers change some parts of the application, these changes might affect other parts containing irrelevant ones. We can think of updates. After updates, you can not predict what part will crash or will not work. Nobody can claim that the application will continue without issue after an update. To make sure whether the system is working, the testers should check other parts of the app that are not touched. (This app can be a mobile or web app. Please don’t be confused.) Especially there is one release for big companies each week. Since they need to respond to customer demand, their programmers change things on the page such as changing page structure, adding new attributes, or removing useless buttons and maybe the back-end side.
  2. Integration testing: Integration testing focuses on interactions between components or systems. Integration testing is one of the test levels. After unit testing is done including verifying modules by separating them, teams can focus on integrations among all systems. Integration means that combine two or more things. Combining different modules which work separately such as with a module and another module or with a module and interface might cause some problems. Additionally building confidence in the quality of the interfaces. User interfaces are significant for users so as to spend a good time on site or make real their target. If one function is working well but a user can not find the product that was searched, they most probably won’t come back to your app again. Not certain functions or buttons but all integrated modules, APIs, and structures should be checked while all of them are working together. A tester needs to do integration testing of the modules that are being deployed. For instance, a software team deployed the login page that has a username section, password, login button, sign up button, and forgot password and stay signed in sections. All these modules can work properly separately. When these are linked to each other, testers have to report how those are responding. When someone inserts an invalid username and valid password testers need to know it works as expected. Testers execute cases for other parts of the app as well.
  3. System Testing: It can be evaluated within functional and non-functional testing types. System testing is another one of the testing levels that come after the integration test. We can conclude that this type allows checking our entire system. According to the ISTQB syllabus: “System testing focuses on the behavior and capabilities of a whole system or product, often considering the end-to-end tasks the system can perform and the non-functional behaviors it exhibits while performing those tasks.” For example, an application can integrate with third-party systems or external systems. The software can contain SQL Server. To be sure that the server doesn’t overuse users' CPU, ram, and memory. When 100k data upload to the app, testers must be sure the app won’t crash. API, hardware, and database should be tested as a whole at the system testing level to provide the app quality.

These all are significant functional testing types that testers must execute. Without that test, an application would be vulnerable furthermore nobody would be sure the app has the quality and present a useful service for users. Thanks for spending your time with me.

--

--

Ali KAYA

Assistant Software QA at Nesine.com. Quality Assurance, researcher, debater. Love the world, love the animals.