A Pragmatic Evaluation of Stress and Performance Testing Technologies For Web Based Applications
A Pragmatic Evaluation of Stress and Performance Testing Technologies For Web Based Applications
Abstract: The cumulative and multi-dimensional audit of the Load Testing: Evaluation of behavior of software with access
software applications are required so that the evaluation of by the huge load of users concurrently. The capacity of
the software suite on assorted tasks can be evaluated. In this software is analyzed to handle the load of users [3].
manuscript, the assorted dimensions of the audit of web
based applications are addressed with the evaluation of Stress Testing: Analysis of the robustness of software. It
multiple tools. The integration of prominent tools are done identifies the specific points where the software modules
for the pragmatic evaluation so that the analytics and testing getting issues and evaluation under extreme conditions of
can be done for the web applications using such tools. The system failure [4].
process of software development integrates the tasks of
rigorous testing on multiple parameters and dimensions so Security Testing: To discover the vulnerabilities and security
that the overall performance of the software suite can be loop-holes in the software. It also includes the penetration
highly effective. The process of software testing is mandatory testing that tries to identify the hacking or cracking
for every type of software product whether it is desktop probabilities of the software [5].
standalone software or web based application. Without
proper testing, the software application can behave Smoke Testing: It ensures the working of important and key
abnormally or can crash with specific inputs that cause the features of the software product. It is used to check the
failure of the software applications. This manuscript is stability of software for further stages of testing. The most
presenting the key software testing tools which are primarily critical functions are analyzed in this testing strategy [6].
used for stress and performance testing of the web
Unit Testing: The software is tested at each level of component
applications so that the applications can be tested before
and module so that the behavior of individual units can be
launching on the real time servers and testing the application
analyzed [7].
on multiple dimensions. The presented research work is
found quite effectual with the deep evaluations of the Acceptance Testing: The evaluation of software based on the
software audit approaches and evaluation parameters. prescribed Software Requirements Specification (SRS) is done
to make it deliverable. The levels and scores for acceptability
Keywords: Apache JMeter, Load Testing, HULK, Locust,
of software product are investigated [8].
Performance Testing, Software Testing, Stress Testing,
Software Testing Tools Graphical User Interface (GUI) Testing: The proper
functioning of the graphical user interface or simply the front-
I. INTRODUCTION
end of application is tested so that the software can be user-
The process of software testing is one of the key tasks that are friendly and able to function as per the requirements [9].
performed by a team of experts having deep knowledge of the
tools and technologies for the evaluation of software product Gorilla Testing: The software modules are tested repeatedly
from multiple dimensions [1, 2]. under assorted scenarios and inputs so that the consistency of
software can be checked. It also refers to Frustrating Testing
Before actual delivery and launching of the software that involves iterative testing of same component and
application, the software testing approaches are implemented identification of the bugs [10].
so that it can smoothly execute in the real time environment.
Performance Testing: It involves the evaluation of the software
There are assorted types of software testing for desktop as well product on multi-dimensional aspects including Speed, Load,
as web based applications. Following are the prominent Traffic, Stress, Susceptibilities and many others [11].
approaches of web applications testing which are traditionally
implemented for the software audit.
400
For example, to test the behavior of a website on concurrent Apache JMeter can be downloaded from http://Apache
1000 users, there is need to get 1000 users. Practically it is JMeter.apache.org/download_ApacheJMeter.cgi for different
difficult to hire 1000 users to open a website and checking platforms and flavors as it is cross-platform software. From
whether the website is working fine. Using Locust, any this link, the Apache JMeter is available in compressed format.
number of user traffic can be generated and finally the report is Apache JMeter is extracted with the executable files which are
presented on the multiple parameters including number of available in the bin directory.
requests, content size, failure attempts and many others.
There is no specific naming convention or compulsion
regarding the title of test plan. The testing engineer or audit
expert can specify the name or title as per their own
convenience.
Apache JMeter is able to test and present the deep audit of File
Transfer Protocol (FTP), Directory Services Lightweight
Directory Access Protocol (LDAP), Database Connections,
TCP, Mail Protocols (SMTP, POP, IMAP), Web Protocols
(HTTP, HTTPS), Java Objects, Shell Scripts and Native
Commands
Apache JMeter is loaded with the full feature rich IDE for Fig. 4. Specifying Threads (Users) in Apache JMeter
testing, debugging and test plan recordings so that the A number of users are created virtually without physical
cavernous analytics of the web applications can be done. The presence so that the web application can be tested and thereby
detailed documentation and tutorials are available on the the cumulative performance can be investigated by the
official website of Apache JMeter which can be used for webmasters and web administrators.
assorted case studies.
401
The option of HTTP Request is selected because in case of V. HULK AUTOMATION
web application testing, the protocol of HTTP works to present
Python is one of the powerful and multi-featured programming
the outcome on web browser or HTTP client. The HTTP client
languages that is used for multiple applications including cloud
opens the web page or URL only if that particular link is
computing, cyber security, digital forensics, Internet of Things
responding as without any issues.
(IoT), Fog Computing and many others.
The web application under testing can be specified in the suite
Generally, the penetration testers are dependent on the third
of Apache JMeter in terms of official link or IP address so that
party tools and software applications for digital forensic and
the direct connectivity with the web server can be evaluated for
audit of the software applications. This approach of using third
further investigations.
party software is not reliable and secured always.
The option to select “View Results Tree” enable the web
The implementations of different testing strategies can be done
administrator to visualize whether the load testing parameters
using core programming scripts written in Python. As there are
and factors are successful with the association of assorted as
many tools and libraries for load testing, stress testing and
well as enormous load on the web application.
performance testing but the Python Programs can be directly
used for these implementations. Using unreliable tools for
penetration testing and load testing can be dangerous because
own system information can be shared to the other locations
and it will not be secured.
402
From the outcome and different testing attempts, the Locust Applications, Integrity Aware Vulnerability Recognition in
tool is found comparatively fast and having less execution time Web Applications, Deep Learning based Identification of
as compared to Java based Apache JMeter. Suspects in the Access of Web Applications and many others.
With the integration of more tools and open source libraries,
Process of Evaluation the overall process of software testing in multiple dimensions
can be enriched on multiple parameters so that the delivery of
1. Generation of Load with Virtual Traffic software product with the bug free and having higher
performance.
2. Presentation of the Load to the Web Server with the
Evaluation Perspectives REFERENCES
3. Analysis of the Performance and Stress of the Web Server [1] A. Arcuri, “An experience report on applying software testing
with specific Load academic results in industry: we need usable automated test
generation”, Empirical Software Engineering. 2018 Aug
4. Analytics of the Performance Parameters of the Web 1;23(4):1959-81.
Application and Server [2] P. Ranjan, S. Kumar, U. Kumar, "Software fault prediction
using computational intelligence techniques: A survey", Indian
Journal of Science and Technology. 2017 May 7;10(18).
5. Logging of Results
[3] R. Abbas, Z. Sultan, S. N. Bhatti, "Comparative Study of Load
Testing Tools: Apache JMeter, HP LoadRunner", Microsoft
6. Cumulative Performance Assessment with the generation
Visual Studio (TFS), Siege. Sukkur IBA Journal of Computing
of the load and overall traffic and Mathematical Sciences. 2017 Dec 31;1(2):102-8.
[4] W. Jun and F. Meng, "Software testing based on cloud
computing", International Conference in Internet Computing &
Information Services (ICICIS), pp. 176-178. IEEE, September
2011.
[5] B. Potter and G. McGraw, "Software security testing", IEEE
Security & Privacy, vol. 2(5), pp. 81-85, 2004.
[6] S. McConnell, "Daily build and smoke test". IEEE software,
vol. 4, pp. 144-143, 1996.
[7] E. Dustin, "Effective Software Testing: 50 Ways to Improve
Your Software Testing", Addison-Wesley Longman Publishing
Co. Inc., 2002.
[8] P. Hsia, D. Kung and C. Sell, "Software requirements and
acceptance testing", Annals of software Engineering, vol. 3(1),
pp. 291-317, 1997
[9] A. M. Memon, "GUI testing: Pitfalls and process". Computer,
vol. 8, pp. 87-88, 2002
[10] D. D. Phan, "Software quality and management", Information
Fig. 7. Comparison of Time taken in Testing by Apache JMeter, Systems Management, vol. 18(1), pp. 56-67, 2001.
Locust and HULK Analyzer [11] G. Denaro, A. Polini, and W. Emmerich, "Early performance
testing of distributed software applications", ACM SIGSOFT
VII. CONCLUSION Software Engineering Notes, vol. 29, No. 1, pp. 94-103, 2004.
[12] T. F. Düllmann, R. Heinrich, A. v. Hoorn, T. Pitakrat, J. Walter
In the domain of security towards the web based applications, and F. Willnecker, "CASPA: A Platform for Comparability of
there exist enormous perspectives which are required to be Architecture-Based Software Performance Engineering
addressed and worked out. Following are few of the aspects Approaches," 2017 IEEE International Conference on Software
and research points which can be solved by the researchers, Architecture Workshops (ICSAW), Gothenburg, 2017, pp. 294-
corporate organizations and the academicians in the segment of 297.
software testing and forensic based audit of software including [13] E. H. Halili, "Apache JMeter: A practical beginner's guide to
Biometric integrated Access for Secured Web Portals, automated testing and performance measurement for your
Development of Trust Architecture for Secured Web websites". Packt Publishing Ltd., 2008
403