0% found this document useful (0 votes)
84 views26 pages

Lecture - 4 - Chapter - 22 - Software Testing Strategies

This document discusses different types of software testing strategies, including integration testing, validation testing, alpha and beta testing, and system testing. It provides details on top-down and bottom-up integration approaches. Various types of system testing are defined, such as recovery, security, stress, performance, and deployment testing. Examples are given to illustrate different testing techniques.

Uploaded by

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

Lecture - 4 - Chapter - 22 - Software Testing Strategies

This document discusses different types of software testing strategies, including integration testing, validation testing, alpha and beta testing, and system testing. It provides details on top-down and bottom-up integration approaches. Various types of system testing are defined, such as recovery, security, stress, performance, and deployment testing. Examples are given to illustrate different testing techniques.

Uploaded by

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

SOFTWARE

VERIFICATION
AND
VALIDATION 1

(SQT)
Chapter 22: Software Testing Strategies
2
INTEGRATION
TESTING
 Integration Testing: The objective is to take unit-tested
components and build a program structure that has been
dictated by design.
 Incremental Integration: The program is constructed and
tested in small increments, where errors are easier to isolate
and correct.
 Top-Down Integration. Top-down integration testing is an
incremental approach for construction of the software
architecture.

3
 The top down integration process is performed in a series of
five steps:
1. The main control module is used as a test driver and stubs
are substituted for all components directly subordinate to the
main control module.
2. Subordinate stubs are replaced one at a time with actual
components.
3. Tests are conducted as each component is integrated.
4. On completion of each set of tests, another stub is replaced
with the real component.
5. Regression testing (discussed later in this section) is
conducted to ensure that new errors have not been
introduced

4
 Bottom-Up Integration: Begins construction and testing
with atomic modules (i.e., components at the lowest levels in
the program structure).

5
 A bottom-up integration strategy may be implemented with
the following steps:
1. Low-level components are combined into clusters
(sometimes called builds ) that perform a specific software
sub-function.
2. A driver (a control program for testing) is written to
coordinate test-case input and output.
3. The cluster is tested.
4. Drivers are removed and clusters are combined moving
upward in the program structure.

6
TYPES OF
7
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 is an integration testing approach that is
commonly used when software product is developed. Smoke
tests are used to evaluate the stability of the initial or newly
developed software builds
 It is designed as a pacing mechanism for time-critical projects,
allowing the software team to assess the project on frequent
basis. The purpose is to reject a badly broken application so that
the QA team does not waste time installing and testing the
software application.
8
9
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 succeeds when software functions in a manner that


can be reasonably expected by the customer.
 Validation testing needs a Test Plan and Test Procedure for
its execution.

10
 A test plan outlines the classes of tests to be conducted.
A test procedure defines specific test cases that are
designed to ensure that all types of requirements are satisfied
and documentation is correct, and usability and other
requirements are met.
 An important element of the validation process is a
configuration review (a.k.a audit). The intent of the review
is to ensure that all elements of the software configuration
have been properly developed.

11
12
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" 

13
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.   14
 A variation of beta testing is called customer acceptance
testing or simply acceptance testing which is sometimes
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.

15
16
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.

17
18
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.

19
 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.

20
 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.

21
 Performance 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.

22
 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.

23
BOOK READING
 Contents covered so far.

24
QUIZ 1 ANNOUNCEMENT
 Quiz 1 will be conducted in the next lecture.
 Contents: Chapter 22 (Topics covered so far)
 P.S. Book reading is a must.

25
CLASS ACTIVITY 3: SYSTEM TESTING ON AN APPLICATION

 Make a group of 3-4 people.


 Tear a page out and your complete ID’s and full name on it.
 Now, take into consideration the GMAIL application and give one
example test case for Stress and Performance Testing
 Help:
 Stress testing executes a system in a manner that demands
resources in abnormal quantity, frequency, or volume
 Performance testing is designed to test the run-time performance
of software within the context of an integrated system.
 Solution: Discussed on board in the class

26

You might also like