0% found this document useful (0 votes)
23 views14 pages

Unit 5

Performance testing is a crucial software testing technique that evaluates the performance and scalability of applications under expected workloads, identifying bottlenecks and ensuring stability. Various types of performance testing include load, stress, spike, soak, endurance, volume, and scalability testing, each focusing on different aspects of system performance. Additionally, the document discusses the advantages and disadvantages of performance testing, outlines the process for conducting it, and introduces regression testing as a complementary practice to maintain software reliability.

Uploaded by

sneha chaudhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views14 pages

Unit 5

Performance testing is a crucial software testing technique that evaluates the performance and scalability of applications under expected workloads, identifying bottlenecks and ensuring stability. Various types of performance testing include load, stress, spike, soak, endurance, volume, and scalability testing, each focusing on different aspects of system performance. Additionally, the document discusses the advantages and disadvantages of performance testing, outlines the process for conducting it, and introduces regression testing as a complementary practice to maintain software reliability.

Uploaded by

sneha chaudhari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Software testing

Unit 5
Performance Testing is a type of software testing that ensures software applications perform
properly under their expected workload. It is a testing technique carried out to determine
system performance in terms of sensitivity, reactivity, and stability under a particular
workload.

5.1 What is performance testing?


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.

5.2 Types of performance testing


Performance Testing is the process of analyzing the quality and capability of a product. It is a
testing method to determine the system’s performance in terms of speed, reliability, and
stability under varying workloads.
Just as performance testing is essential for ensuring that software applications can handle
expected workloads and maintain stability under various conditions, understanding the
intricacies of this testing type is crucial for delivering high-quality software. Performance
testing is also known as Perf Testing . The types of Performance testing are as follows:

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 1


Software testing

1. Load testing
Load testing simulates a real-world load on the system to see how it performs under stress. It
helps identify bottlenecks and determine the maximum number of users or transactions the
system can handle. It checks the product’s ability to perform under anticipated user loads. The
objective is to identify performance congestion before the software product is launched in the
market.

2. Stress testing
Stress testing is a type of load testing that tests the system’s ability to handle a high load above
normal usage levels. It helps identify the breaking point of the system and any potential issues
that may occur under heavy load conditions. It involves testing a product under extreme
workloads to see whether it handles high traffic or not. The objective is to identify the breaking
point of a software product.

3. 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.

4. 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.

5. Endurance testing
Endurance testing is similar to soak testing, but it focuses on the long-term behavior of the
system under a constant load. It is performed to ensure the software can handle the expected
load over a long period.

6. Volume testing
In Volume testing , a large number of data is saved in a database and the overall software
system’s behavior is observed. The objective is to check the product’s performance under
varying database volumes.

7. Scalability testing
In Scalability testing , the software application’s effectiveness is determined by scaling up to
support an increase in user load. It helps in planning capacity additions to your software
system.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 2


Software testing

5.3 Why use performance testing?


 The objective of performance testing is to eliminate performance congestion.
 It uncovers what needs to be improved before the product is launched in the market.
 The objective of performance testing is to make software rapid.
 The objective of performance testing is to make software stable and reliable.
 The objective of performance testing is to evaluate the performance and scalability of a
system or application under various loads and conditions.
 It helps identify bottlenecks, measure system performance, and ensure that the system can
handle the expected number of users or transactions.
 It also helps to ensure that the system is reliable, stable, and can handle the expected load in
a production environment.

5.4 How to conduct performance testing?


Conducting performance testing involves several steps to ensure that a software application
can handle expected loads and perform well under stress. Here’s a simplified guide on how to
conduct performance testing:

Performance testing process


Step 1: Set Up the Testing Environment First prepare the place where you will run the tests for
the performance testing. Make sure you have all the needed tools and understanding for the
setup, like what devices and software you will be using for the performance testing.
Step 2: Decide What to Measure Think about what you want to know from the tests. This will
include things like how fast the system responds to and how much it can handle the tests. You
can also look at successful similar systems to set your goals.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 3


Software testing

Step 3: Plan Your Tests to Figure out different scenarios to test, considering things like how
users might behave and what data you will use. This helps you create tests that cover a range of
situations and decide what data to collect.
Step 4: Set Up Your Tools Get everything ready for testing, including tools and ways to track
what’s happening during the tests.
Step 5: Create and Run Tests Make the tests based on your plan and run them. Keep track of
all the data you get from the tests.
Step 6: Look at the Results After each test, see what you find out. Adjust your tests based on
what you learn, and run them again to see if things change.
Step 7: Keep Testing Keep analyzing and adjusting your tests to get the best results. Repeat
the process until you are satisfied with the performance.

 Advantages of Performance Testing


 Identifying bottlenecks : Performance testing helps identify bottlenecks in the system such
as slow database queries, insufficient memory, or network congestion. This helps
developers optimize the system and ensure that it can handle the expected number of users
or transactions.
 Improved scalability: By identifying the system’s maximum capacity, performance testing
helps ensure that the system can handle an increasing number of users or transactions over
time. This is particularly important for web-based systems and applications that are
expected to handle a high volume of traffic.
 Improved reliability: Performance testing helps identify any potential issues that may
occur under heavy load conditions, such as increased error rates or slow response times.
This helps ensure that the system is reliable and stable when it is deployed to production.
 Reduced risk: By identifying potential issues before deployment, performance testing
helps reduce the risk of system failure or poor performance in production.
 Cost-effective: Performance testing is more cost-effective than fixing problems that occur
in production. It is much cheaper to identify and fix issues during the testing phase than
after deployment.
 Improved user experience : By identifying and addressing bottlenecks, performance
testing helps ensure that users have a positive experience when using the system. This can
help improve customer satisfaction and loyalty.
 Better Preparation: Performance testing can also help organizations prepare for
unexpected traffic patterns or changes in usage that might occur in the future.
 Compliance : Performance testing can help organizations meet regulatory and industry
standards.
 Performance testing ensures the speed, load capability, accuracy, and other performances of
the system.
 It identifies, monitors, and resolves the issues if anything occurs.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 4


Software testing

 It ensures the great optimization of the software and also allows many users to use it at the
same time.
 It ensures the client as well as the end-customer’s satisfaction.

 Disadvantages of Performance Testing


Performance testing also has some disadvantages, which include:
 Resource-intensive: Performance testing can be resource-intensive, requiring significant
hardware and software resources to simulate many users or transactions. This can make
performance testing expensive and time-consuming.
 Complexity: Performance testing can be complex, requiring specialized knowledge and
expertise to set up and execute effectively. This can make it difficult for teams with limited
resources or experience to perform performance testing.
 Limited testing scope: Performance testing is focused on the performance of the system
under stress, and it may not be able to identify all types of issues or bugs. It’s important to
combine performance testing with other types of testing such as functional testing,
regression testing, and acceptance testing.
 Inaccurate results: If the performance testing environment is not representative of the
production environment or the performance test scenarios do not accurately simulate real-
world usage, the results of the test may not be accurate.
 Difficulty in simulating real-world usage: It’s difficult to simulate real-world usage, and
it’s hard to predict how users will interact with the system. This makes it difficult to know if
the system will handle the expected load.
 Complexity in analyzing the results: Performance testing generates a large amount of
data, and it can be difficult to analyze the results and determine the root cause of
performance issues.
 Sometimes, users may find performance issues in the real-time environment.
 Team members who are writing test scripts or test cases in the automation tool should have
a high level of knowledge.
 Team members should have high proficiency in debugging the test cases or test scripts.
 Low performances in the real environment may lead to the loss of a large number of users.

5.5 What is Cloud-based Performance Testing?


Cloud-based Performance Testing simulates real-world user traffic and uses cloud
computing platforms to evaluate the scalability and performance of online applications.
Utilizing the scalability and flexibility of cloud infrastructure provides advantages over
conventional methods and helps organizations locate performance bottlenecks and effectively
optimize application performance.
Cloud-based Performance Testing allows for the quick iteration and ongoing improvement of
software systems, enabling the delivery of dependable and high-performing applications in

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 5


Software testing

today’s digital ecosystem. It does this by distributing virtual users across multiple locations
and providing real-time information.

5.6 Performance Testing Tools


1. Apache JMeter: is an open-source tool used for performance testing and load testing of
applications. It simulates multiple users sending requests to a server, collecting performance
metrics to analyze the application’s behavior under different load conditions.
2. Open STA (Open, Systems Testing Architecture) Apache JMeter is an open-source tool
used for performance testing and measuring the load and stress on web applications. Its
main function is to simulate multiple users accessing a site simultaneously to evaluate its
performance and scalability.
3. Load Runner: LoadRunner is a performance testing tool used to simulate virtual users and
analyze the behavior of applications under load. It helps identify performance bottlenecks
by measuring system performance and response times under varying conditions.
4. Web Load: Web Load is a performance testing tool designed to test the scalability and
reliability of web applications under various load conditions. The function by sending user
requests to a web server, which processes the requests and sends back the appropriate web
pages or data.
5. Gatling: Gatling is an open-source load testing tool designed to analyze and measure the
performance of web applications. Its main function is to simulate a large number of users
interacting with a website to identify performance bottlenecks and ensure the site can
handle high traffic.
6. BlazeMeter: BlazeMeter is a cloud-based testing platform designed to simulate large-scale
user load and measure application performance. It allows developers and testers to run
continuous performance tests and analyze results to ensure their applications can handle
high traffic and perform optimally under stress.

5.7 Performance Testing Attributes

 Speed: It determines whether the software product responds rapidly.


 Scalability: It determines the amount of load the software product can handle at a time.
 Stability: It determines whether the software product is stable in case of varying workloads.
 Reliability: It determines whether the software product is secure or not.

5.8 Regression testing

Regression testing is a crucial aspect of software engineering that ensures the stability and
reliability of a software product. It involves retesting the previously tested functionalities to
verify that recent code changes haven’t adversely affected the existing features.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 6


Software testing

By identifying and fixing any regression or unintended bugs, regression testing helps
maintain the overall quality of the software. This process is essential for software
development teams to deliver consistent and high-quality products to their users.

5.9 What is Regression Testing?


Regression testing is like a software quality checkup after any changes are made. It involves
running tests to make sure that everything still works as it should, even after updates or tweaks
to the code. This ensures that the software remains reliable and functions properly, maintaining
its integrity throughout its development lifecycle.

5.10 When to do regression testing?


 When new functionality is added to the system and the code has been modified to absorb
and integrate that functionality with the existing code.
 When some defect has been identified in the software and the code is debugged to fix it.
 When the code is modified to optimize its working.

5.11 Process of Regression testing


Firstly, whenever we make some changes to the source code for any reason like adding new
functionality, optimization, etc. then our program when executed fails in the previously
designed test suite for obvious reasons. After the failure, the source code is debugged to
identify the bugs in the program. After identification of the bugs in the source code,
appropriate modifications are made. Then appropriate test cases are selected from the already
existing test suite which covers all the modified and affected parts of the source code. We can
add new test cases if required. In the end, regression testing is performed using the selected test
cases.

Process Regression testing

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 7


Software testing

5.12 Techniques for the selection of Test cases for Regression Testing

 Select all test cases: In this technique, all the test cases are selected from the already
existing test suite. It is the simplest and safest technique but not very efficient.
 Select test cases randomly: In this technique, test cases are selected randomly from the
existing test suite, but it is only useful if all the test cases are equally good in their fault
detection capability which is very rare. Hence, it is not used in most of the cases.
 Select modification traversing test cases: In this technique, only those test cases are
selected that cover and test the modified portions of the source code and the parts that are
affected by these modifications.
 Select higher priority test cases: In this technique, priority codes are assigned to each test
case of the test suite based upon their bug detection capability, customer requirements, etc.
After assigning the priority codes, test cases with the highest priorities are selected for the
process of regression testing. The test case with the highest priority has the highest rank.
For example, a test case with priority code 2 is less important than a test case with priority
code 1.

5.13 Top Regression Testing Tools


In regression testing, we generally select the test cases from the existing test suite itself and
hence, we need not compute their expected output, and it can be easily automated due to this
reason. Automating the process of regression testing will be very effective and time-saving.
The most commonly used tools for regression testing are:

1. Selenium
 Open Source: Selenium is an open-source tool, making it freely available and accessible
for developers and testers.
 Browser Compatibility: Supports multiple browsers, including Chrome, Firefox, Safari,
and Edge, ensuring tests can be run across different environments.
 Programming Language Support: Allows writing tests in various programming languages
such as Java, Python, C#, Ruby, and JavaScript, providing flexibility for testers.
 Cross-Platform: Capable of running on different operating systems, including Windows,
macOS, and Linux, which enhances the tool’s portability.
 Web Application Testing: Primarily designed for automating web applications, making it
ideal for regression testing of web-based systems.
 Extensive Community Support: Boasts a large and active community, offering a wealth of
resources, plugins, and extensions to aid in test automation.
 Integration Capabilities: Integrates well with other tools such as Jenkins for continuous
integration and continuous deployment (CI/CD), facilitating automated regression testing in
development pipelines.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 8


Software testing

2. Ranorex Studio
 Comprehensive Testing Solution: Ranorex Studio provides a complete testing solution
that supports end-to-end regression testing, including both functional and non-functional
tests.
 User-Friendly Interface: The tool offers an intuitive and user-friendly interface, making it
accessible for both beginners and experienced testers.
 Cross-Platform Testing: It supports cross-platform testing, enabling tests to be executed
on desktop, web, and mobile applications, ensuring broad test coverage.
 Codeless Test Automation: Ranorex Studio offers codeless automation through its capture-
and-replay functionality, allowing testers to create automated tests without extensive
programming knowledge.
 Robust Reporting: The tool provides detailed and customizable test reports, helping teams
to easily identify issues and track the quality of the software over time.
 Integration Capabilities: It integrates seamlessly with popular development and CI/CD
tools such as Jenkins, Azure DevOps, and Git, promoting a streamlined workflow and
continuous testing.
 Data-Driven Testing: Ranorex Studio supports data-driven testing, allowing testers to run
the same set of tests with different data inputs, enhancing test coverage and reliability.

3. testRigor
 AI-Powered Test Automation: testRigor utilizes artificial intelligence to automate the
creation and maintenance of regression tests, reducing the effort and time required for
manual testing.
 Natural Language Processing (NLP): The tool allows users to write test cases in plain
English, making it accessible to both technical and non-technical team members. This
feature simplifies test creation and improves collaboration.
 Codeless Test Creation: Users can create and execute test cases without writing any code,
which speeds up the testing process and reduces the dependency on developers.
 Cross-Browser and Cross-Platform Testing: testRigor supports testing across multiple
browsers and platforms, ensuring that the software works consistently in different
environments.
 Self-Healing Tests: The tool automatically updates test scripts to adapt to minor changes in
the application’s UI, minimizing the maintenance overhead commonly associated with
regression testing.

4. Sahi Pro
 Cross-browser Testing: Supports multiple browsers, ensuring consistent performance
across different environments.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 9


Software testing

 Ease of Use: User-friendly interface with scriptless record and playback functionality,
making it accessible for testers with varying levels of expertise.
 Robust Reporting: Detailed reports and logs that help in tracking and analyzing test results
efficiently.
 Integrated Suite: Offers integration with various Continuous Integration (CI) tools like
Jenkins, enhancing the automation workflow.
 Scalability: Capable of handling large-scale test automation projects with ease.
 Script Flexibility: Supports both scriptless testing and advanced scripting using JavaScript,
providing flexibility for complex test scenarios.

5. Testlio
 Global Network of Testers: Access to a diverse pool of professional testers from around
the world. Ensures comprehensive test coverage across different devices, operating systems,
and locations.
 On-Demand Testing: Flexible scheduling allows for testing when needed, fitting into the
development cycle seamlessly. Enables quick turnaround times for regression testing after
code changes.
 Integrated Platform: Combines test management, test execution, and reporting in a single
platform. Simplifies the regression testing process and provides a centralized view of test
results.
 Comprehensive Reporting: Detailed reports with actionable insights. Helps identify and
prioritize issues, making it easier to address regressions promptly.

 Advantages of Regression Testing


 Automated unit testing
 Comprehensive test coverage
 System integration
 Faster test execution completion
 Improved developer productivity
 Parallel testing
 Reduced costs
 Regression testing improves product quality
 Reusability
 Scalability
 Time efficiency

 Disadvantages of Regression Testing


 It can be time and resource-consuming if automated tools are not used.
 It is required even after very small changes in the code.
 Time and Resource Constraints.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 10


Software testing

 Among the significant risks associated with regression testing are the time and resources
required to perform it.
 Incomplete or Insufficient Test Coverage.
 False Positives and False Negatives.
 Test Data Management Challenges.

5.14 Adhoc testing

Adhoc testing is an informal and unstructured type of software testing aimed at identifying
defects or errors early in the development process. Unlike traditional testing methods, adhoc
testing does not follow any documentation, test design techniques, or predefined test cases.
Instead, it relies on the tester's experience and intuition to find potential issues by randomly
checking different parts of the application.

5.15 Types of Adhoc Testing


There are several types of adhoc testing, each with its unique approach:
1. Buddy Testing: In this type, two individuals, usually one from the development team and one
from the testing team, work together to identify defects in the same module. This collaboration
helps in developing better test cases and making early design changes.
2. Pair Testing: Here, two testers work together on the same machine to find defects. One tester
executes the tests while the other takes notes on the findings. This method allows for the
exchange of ideas and knowledge, leading to more effective testing.
3. Monkey Testing: This involves randomly testing the product or application without any test
cases, with the goal of breaking the system. It is a highly unstructured form of testing that can
uncover unexpected errors.
5.16 When to Perform Adhoc Testing?
Adhoc testing is typically performed when there is limited time for elaborate testing, usually
after formal test execution. It is most effective when the tester has a good understanding of the
system under test12. This type of testing is also useful when there are no clear test cases or when
the development is mostly complete2 .
5.17 Best Practices for Adhoc Testing
To ensure effective adhoc testing, consider the following best practices:
 Good Business Knowledge: Testers should have a thorough understanding of the business
requirements and the end-to-end business process. This helps in identifying defects more
easily1.
 Test Key Modules: Focus on testing business-critical modules first to gain confidence in the
system's quality1.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 11


Software testing

 Record Defects: Document all defects found during testing and assign them to developers for
fixing. Corresponding test cases should be written for each valid defect and added to the
planned test cases1.
 Advantages and Disadvantages
Advantages
 Time-Saving: Adhoc testing does not require elaborate test planning, documentation, or test
case design, saving a lot of time12.
 Uncovering Unique Defects: It can identify errors that might not be found through formal
testing methods2 .
 Flexibility: This testing can be performed at any time during the software development life
cycle2 .
Disadvantages
 Difficult to Reproduce Defects: Since there are no test steps or requirements mapped to the
defects, reproducing them can be challenging.
 Requires Experienced Testers: Effective adhoc testing relies heavily on the tester's
knowledge and experience with the system.
5.18 Object-Oriented Testing

Object-oriented testing is a specialized approach in software testing that focuses on verifying the
behavior and interactions of objects and classes in an object-oriented system. Unlike
conventional testing, which typically tests functions or procedures with clearly defined input-
output behavior, object-oriented testing deals with the complexities of classes, inheritance,
polymorphism, and dynamic binding.
5.19 Key Principles
Dependencies in Object-Oriented Systems
In object-oriented systems, there are additional dependencies compared to conventional systems.
These include class-to-class dependencies, class-to-method dependencies, and method-to-method
dependencies. These dependencies necessitate different testing techniques 1.
Testing Techniques
1. Fault-Based Testing: This technique involves creating test cases based on consumer
specifications or code to identify possible faults. It aims to flush out errors by executing each
line of code1 .
2. Class Testing Based on Method Testing: This approach tests each method of a class
individually, similar to unit testing in conventional methods1.
3. Random Testing: This involves developing a random test sequence to try a variety of
operations typical to the behavior of the classes1 .

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 12


Software testing

4. Partition Testing: This method categorizes the inputs and outputs of a class to minimize the
number of test cases1 .
5. Scenario-Based Testing: This technique captures user actions and simulates them during the
test to find interaction errors12.
Levels of Object-Oriented Testing
Object-oriented testing can be performed at different levels:
1. Algorithmic Level: Testing individual modules of each class.
2. Class Level: Testing each class as an individual entity.
3. Cluster Level: Integration testing of individual classes to verify interclass interactions.
4. System Level: Integration testing between clusters and overall system testing2.
Challenges in Object-Oriented Testing
 Dynamic Testing: It is not possible to test the class dynamically; only its instances (objects)
can be tested1 .
 Inheritance Issues: Changes in a parent class can affect subclasses, making it difficult to
isolate errors1.
 Control Flow: Control flow in object-oriented programs is characterized by message passing
among objects, requiring different testing approaches1.
 State Influence: The state associated with an object influences the path of execution and
communication between methods1.
Purpose of Object-Oriented Testing
 Object Interaction Validation: Ensuring objects interact appropriately in various situations1.
 Design Error Detection: Identifying limitations and faults in the object-oriented design1.
 Integration Problem Identification: Evaluating an object's ability to integrate and
communicate with other objects1.
 Reusable Code Assessment: Ensuring reusable parts perform as intended in various
scenarios1.
 Exception Handling Verification: Confirming that objects respond correctly to error
circumstances and exceptions1 .
 Uniformity Verification: Maintaining uniformity inside and between objects and the system
as a whole
5.20 Testing Web Applications

Testing web applications is a crucial process to ensure that they function correctly, are user-
friendly, secure, and perform well under various conditions. This process involves several types
of testing, each focusing on different aspects of the web application.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 13


Software testing

Types of Web Testing


1. Functionality Testing: This involves checking if the web application performs as expected
for all features and functions. It includes testing user interface elements like form submissions,
navigation, and ensuring that all links (internal, external, anchor, and mailto) work correctly.
2. Usability Testing: This type of testing ensures that the web application is easy to use and
provides a good user experience. It involves testing the site navigation, content readability,
and overall user satisfaction.
3. Interface Testing: This involves testing the interactions between the web server, application
server, and database server. It ensures that requests are sent correctly to the database and that
the output is displayed correctly on the client side
4. Compatibility Testing: This ensures that the web application works correctly across different
browsers, operating systems, and devices. It includes testing for browser compatibility,
operating system compatibility, and mobile browsing.
5. Performance Testing: This involves testing the web application's performance under various
conditions, such as different connection speeds and loads. It includes load testing to determine
the application's behavior under normal and peak loads, and stress testing to determine its
break point.
6. Security Testing: This type of testing identifies potential vulnerabilities in the web
application and ensures that it is secure. It includes testing for unauthorized access, data
encryption, and session management.

Steps in Web Application Testing


1. Planning: Understand the architecture and key areas of the web application to effectively plan
the testing process.
2. Test Case Development: Develop test cases for different types of testing, such as
functionality, usability, interface, compatibility, performance, and security testing.
3. Test Execution: Execute the test cases and record the results. Use both manual and automated
testing tools as needed.
4. Defect Reporting: Report any defects found during testing and track them until they are
resolved.
5. Regression Testing: Perform regression testing to ensure that new changes do not introduce
new defects.
6. Final Testing and Deployment: Perform final testing to ensure that the web application is
ready for deployment. This includes testing in the production environment to ensure that it
performs as expected.

Mrs.Sneha D. Patil[Asst.Professor/E&C Dept./KCES’s COEM,Jalgaon] Page 14

You might also like