unit 4 stqa
unit 4 stqa
Prepared By:
Mr.C.B.Pednekar
Performance Testing concepts
Performance testing is a type of software testing that focuses
on evaluating the performance and scalability of a system
or application.
Performance testing aims to identify bottlenecks, measure
system performance under various loads and conditions,
and ensure that the system can handle the expected number
of users or transactions.
While doing performance testing on the application, we will
concentrate on the various factors like Response time, Load
and Stability of the application.
Response time: Response time is the time taken by the
users use it at the same time. It is the response of the system measured
under varying load conditions.
The load testing is carried out for normal and extreme load conditions.
system can handle the expected usage levels and identify any potential
issues before the system is deployed to production.
Load Testing Techniques
Stress testing:
Stress testing is a type of load testing that tests the system’s
product.
Spike testing:
Spike testing is a type of load testing that tests the system’s ability to
handle sudden spikes in traffic.
It helps identify any issues that may occur when the system is
suddenly hit with a high number of requests.
It tests the product’s reaction to sudden large spikes in the load
generated by users.
Soak testing:
Soak testing is a type of load testing that tests the system’s ability to
handle a sustained load over a prolonged period.
It helps identify any issues that may occur after prolonged usage of
the system.
Objectives of Load Testing
Evaluation of Scalability: Assess the system’s ability to handle
Finding Memory Leaks: Find and fix memory leaks that may
etc.
testing.
or a group of servers to test the strength and analyze the strength under
different load types.
Apache JMeter Features
Performance Testing:
Performance is one of the most important features of any
application, so performance testing plays a vital role in testing any
application. JMeter tool has this feature of Performance Testing.
Load Testing:
Load Testing is where we assess how the application will perform
when it faces a load of users and activity, and JMeter is good with
this type of testing both with web applications and databases.
Functional Testing:
Functional Testing checks if the functionality of the application is
up to the mark. It ensures that the application behaves as expected
and delivers the desired features and functionalities to the user.
Scripting:
Scripting allows us to create custom test scenarios which can’t be
created by pre-built components, because of this feature JMeter is
able to test wide range scenarios and corner cases.
Protocol Support:
Protocol Support is the ability of an application to exchange data
with other systems using specific communication protocols.
Like protocols supported by JMeter are mentioned below:
– Web: HTTP, HTTP, FTP
– Web Services: SOAP/XML-RPC
– Network Devices: TCP/IP, Ethernet
– API: REST, GraphQL
Distributed Testing:
Distributed Testing is technique which allows to distribute the load
for testing into multiple machines rather than a single machine.
These multiple machines are controlled by a single parent machine.
It is poweful technique used JMeter check the real time
consequences of load.
Graphical Reporting:
Graphical Reporting is where we use Interactive visual to represent
the report to understand performance trends, identify bottlenecks,
and optimize your application’s performance.
Applications of Apache JMeter
Web Application Testing:
With automated tests, you can cover the same test cases in less time
over different combinations of browsers and OS.
With automation tools like BrowserStack, you can cover regression test
suite simultaneously over multiple combinations of devices, OS, and
browsers in no time.
You can get detailed analysis reports once the tests are completed, and
they are thorough enough to discover any underlying issues.
Efficient:
also manage scripts written in C#, Ruby, Scala, and other languages.
platform that can test websites and mobile applications across on-
demand browsers, operating systems, and real mobile devices.
You can access 3000+ different devices and browser versions. You
canrun Selenium, Cypress, Playwright, Puppeteer, Appium, Espresso,
and XCUI tests seamlessly using BrowserStack. It also integrates with
popular CI CD tools like Jenkins, Team City, Circle CI, etc.
Continuous Integration and Continuous
Delivery
Continuous Integration (CI) :
CI, as the name suggests, is an approach that happens before one
builds as they are testing code.
It requires developers to integrate or merge code into a shared
repository continuously.
It generally helps one to save more costs in the long run as it is
more costly to resolve defects in high-level architecture when
defects are discovered later on in the process.
It is considered a better way of developing software because it
reduces the number of defects when features are merged and
solves work on machine problems.
Continuous Delivery (CD) :
soon as possible.
completeness of checks.