software testing 1 23
software testing 1 23
EDUCATION
NAVJEEVAN EDUCATION SOCIETY’S
POLYTECHNIC BHANDUP(W)
MICRO PROJECT
3
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION
CERTIFICATE
This is to certify that Ms. Siddhi Pashte(1355), Mr. Aditya Sakpal (1356), Mrs.
sudhanshu Muneshwar (1357) of Fourth semester of diploma in Computer
Engineering , of institute NAVJEEVAN EDUCATION SOCIETY’S POLYTECHNIC
(Code : 0144) has completed the project work satisfactorily inEmerging Trend computer
22618)for the academic year 2024 to 2025 as prescribed in theComputer
curriculum.
Seal of Institute
5
Micro Project Report
1.0 Retionale:
Performance Testing is a software testing process used for testing the speed, response
time, stability, reliability, scalability and resource usage of a software application under
particular workload. The main purpose of performance testing is to identify and eliminate
the performance bottlenecks in the software application. It is a subset of performance
engineering and also known as “Perf Testing”.
• List a range of different software testing techniques and statergies and be able to
apply
• Distinguish characteristics of structural testing methods
• Demonstrate the integration testing which aims to uncover interaction and
compatibility problems as early as possible.
• Discuss about the functional and system testing methods
• Demonstrate various issues for object oriented testing.
4.0Literature review:
2. the test reports are designed to document the result of testing as defined in the test
plan.
3.without a well- developed test plan it is difficult to developed a meaningful test report.
Identify your testing environment – Know your physical test environment, production
environment and what testing tools are available. Understand details of the hardware,
software and network configurations used during testing before you begin the testing
process. It will help testers create more efficient tests. It will also help identify possible
challenges that testers may encounter during the performance testing procedures.
Identify the performance acceptance criteria – This includes goals and constraints for
throughput, response times and resource allocation. It is also necessary to identify project
success criteria outside of these goals and constraints. Testers should be empowered to set
performance criteria and goals because often the project specifications will not include a
wide enough variety of performance benchmarks. Sometimes there may be none at all.
When possible finding a similar application to compare to is a good way to set
performance goals.
Plan & design performance tests – Determine how usage is likely to vary amongst end
users and identify key scenarios to test for all possible use cases. It is necessary to simulate
a variety of end users, plan performance test data and outline what metrics will be
gathered.
Configuring the test environment – Prepare the testing environment before execution.
Also, arrange tools and other resources.
Implement test design – Create the performance tests according to your test design.
Analyze, tune and retest – Consolidate, analyze and share test results. Then fine tune and
test again to see if there is an improvement or decrease in performance. Since
improvements generally grow smaller with each retest, stop when bottlenecking is caused
by the CPU. Then you may have the consider option of increasing CPU power.
Types of Performance Testing:
Load Testing:
Load testing helps developers understand the behavior of a system under a specific load
value. In the load testing process, an organization simulates the expected number of
concurrent users and transactions over a duration of time to verify expected response
times and locate bottlenecks. This type of test helps developers determine how many
users an application or system can handle before that app or system goes live. Additionally,
a developer can load test specific functionalities of an application, such as a checkout cart
on a webpage. A team can include load testing as part of a continuous integration (CI)
process, in which they immediately test changes to a code base through the use of
automation tools, such as Jenkins.
Stress Testing:
Stress testing places a system under higher-than-expected traffic loads so developers can
see how well the system works above its expected capacity limits. Stress tests have two
subcategories: soak testing and spike testing. Stress tests enable software teams to
understand a workload's scalability. Stress tests put a strain on hardware resources in
order to determine the potential breaking point of an application based on resource usage.
Resources could include CPUs, memory and hard disks, as well as solid-state drives. System
strain can also lead to slow data exchanges, memory shortages, data corruption and
security issues. Stress tests can also show how long KPIs take to return to normal
operational levels after an event. Stress tests can occur before or after a system goes live.
A kind of production-environment stress test is called chaos engineering and there are
specialized tools for it. An organization might also perform a stress test before a
predictable major event, such as Black Friday on an e-commerce application,
approximating the expected load using the same tools as load tests.
Security Testing:
Security Testing is a type of Software Testing that uncovers vulnerabilities, threats, risks in
a software application and prevents malicious attacks from intruders. The purpose of
Security Tests is to identify all possible loopholes and weaknesses of the software system
which might result in a loss of information, revenue, repute at the hands of the employees
or outsiders of the Organization.
Client-Server Testing:
In Client-server testing there are several clients communicating with the server.
1. Multiple users can access the system at a time and they can communicate with the
server.
2. Configuration of client is known to the server with certainty.
3. Client and server are connected by real connection.
4. Testing approaches of client server system:
• Component Testing: One need to define the approach and test plan for testing
client and server individually. When server is tested there is need of a client
simulator, whereas testing client a server simulator, and to test network both
simulators are used at a time.
• Integration testing: After successful testing of server, client and network, they are
brought together to form system testing.
• Performance testing: System performance is tested when number of clients is
communicating with server at a time. Volume testing and stress testing may be
used
for testing, to test under maximum load as well as normal load expected. Various
interactions may be used for stress testing.
• Concurrency Testing: It is very important testing for client-server architecture. It
may be possible that multiple users may be accessing same record at a time, and
concurrency testing is required to understand the behavior of a system in this
situation.
• Disaster Recovery Business continuity testing: When the client server are
communicating with each other , there exit a possibility of breaking of the
communication due to various reasons or failure of either client or server or link
connecting them. The requirement specifications must describe the possible
expectations in case of any failure.
• Testing for extended periods: In case of client server applications generally server is
never shutdown unless there is some agreed Service Level Agreement (SLA) where
server may be shut down for maintenance. It may be expected that server is
running 24X7 for extended period. One needs to conduct testing over an extended
period to understand if service level of network and server deteriorates over time
due to some reasons like memory leakage.
• Compatibility Testing: Client server may be put in different environments when the
users are using them in production. Servers may be in different hardware, software,
or operating system environment than the recommended. Other testing such as
security testing and compliance testing may be involved if needed, as per testing
and type of system.
6.0Actual Resources Used:
7. Team work.
8. Problem solving