Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views45 pages

4

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 45

ADVANCED TESTING

CONCEPTS
Action in advanced software testing
• Analysis of requirements
• Sophisticated GUI testing
• Test automation
• Compatibility testing
• Testing interruptions
Performance testing
• Assessing a system or applications scalability and performance
• Types
1. Load testing
2. Stress testing
3. Volume testing
4. Fail-over testing
5. Recovery testing
6. Configuration testing
7. Compatibility testing
8. Usability testing
Load testing
• Examines how the programme will behave while many people are
using it simultaneously
• Common load testing techniques
1. Stress testing – Testing the systems ability to handle a high load
above normal usage levels
2. Spike testing – Testing the systems ability to handle sudden spikes
in traffic
3. Soak testing – Testing the systems ability to handle a sustained load
over prolonged period of time
Load testing Process
1. Test environment setup
2. Load test scenario
3. Execution of test scenarios
4. Test result analysis
5. Retest
Stress Testing
• Stress testing is defined as types of software testing that
verifies the stability and reliability of the system.
• It tests beyond the normal operating point and analyses how
the system works under extreme conditions.
• Stress testing is also known as Endurance Testing or Torture
Testing .
Volume testing
• Volume testing, also known as flood testing, is a type of software
testing that evaluates how a system performs when handling large
amounts of data
• Volume Testing is also known as Flood Testing.
Characteristics of Volume Testing

• Performance of the software decline as passing of the time as


there is huge amount of data overtime.
• Basically the test data is created by test data generator.
• Only small amount of data is tested during development
phase.
• The test data need to be logically correct.
• The test data is used to assess the performance of the system
Objectives of Volume Testing

• To recognize the problems that may be created with large


amount of data.
• To check The system’s performance by increasing the volume
of data in the database.
• To find the point at which the stability of the system reduces.
• To identify the capacity of the system or application.
Volume Testing Attributes

• System’s Response Time


• Data Loss
• Data Storage
• Data Overwriting
Failover testing
• Failover testing is a process that simulates a system's response to a
primary system failure to verify that the backup system can take over.
• It's a practice run for a software's disaster recovery plan, and it's
important for maintaining business continuity and preventing
downtime.
Considerable Factors Before Performing
Failover Testing
1.The budget has to be the first thing to be taken into
consideration before thinking about performing the Failover
test.
2.The budget is connected to the frameworks that might crash or
break down under pressure/load.
3.Always keep in mind how much time it will take to fix all the
issues caused by the failure of the system.
4.Note down the most likely failures and organize the outcomes
according to how much harm is caused by the failure.
Considerable Factors While Performing
Failover Testing
1.Keep a plan of measures to be taken after performing a test.
2.Focus on the execution of the test plan.
3.Set up a benchmark so that performance requirements can be
achieved.
4.Prepare a report concerning issue requirements and/or
requirements of the asset.
Recovery testing
• Recovery testing is a software testing technique that verifies a
software application's ability to recover from failures
A system or software should be recovery
tested for failures like:
• Power supply failure
• The external server is unreachable
• Wireless network signal loss
• Physical conditions
• The external device not responding
• The external device is not responding as expected, etc.
Configuration testing
• Configuration testing is the process of testing a system with
each of the supported software and hardware configurations.
• Configuration Testing is the type of Software Testing that
verifies the performance of the system under development
against various combinations of software and hardware to find
out the best configuration under which the system can work
without any flaws or issues while matching its functional
requirements.
Types of Configuration Testing:

• Configuration testing is of 2 types:


1.Software Configuration Testing
2.Hardware Configuration Testing
Usability testing
• Usability testing is a technique that evaluates how easy or difficult a
product is to use by observing how real users interact with it
Techniques and Methods of Usability
Testing
1. Guerilla Testing
2. Usability Lab
3. Screen or Video Recording
Generally, there are two studies in usability
testing –
1.Moderated – the Moderator guides the participant for the
changes required in the product (software)
2.Unmoderated – There’s no moderator (no human guidance),
participants gets a set of questions on which he/she has to
work.
Testing the documentation
• Test documentation refers to the documentation of all the testing
artifacts that guide the overall testing process.
• It includes project estimation, resources, timelines, project progress,
and so on. It comprises a whole set of documents that record, and
document the test plan, test case, test strategy, test execution report,
test summary report, and so on.
Types of Test Documentation

Test Scenario
• A test scenario document contains various ways or amalgamation of testing on
the product. It gives an overview of end to end application flow, but does not
incorporate any data, inputs, or step by step actions to be performed on the
application.
Test Case
• A test case document contains inputs, data, line by line actions to be performed
on the application, expected, and actual outcomes of those actions, and so on. It
is derived from a test scenario.
Test Plan
• A test plan document contains the information on project scope, resources, cost,
strategy, timelines, methodologies, and so on. It is a set of testing guidelines
defined by project stakeholders for successful testing.
Security Testing

• Security testing is an integral part of software testing, which is used to


discover the weaknesses, risks, or threats in the software application
• Helps us to stop the nasty attack from the outsiders and make sure
the security of our software applications.
Availability
• The data must be retained by an official person, and
they also guarantee that the data and statement
services will be ready to use whenever we need it.
Integrity
• We will secure those data which have been changed
by the unofficial person. The primary objective of
integrity is to permit the receiver to control the data
that is given by the system.
• Authorization
It is the process of defining that a client is
permitted to perform an action and also receive the
services. The example of authorization is Access
control.
• Confidentiality
It is a security process that protracts the leak of
the data from the outsider's because it is the only way
where we can make sure the security of our data.
Authentication
The authentication process comprises confirming
the individuality of a person, tracing the source of a
product that is necessary to allow access to the private
information or the system
Non- repudiation
It is used as a reference to the digital security,
and it a way of assurance that the sender of a message
cannot disagree with having sent the message and that
the recipient cannot repudiate having received the
message.
Agile Testing
• In agile testing, the word "Agile" primarily signifies something that
can be performed quickly and immediately, but also in the area
of software development.
• The core-functional agile team implements it in order to test the
software product and its several modules.
• The implementation of agile testing makes sure to deliver a high
quality product as bugs or defects get deleted in the initial stage of
the project itself.
Advantages of Agile Testing
• Agile testing gives way to get regular feedback and reviews directly
from the end-user, which helps us enhance the software product's
quality and attribute.
• The implementation of agile testing will save lots
of time and money, making the estimation of cost more transparent.
• Through daily meetings, we can determine better issues.
• Agile testing reduces documentation, or we can say it requires less
documentation to execute the agile testing.
Limitations of Agile Testing
• Project failure: In agile testing, if one or more members leave the job then
there are chances for the project failure.
• Limited documentation: In agile testing, there is no or less documentation
which makes it difficult to predict the expected results as there are explicit
conditions and requirements.
• Introduce new bugs: In agile software testing, bug fixes, modifications, and
releases happen repeatedly which may sometimes result in the
introduction of new bugs in the system.
• Poor planning: In agile testing, the team is not exactly aware of the end
result from day one, so it becomes challenging to predict factors like cost,
time, and resources required at the beginning of the project.
Mobile App Testing vs Web App Testing

S. No. Mobile App Testing Web App Testing


These are software programs that These are software programs that
1.
are used on mobile devices. are used on computer.
Mobile applications are Web applications are developed
2. developed for broader range of for shorter range of users as
users. compared to mobile applications.
New applications can be Applications will be updated on
3.
downloaded from app store. website.
It is not easy to create responsive It is easy to code relative design
4. design for small screen devices for large screen devices such as
such as mobile devices, tablets. desktop and laptop.
Mobile storage capacity is less
than desktop or laptop when it
Desktop or laptop has larger
comes to downloading apps and
5. storage capacity as compare to
multimedia therefore, sometime
mobile.
it becomes difficult to test mobile
apps.
Mobile apps sometimes do not
require any internet connection Web app generally requires
6. but speed matters, quality of internet connection to perform
connection matters, speed of LTE any task.
connection, etc.
It is quite complex and
complicated to test mobile apps
It is easy and simple to test web
because of different mobile
7. applications because of
devices having different and
functionality of desktop.
greater number of
functionalities.
Testing team have to check
performance of mobile devices
on fully charged devices and low There is no such of problem of
8.
charged devices because battery life.
application that drains battery life
gets deleted soon.
One has to consider different
screen size, different OEM’s
One does not consider such
9. (original equipment
things in web app testing.
manufacturer), storage capacity,
etc., in mobile app testing.
Testing team has to focus on Testing team does not need on
interaction of mobile devices interaction of web devices with
with user’s moves, voice and user’s move, direction of user’s
10.
environment, eye moves, etc., as attentions, eye moves, etc. as it
it offers variety of options to offers less variety of options to
perform operations. perform operations.
The following are the tools or The following are the tools or
Frameworks for Mobile App Frameworks for Web App Testing-
Testing- •Selenium, the most popular one
•Appium among all other commercial
11.
•Espresso tools.
•XCUITest •WebLOAD
•Xamarin •Acunetix
•Robotium and more. •Netsparker and more.
Tablets, peripheral devices like
smartwatches, fitness trackers, Mouse, webcams, game
12. and even medical devices like controllers, keyboards, and other
heart pacemakers may need to peripheral devices are tested.
undergo testing.

You might also like