Manual Testing

Types of Non-Functional Testing

Types of Non-Functional Testing

1. Performance-testing

It is the most crucial component of non-functional testing. Performance-testing is the process of examining an application's behaviour by applying a load.

We will focus on several parameters such as response time, load, and application stability while performing performance-testing on the application.

The time it takes the server to react to a client's request is known as response time.

Load: When an N-number of people utilise the programme at the same time or send a request to the server at the same time, this is referred to as a load.

Stability: We can define stability as the number of users utilising the application at the same time for a given period of time.


 

2. Usability Testing

Usability testing is a type of software-testing that falls under the category of non-functional testing.

It's mostly used in user-centered interaction design to verify a software product's usability or ease of use. Because usability testing is comprehensive, it necessitates a thorough grasp of the application.

It is usually done from the perspective of the end user to see if the system is working properly.

It is the process of evaluating an application's user-friendliness, efficiency, and accuracy.

Usability Testing Process

Usability testing is broken down into a few key steps. This process will help us provide and create different results for all of the issues discovered during the testing process.

Usability testing, despite being a time-consuming process, tests the application's behaviour from the user's perspective in real-time, giving the tester the most precise results from actual testing.

And this gives us an idea of the errors/flaws in our product and aids us in identifying them before deploying it on the server.

The usability testing procedure follows a set of steps to assist the team in obtaining detailed and helpful feedback from end-users


 

Step 1: Planning

The first step in usability testing is planning, during which the team creates a test plan and generates some document samples to aid the testing team in completing the tasks. In the usability testing process, it is one of the most important and crucial stages.

The outcome of the usability test is constrained in the planning step. Here, the objective is not to have the participants sit in front of our application and recording their activities, but we need to fix the significant aspects and elements of the system.

The tasks must be assigned to our test engineers who are familiar with these critical features.

 

Step 2: Team Recruiting

We'll move on to the next level of usability testing, which is team recruitment, once the planning process is accomplished.

As the name implies, we will employ or recruit end-user delegates and participants, as well as test engineers, based on the product's budget and density.

These reps or test engineers are ready to sit in on test sessions and confirm the product's correctness and usefulness.

 

The selection of these test engineers is primarily dependent on the need for testing as well as the quantity of people listed in the test plan.

As soon as a test engineer has been hired, the team is assigned to certain responsibilities and tasks.

Step 3: Test Execution

Once the planning and team recruitment stages have been effectively completed. After that, we'll go on to the next step, which is Test Execution.

The test engineers carry out usability testing and carry out their responsibilities in the test execution process. In this case, the consumers must test the product to identify any irregularities and appropriately record them.

Step 4: Test Result Documentation

The findings of the test execution stage are included in the test result documentation step, which is subsequently followed by further analysis.

Step 5: Analyze the data

We'll go on to the following step of the usability testing process, Data Analysis, once the test results are documented.

The response or feedback comes from the data analysis phase's usability testing evaluation. And the results are categorised, and the patterns are recognised.

In this step, the data from usability testing is thoroughly reviewed in order to derive expressive implications and to assist us in making actionable suggestions to improve our product's overall usability.

Step 6: Reporting

After successfully completing all of the preceding processes, we will go to the final step of the usability testing procedure, which is reporting.

We can use this to report and share the results, as well as any suggested changes, with the development team, designer, and other project participants, as well as all connected materials, such as audio, databases, screen recordings, and so on.

For example, assume the company's Director goes out and collects software (say, gaming software) and distributes it to various end-users such as employees, acquaintances, and so on.

Now, these end-users will play a specific game and provide feedback to the Director.

This Director examines their input, identifying the most important points, and then compiling all of the information into a single report.

If a feature has been reported by all end-users, it should be examined; if the feature has been reported by only one or two end-users, it is regarded trivial.

After the significant and small bugs have been consolidated, they will be corrected according to the director's requirements

If it's a big bug, it'll be fixed first; if it's a small bug, it may be postponed or fixed in the following version.

 


 

3. Compatibility Testing

It falls under the category of non-functional testing. Compatibility testing is the process of evaluating an application's functionality across a variety of software, hardware platforms, networks, and browsers.

What is the purpose of compatibility testing?

We transferred the programme to production once it was stable. It may be used or accessed by several people on various systems, and they may encounter compatibility issues. To avoid this, we performed one round of compatibility testing.


 

Types of Compatibility testing

  • Software
  • Hardware
  • Network
  • Mobile

Software

Here, software refers to multiple operating systems (Linux, Windows, and Mac), as well as checking software compatibility on various operating system versions such as Win98, Windows 7, Windows 10, Vista, Windows XP, Window 8, UNIX, Ubuntu, and Mac.

Types of version compatibility testing, are:

  • Forward Compatibility Testing: Test the software on the new or newest versions.
    For example: Latest Version of the platforms (software)
    Win 7 → Win 8 → Win 8.1 → Win 10
  • Backward Compatibility Testing: Test the software on the old or earlier versions.
    For example:
    Window XP → Vista → Win 7 → Win 8 → Win 8.1

And diverse browsers like Google Chrome, Firefox, and Internet Explorer, etc.

Hardware

The application is compatible with diverse sizes such as RAM, hard disk, processor, and the graphic card, etc.

Mobile

Check that the application is companionable with mobile platforms such as iOS, Android, etc.

Network

Examining the software's compatibility with various network factors such as operating speed, bandwidth, and capacity.