Performance Testing in Atomic Scope | Atomic Scope

Performance Testing in Atomic Scope

Archana sukumaran

Author

Category: Atomic Scope

Posted: August 3, 2021

Non-functional areas of an application have been steadily growing in importance. While an application’s functionality is very important, users have equally started to value non-functional areas, such as performance, usability, accessibility, UX and UI. The focus on performance is a niche area in which test teams have been specializing and includes the application’s responsiveness, loading, scaling and capacity handling, tuning, and performance against the competition.

  1. A software application’s performance like its response time, reliability, resource usage and scalability do matter. The goal of Performance Testing is not to find bugs but to eliminate performance bottlenecks.
  2. Performance testing will determine whether their software meets speed, scalability, and stability requirements under expected workloads. Applications sent to the market with deficient performance metrics due to non-existent or poor performance testing are likely to gain a bad reputation and fail to meet expected sales goals.

Why do we need Performance Testing in Atomic Scope?

In Atomic Scope, we have a huge message flow per second. In pipeline activities, when a large number of messages to be processed in the pipeline component. So, customer should think about the performance of the portal and result. We have done the huge data transfer through Atomic Scope pipeline. When a large number of messages to be processed in the pipeline component it throws “Time out ” in pipeline activity or during the purging process. Due to this exception, it’s not able to track the messages or some events are missing in the message tracking. So, we have decided to do the performance testing with main strategies.

Performance testing is the key factor to ensure the stability and performance of the application.

Due to our analysis, we have decided to do performance testing various areas in Atomic Scope. Mainly in tracking page, Dashboard, Database.

Benchmark testing in Atomic Scope

In performance testing, benchmark is most important for analyzing the product. We have decided different benchmark for track the product.

Workload specification – If we provide specific number messages per minute, How the tracking page and dashboard are responding.

Number of messages

Duration

Result (depends upon duration)

1000

Per minute

18seconds

10000

Per minute

35seconds

1lakh

Per minute

55seconds

2lakhs

Per minute

1 minutes and 30 seconds

5lakhs

Per minute

3minutes

Also, we have considered the size of the message while using archive option in the transaction.

How data purging helps to improve the performance

Data Purging is next criteria which helps to improve the performance.In Atomic Scope, there has large volume of message processing tracking in both BizTalk and Azure Integrations. It will increase the database size and it will affect the performance and stability of the application. The best solution for this issue is removing the old data from Database (Purging) and it will help to enhance the performance. So, we have improved purge store procedures.

Every 15minutes, we will run the window service and deletes the top 10000 records of the old tracked data from each table of MainActivity,StageActivity,MessageArchive, Exception and the dynamic tracking properties table. The table contains message body, message content properties, exceptions details etc. Purging the old data from tables improve the performance and scalability.

We can view the execution details from the purge history page. Users can get notify through health check status info, if database size exceeds 20GB and data purging is not running in last 15 minutes due to any issue.

Data purging

General steps for performance testing using customer scenarios

Many customers have different environment set up with huge data. They might transfer data with different duration, size, metrics. After analysis and identified the customer environment and Database. We can create that environment as per the client setup. We have kept metrics as per the customer message volume.  Different Scenarios covered to check the performance of tracking activities are

  • EDI message processing with message archive
  • Debatch the incoming messages
  • Nested orchestrations

After setting up the environment, we will execute the different scenarios as test data.

  • First, we will execute normal sample scenarios like messaging only, single orchestration from the Postman collection or Visual studio. We used to populate the data continuously like a normal time gap like 5 seconds (Thread). So, we can ensure that handle the expected load of 1 lakh messages over an extended period.
  • Secondly, we will increase the load with a different time gap (10 seconds, 20 seconds etc). So, we can determine the application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.
  • The next step will increase load from 1 lakh to 5 lakhs data through the postman collection and visual studio simultaneously. We can see the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live.
  • Finally, we will monitor the database and the overall application’s behaviour is monitored. The objective is to check software application’s performance under varying database volumes.

We have tested from normal sample scenarios to tedious one with 1 lakh messages to 5 lakhs messages.

How load testing helps to identify the performance impact

  • We have identified the issues in Database and API’s.
  • Ensure that Atomic Scope is compatible across various platforms and browsers.
  • Performance Testing exposes the possible vulnerabilities within an Atomic Scope and identifies where it has to be strengthened to accept upgrades and changes to get more scalable.
  • Enhance robustness
  • Improve optimisation and load capability.

Load test helps us to understand the system’s behaviour in the anticipated peak’s condition. We are manipulating the data in different loads in different duration. In Atomic Scope, use postman application or Visual studio to push the data for load testing. So, we can easily identify which scenarios are lagging and when the messages are getting delayed. Also, we can get an idea about the database components. It helps us improve our performance and scale our product.

Performance testing

In Atomic Scope, Data Purging is done by SQL Server Stored Procedures. We can view the purge history in UI itself with execution time. It will help the user to understand the data availability and performance. Also, we can see the health check status info if purging has stopped or facing any issue. These are the improvements in application due to the performance testing.

Conclusion

Performance testing is necessary before marketing any software product. It ensures customer satisfaction & protects an investor’s investment against product failure. In Atomic Scope has improved overall performance,scability and accuracy.

atomic-scope-cta
Author: Archana sukumaran

Working as a Software engineer (QA) in Atomic Scope.