Unit III
Unit III
PERFORMANCE TESTING
PERFORMANCE TESTING
• It is is a type of software testing that intends to determine how a system
performs in terms of responsiveness and stability under a certain load.
TYPES
• Load Testing is a type of performance testing conducted to evaluate the
behavior of a system at increasing workload.
• Stress Testing is a type of performance testing conducted to evaluate the
behavior of a system at or beyond the limits of its anticipated workload.
• Endurance Testing is a type of performance testing conducted to evaluate
the behavior of a system when a significant workload is given
continuously.
• Spike Testing is a type of performance testing conducted to evaluate the
behavior of a system when the load is suddenly and substantially
increased.
HOW TO PERFORM?
ATTRIBUTES OF PERFORMANCE
TESTING
• Speed
• Scalability
• Stability
• reliability
PERFORMANCE TESTING TOOLS
• •Jmeter - http://jmeter.apache.org/
• •Open STA - http://opensta.org/
• •Load Runner - http://www.hp.com/
• •Web Load - http://www.radview.com/
PERFORMANCE TESTING
METRICS
• •Throughput: how many units of information a system processes over a
specified time;
• •Memory: the working storage space available to a processor or
workload;
• •Response time, or latency: the amount of time that elapses between a
user-entered request and the start of a system's response to that request;
• •Bandwidth: the volume of data per second that can move between
workloads, usually across a network;
• •CPU interrupts per second: the number of hardware interrupts a process
receives per second.
PERFORMANCE TESTING
PROCESS
REGRESSION TESTING
REGRESSION TESTING
• It is a type of software testing that intends to ensure that changes
(enhancements or defect fixes) to the software have not adversely
affected it.
• Regression testing a black box testing technique that consists of re-
executing those tests that are impacted by the code changes. These tests
should be executed as often as possible throughout the software
development life cycle.
REGRESSION TESTING
DEFINITION
• A type of change-related testing to detect whether defects have been
introduced or uncovered in unchanged areas of the software.
TYPES OF REGRESSION TESTS
•Final Regression Tests: - A "final regression testing" is performed to
validate the build that hasn't changed for a period of time. This build is
deployed or shipped to customers.
•Regression Tests: - A normal regression testing is performed to verify if
the build has NOT broken any other parts of the application by the recent
code changes for defect fixing or for enhancement.
SELECTING REGRESSION TESTS
• Requires knowledge about the system and how it affects by the existing
functionalities.
• Tests are selected based on the area of frequent defects.
• Tests are selected to include the area, which has undergone code
changes many a times.
• Tests are selected based on the criticality of the features.
REGRESSION TESTING STEPS
• Select the Tests for Regression.
• Choose the apt tool and automate the Regression Tests
• Verify applications with Checkpoints
• Manage Regression Tests/update when required
• Schedule the tests
• Integrate with the builds
• Analyze the results
USABILITY TEST
INTRODUCTION
• Usability Testing also known as User Experience(UX) Testing, is a testing
method for measuring how easy and user-friendly a software application
is.
DEFINITION
• Testing to determine the extent to which the software product is
understood, easy to learn, easy to operate and attractive to the users
under specified conditions.
USABILITY TESTING TEST CASES
• The goal of this testing is to satisfy users and it mainly concentrates on
the following parameters of a system
THE EFFECTIVENESS OF THE
SYSTEM
•Is the system is easy to learn?
•Is the system useful and adds value to the target audience?
•Are Content, Color, Icons, Images used are aesthetically pleasing?
EFFICIENCY
•Little navigation should be required to reach the desired screen or
webpage, and scrollbars should be used infrequently.
•Uniformity in the format of screen/pages in your application/website.
•Option to search within your software application or website.
ACCURACY
•No outdated or incorrect data like contact information/address should be
present.
•No broken links should be present.
USER FRIENDLINESS
•Controls used should be self-explanatory and must not require training to
operate
•Help should be provided for the users to understand the
application/website
•Alignment with the above goals helps in effective usability testing
USABILITY TESTING PROCESS
USABILITY TESTING PROCESS
• Planning:- You need to assign tasks to your testers, which exercise these
critical functionalities.
• Recruiting:- During this phase, you recruit the desired number of testers
as per your usability test plan. Finding testers who match your
demographic (age, sex etc.) and professional ( education, job etc.) profile.
• Usability Testing:- You need to assign tasks to your testers, which
exercise these critical functionalities.
• Data Analysis:- Data from usability tests is thoroughly analyzed to derive
meaningful inferences and give actionable recommendations to improve
the overall usability of your product.
• Reporting:- Findings of the usability test is shared with all concerned
stakeholders which can include designer, developer, client, and CEO
METHODS OF USABILITY
TESTING
• Laboratory Usability Testing:-
• This testing is conducted in a separate lab room in presence of the observers.
• The testers are assigned tasks to execute.
• The role of the observer is to monitor the behavior of the testers and report the
outcome of testing. The observer remains silent during the course of testing.
• In this testing, both observers and testers are present in a same physical
location.
• Remote Usability Testing:-
• Under this testing observers and testers are remotely located.
• Testers access the System Under Test, remotely and perform assigned tasks.
• Tester's voice , screen activity , testers facial expressions are recorded by an
automated software.
• Observers analyze this data and report findings of the test.
USABILITY TESTING
ADVANTAGES
•It helps uncover usability issues before the product is marketed.
•It helps improve end-user satisfaction
•It makes your system highly effective and efficient
•It helps gather true feedback from your target audience who actually use
your system during a usability test. You do not need to rely on "opinions"
from random people.
USABILITY TESTING
DISADVANTAGES
•Cost is a major consideration in usability testing. It takes lots of resources
to set up a Usability Test Lab. Recruiting and management of usability
testers can also be expensive
•However, these costs pay themselves up in form of higher customer
satisfaction, retention and repeat business. Usability testing is therefore
highly recommended.
ACCESSIBILITY TESTING
WHAT IS IT?
• Accessibility Testing is defined as a type of Software Testing performed to
ensure that the application being tested is usable by people with
disabilities like hearing, color blindness, old age and other disadvantaged
groups.
• It is a subset of Usability Testing.
• People with disabilities use assistive technology which helps them in
operating a software product.
EXAMPLES
• Speech Recognition Software
• Screen reader software
• Screen Magnification Software
• Special keyboard made for the users for easy typing who have motor
control difficulties
WHY ACCESSIBILITY TESTING?
Reason 1: Cater to market for Disabled People.
About 20% of the population has disability issues.
• 1 in 10 people have a sever disability
• 1 in 2 people over 65 have reduced capabilities
Disabilities include blindness, deaf, handicapped, or any disorders in the
body.
WHY ACCESSIBILITY TESTING?
Reason 2: Abide by Accessibility Legislations
Government agencies all over the world have come out with legalizations,
which requires that IT products to be accessible by disabled people.