Functional Testing Vs Performance Testing: Should It Be Simultaneous?

Tram Ho

Software testing covers many areas where software functionality can be verified or authenticated. Sometimes, non-functional aspects become less related to functional aspects. They are not performed concurrently during software testing.

This article explains the additional benefits of software product quality in different situations in the software testing life cycle when both functional and non-functional are performed simultaneously.

1. Quick difference between Performance Testing and Functional Testing

NOFunctional TestingPerformance Testing
firstTo verify the accuracy of the software with defined inputs compared to expected outputsTo verify the behavior of the system under different loading conditions
2It can be manual or automaticIt may work better if it is automated
3One user performs all operationsSome users perform the desired operation
4The necessary participation from Customers, Tester and DeveloperThe involvement of Tester, Developer, Management team is required
5The testing environment for production scale is optional and the requirements are minimalRequirements close to the production test environment and some facilities to put into load

2. Why should Performance Testing and Functional Testing be carried out simultaneously?

Functional Testing becomes much more important for any pre-released software. Verification and verification is based on actual results in a replicated production or testing environment where testing is common.

Leakage defects can become one of the biggest problems:

Testers are more responsible than developers for product quality. Basically, they do not want the tested product to leak defective. Testers often tend to only perform Functional Testing to achieve this.

Following is the conversation between Test Manager and a Tester:

(Test Manager is called ‘TM’ and Tester is ‘TR’)

TM: Hey buddy, what are we doing in testing the ‘A’ product?

TR: We are proceeding in a larger way.

TM: That’s great … And what is our scope for Performance Testing while Functional Testing is being implemented?

TR: We do not include them, our products are supposed to be in functional areas only, not in non-functional areas. In addition, the test environment we are using is not an exact copy of the product.

There are a few questions from the above conversation that are considered:

  • Does functional testing have a performance-dependent factor?
  • What happens if the performance of the software is degraded, but product delivery occurs without performance testing?
  • Performance testing – does it coexist in the functional testing process?

It has become a common practice for testers to not work on non-functional aspects unless they are required to do so. It is common to avoid non-functional testing until the customer reports a problem with the performance of the software being tested.

So there are 2 questions for you to consider:

  • Performance – does it affect functional testing?
  • Do we continue to test performance as a separate distribution, even if that worries customers?

Performance testing is important!

The software works on different architectures and models, including:

  1. Answer request model
  2. Transaction-based system
  3. Load-based system
  4. The system is based on copying data

The functional test behavior of the above mentioned system model depends on the performance of the system.

The perspective of automation requires a lot of attention on performance testing.

Following is the conversation between Test Manager and a Tester:

(Test Manager is called ‘TM’ and Tester is ‘TR’)

CL: Going to the solution we have requested, I hope there will be many test iterations going on.

TM: Yes, this can be done. As you said, there is a higher probability of iterative testing, we want to propose automation to deal with functional testing (regression).

CL: OK great, please send us your approach so we can approve this. Automation will have a much higher output with minimal effort.

TM: Exactly. We will work out the approach and get back to you with Proof of Concept .

From the conversation above, it is clear that the customer’s need is to optimize efficiency.

3. Case study

ABC Company works on a Software development project A. Software testing A is being carried out by XYZ company.

The contract for ABC and XYZ Company has some limitations for their cooperation. Any discussion between the two companies should take place once a week or three times a month. The system operates on a model of request-response mode. The development phase has been completed by ABC Company.

Now is the time for XYZ Company to perform an official functional test on Software A. XYZ begins to work with Software testing A. They have thoroughly tested the software and launched ‘Go’ online. after 2 test cycles.

Although there is a quality certificate from the checkout team, the direct deployment did not go well. There are many post-production errors. There is a large number of customer problems, including disruption of functionality for end-to-end business processes.

So what is the problem now?

  • Is this a problem with restrictions on collaboration between the development and testing teams?
  • Are the requirements not 100% captured?
  • Is the product not tested in an appropriate test environment?
  • Or any other cause?

After careful research and analysis, the following were inferred:

  1. There are a few of the interdependent and interdependent applications that have performance issues while fetching responses.
  2. The test inputs used are not absolute.
  3. The strength of the software is not of concern.
  4. Lots of sync issues between many standalone applications.
  5. Software testing that has done a lot of work is not considered.
  6. In addition to system testing, system integration tests must be performed.
  7. A minimum time interval between two test iterations must be provided. This is to check for previously identified errors.
  8. All errors identified in previous iterations should be fixed in the current iteration.

The Testing Team performed all the proposed actions and had a large number of defects discovered within a short time.

Observe:

  1. The software’s direct execution schedule is greatly improved by optimizing test cycle time.
  2. There is good progress in optimizing software quality. Therefore, there is a huge decline in support tickets after the implementation.
  3. The rework is reduced and it is testing again instead of redo. Between different iterations, there is a better improvement in the quality observed.

4. Conclusion

Performing non-functional testing during functional testing is more advantageous and will add more benefits to overall software quality. This will identify performance errors (limited in the testing and dependency environment) and thus will reduce situations where a functional problem is assumed.

Adequate planning for functional and non-functional testing (at a minimum) must be carried out to maintain close relationships among other project stakeholders.

Reference source: https://www.softwaretestinghelp.com/functional-testing-and-performance-testing/

Share the news now

Source : Viblo