Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

SOFTWARE

QUALITY
ENGINEERING
(SQE)
Chapter 22: Software Testing Strategies
1
TYPES OF
2
INTEGRATION
TESTING
 Regression Testing: Each time a new module is added as part of
integration testing, the software changes. Regression testing helps to
ensure that changes (due to testing or for other reasons) do not introduce
unintended behavior or additional errors.
 Regression testing may be conducted manually by re-executing a subset of
all test cases, or using automated tools.
 Smoke testing: Smoke Test refers to an initial testing which is performed
on newly developed software build (integrated modules).
 By this kind of software testing it is cleared that that the core
functionalities of software product is working perfectly without any
issues.
 If any case the software fails to pass the smoke testing then it is treated as
broken builds and forwarded back to developers.

3
4
VALIDATION
TESTING
 Validation testing begins after the execution of integration testing,
when:
 individual components have been exercised,
 the software is completely assembled as a package, and
 interfacing errors have been uncovered and corrected.

 Validation testing is the process of ensuring if the tested and


developed software satisfies the client /user needs.
 All the critical functionalities of an application must be tested here.
 There should not be even a single miss on the requirements asked
by the user.

5
6
ALPHA AND BETA
TESTING
 Alpha testing is performed to identify all possible issues/bugs
before releasing the product to everyday users or the public in a
controlled environment.
 Beta Testing of a product is performed by "real users" of the
software application in a "real environment"

7
Alpha Testing Beta Testing

Alpha testing is performed by the Testers who are Beta testing is performed by Clients or End Users
usually internal employees of the organization who are not employees of the organization

Alpha Testing is performed on developer's and Beta testing is performed at a client’s location or
tester’s side end user of the product

Beta testing doesn't require any lab environment


Alpha testing requires a lab environment or or testing environment. The software is made
testing environment available to the public and is said to be real time
environment

Critical issues or fixes can be addressed by the Most of the issues or feedback is collected from
developers and testers immediately in Alpha the client and real users. Beta testing is
testing implemented in future versions of the product

Beta testing also concentrates on the quality of


Alpha testing is done to ensure the quality of the the product, but gathers users input on the
product before moving to Beta testing product and ensures that the product is ready for
real time users. 8
 A variation of beta testing is called customer (user)
acceptance testing or simply acceptance testing which is
performed when custom software is delivered to a
customer under contract.
 The customer performs a series of specific tests in an
attempt to uncover errors before accepting the software
from the development team.

9
10
SYSTEM TESTING
 System Testing is the testing of a complete and fully
integrated software product.
 Usually, software is only one element of a larger computer-
based system. Ultimately, software is interfaced with other
software/hardware systems.
 System Testing is actually a series of different tests whose
sole purpose is to exercise the full computer-based system.

11
12
TYPES OF
SYSTEM TESTING
 Recovery Testing is a system test that forces the software
to fail in a variety of ways and verifies that recovery is
properly performed.
 Example: In case of an online application, unplug the
connecting cable while application is receiving data from
the network. After some time, plug the cable back in and
analyze the application’s ability to continue receiving data
from the point at which the network connection was
broken.

13
 Security Testing attempts to verify that protection
mechanisms built into a system will, in fact, protect it from
improper penetration.
 Example: In case of a financial application , the Browser
back button should not work.

14
 Stress Testing executes a system in a manner that demands
resources in abnormal quantity, frequency, or volume.
 Example: Let’s say a text editor application is able to store
data less than 5GB. Under stress testing it will be stressed
by copying and pasting 5GB data from the website. Text
editor should go under stress and gives 'Not Responded'
error message.

15
 Performance/Load Testing is designed to test the run-time
performance of software within the context of an
integrated system.
 Example: In context of a online application, let’s say that
it can entertain 1000 clicks per second. The application
will be tested by doing 1000 clicks per second to check its
performance.

16
 Deployment Testing, sometimes called configuration
testing, exercises the software in each environment in
which it is to operate.
 Example: Let’s say a desktop application named “Writing
Pad” is deployed on the operating system of the client to
ensure its proper functioning.

17
CLASS ACTIVITY 2: SYSTEM TESTING ON AN
APPLICATION
 You can do it either individually or can make a group of 2-4 people.
 Tear a page out and write your course name and section, complete ID, and
full name on it.
 Statement: Now, take into consideration the GMAIL application and give
one example scenario for Stress and Performance/Load Testing. Do
mention the heading for both types of testing first and then the example.
 Help:
 Stress testing executes a system in a manner that demands resources in
abnormal quantity, frequency, or volume
 Performance/Load testing is designed to test the run-time performance of
software within the context of an integrated system.

18
BOOK READING
 Contents covered so far.

19

You might also like