What is the Dynamic Testing

100% Testing is not possible, but 100% Customer & Client satisfaction is possible.

Emre
6 min readFeb 16, 2022

After a long time, I returned to my habits of writing articles about the test processes that I started with the 100daysOfCode event. During this time, of course, I improved myself as much as I could. I received a lot of training and read texts about automation testing processes.

Yes, without further ado, I will publish articles on this page every day in order to first improve myself and then help learning and research enthusiasts like you. Today, let’s continue with the dynamic testing model, which is the most important and second step of software testing.

Software Testing Types

Dynamic Testing: In dynamic testing, the software code is executed to demonstrate the result of running the test. It’s done during the validation process.

We divide dynamic tests into two titles and classify them as Functional Test and Non-Functional Test. In this article, we will focus on functional testing under the main title of dynamic testing. Because the area that a test engineer is mainly interested in is the Functional Testing part.

1- So what is this Functional Testing?

Functional testing is the type of test that verifies whether each function of the application we are trying to test is working following the specified requirements. We can organize it under 4 main items that should be considered in the Functional Testing process:

  • Mainline Functions: Testing the main functions of an application
  • Basic usability: It includes the basic usability tests of the system. controls whether the user can move freely between screens without any difficulty.
  • Error Conditions: Use of necessary testing techniques to check for error conditions. In case of error Checks whether the appropriate error messages are displayed.
  • Accessibility: Controls the accessibility of the system for the user.

2- Non-Functional Testing:

The testing type is checks the performance, reliability, scalability, and other non-functional aspects of the software system. After processing these two steps simply, let’s now consider in detail the Software Testing Levels subject, which consists of 4 titles under the Functional test title:

Unit and Integration Testing

Unit Testing (Level 1): Unit testing is a method of verifying the behavior of a small part of our application by running it independently from the rest of the application.

The aim is to test each part of the software by separating it. It checks the component are fulfilling functionalities or not. This kind of testing is performed by developers. Also, Unit tests help to fix bugs early in the development cycle and save costs. furthermore, It helps the developers to understand the testing code base and enables them to make changes quickly

However, this issue is still controversial in the testing community and there is an audience waiting for unit testers to write it :)

Integration Testing (Level 2) Defined as a type of testing where software modules are tested as a group.

Integrate or combine several units of codes for different functions or modules. Also, integration testing is performed by the developer.

When we create an example with unit and integration test:

  • Unit test: Check selection food function
  • Unit test: Check payment function
  • Integration test: Check to select food function and payment function together
System and User Acceptance Testing

System Testing (Level 3) System testing is performed on the whole system by checking whether the system or application meets the requirement specification document.

System testing can also be divided into many topics in itself, but we will proceed as smoke and regression testing based on our table above.

— Smoke Testing: Determines whether the application is stable or not. The objective is to verify that the critical functionalities of the system are working fine. The purpose of smoke tests is to confirm whether the QA team can proceed with further testing.

Example smoke test scenario for amazon main page: Choose 1 or 2 or more user stories for each main functionality of the application: Also, in Smoke testing, the selected test scenarios cover the most important functionality or component of the system.

The goal is not to run extensive tests, but to verify that the critical functionality of the system is working well. As in the example of the amazon page below, the most critical tests are determined and run regularly at the specified time.

Smoke Testing User Story

In general, in software companies, smoked tests are run every morning before starting work and are reported at the start of the business hour. In this way, if there is any problem with our application, necessary steps are taken.

The number of smoked tests varies from application to application, and tests are usually determined by the QA team. Smoke tests do not take much time, but it varies according to the user story you have and a 30–40 smoke test may take 1 hour.

— Regression Testing: Verifies that software previously developed modules are still working with the newly added module. We have to make sure that a product still functions after code changes or updates. We have to make sure that a product still functions after code changes or updates.

  • new requirements are added.
  • new features are added.
  • A previous defect or bug is fixed.
  • Performance issues are fixed.
Regression Testing

Release 1: sprint 1, 2 & 3

Regression: Test all 7 function together.

Then let’s continue with sprints 4 and 5, and finally let’s do a regression all together:

Regression Testing Table

Release 2: sprint 4 & 5

Regression: Test all the functionalities of the application

All = sprint 1 + 2 + 3 + 4 + 5

If you have read this far, I congratulate you, I tried to summarize you as much as I can, I hope I did not tire you :) Now as the last step.

User Acceptance Testing/UAT (Level 4)The application is tested for acceptability & validates the end-to-end business flow.

After UAT, the application will be released to production. Also, there should be a specific environment for UAT.

There are two types of UAT:

1 — Alpha Testing: Test automation engineers (UAT team members) test the software to make sure it meets the requirement by the testing end — to end scenarios.

2 — Beta Testing: Actual software user/End-user-test the software to make sure it can handle the task in real-world scenarios

I tried to summarize the dynamic test steps as simply and clearly as I could, I hope it was useful for you.

Thanks.

Emre Ozudogru.

Linkedin

--

--

Emre

Do not compare yourself with others. Compare yourself today to yourself tomorrow!