0% found this document useful (0 votes)
34 views

Software Testing and Quality Assurance

This document provides an introduction to software testing, including different types of testing activities. It discusses unit testing, integration testing using top-down and bottom-up approaches, system testing which tests functionality and performance, regression testing to check for regressions after changes, and test case selection, execution and evaluation. It also introduces black-box testing which tests functionality without knowledge of internal design, and white-box testing which uses internal design knowledge to test all code paths. The key points are that a system undergoes different types of testing to detect various failures, and testing involves selecting and running test cases with black-box and white-box testing being complementary approaches.

Uploaded by

Shashi Bhushan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Software Testing and Quality Assurance

This document provides an introduction to software testing, including different types of testing activities. It discusses unit testing, integration testing using top-down and bottom-up approaches, system testing which tests functionality and performance, regression testing to check for regressions after changes, and test case selection, execution and evaluation. It also introduces black-box testing which tests functionality without knowledge of internal design, and white-box testing which uses internal design knowledge to test all code paths. The key points are that a system undergoes different types of testing to detect various failures, and testing involves selecting and running test cases with black-box and white-box testing being complementary approaches.

Uploaded by

Shashi Bhushan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Software Testing and Quality Assurance

Lecture 30 - Introduction to Software Testing

Lecture Outline

Testing activities. Introduction to test cases, test oracles and their execution. Black-box & White-box Testing

Unit Testing

module to be tested
results software engineer test cases

Integration Testing

The Big-bang Approach. Incremental Approach.

Top-Down Integration
A top module is tested with stubs G

stubs are replaced one at a time, "depth first" as new modules are integrated, some subset of tests is re-run

Bottom-Up Integration
A

drivers are replaced one at a time, "depth first" worker modules are grouped into builds and integrated

cluster
6

System Testing

System Functional Test

Test entire system against the functional requirements. Test the non-functional requirements of the system. For example, Response times, load testing etc. Set of tests that the software must pass before it is accepted by the client.
7

System Performance Test


System Acceptance Test

Trivial Example

You have been asked to write a term paper on Integration Testing in Component Based System. To do this, you need to find references from a range of library databases. You logs on to the KFUPM library system and uses the search facility to find relevant papers from IEEE, ACM and Elsevier databases. One paper of special interest requires authentication and you have to fill an online form to receive the paper. If you are allowed, the paper will be downloaded and ready for collection. An email will be send to you once the paper is ready.

Scenario-based Testing
8

Student Activity

Identify the possible interactions for the system testing of library system.

Trivial Example - System Testing


Test the login mechanism using correct and incorrect login. Test the search facility using queries against known source to check that the search mechanism is actually documents. Test system presentation facility to check that information about documents is displayed properly. Test the mechanism to request permission for downloading. Test the e-mail response indicating that the10

Regression Testing

Change do not always effect the entire program. Change in one part of system can effect other part. After each change

Entire test suite of a system must be run again.


11

Need for an automatic test suite execution.

Test Activities

Boils down to selecting and executing test cases. Test case consists of

Set of test inputs, of if the program is nonterminating, a sequence of test inputs. Expected results when the inputs are executed; and Execution conditions or execution environment in which the inputs are to be executed.
12

These steps generally remain same from unit testing to system testing.

Test Case Selection

Coverage criterion;

Equivalence Partitioning Boundary-Value Analysis Coverage-Based Testing


Control-flow Data-flow

Expected behavior of every test input to be generated. (Test Oracles) Testing environment.
13

Test Oracles

Determines whether or not the program has passed or failed the test case. A test oracle is

A program A process A body of data


In many cases - directly form the requirements. For example, a test case assessing performance - performance threshold.
14

Difficult to automate or to assess their quality

Test Execution

Test inputs on the program-under-test

Record the actual behavior.

Generally can be automated to an extend !!!!

15

Test Evaluation

Compare the actual behavior with the expected behavior.


Generally can be automated to an extend !!!!

16

Test Reporting

Report the outcome of the testing.


Developers Project Mangers etc.

Generally can be automated to an extend !!!!

17

Black-Box Testing
requirements

output

input

events
18

Black-box Testing

Test cases are derived from formal specification of the system. Test case selection can be done without any reference to the program design or code. Only tests the functionality and features of the program.

Not the internal operation.


19

Black-box Testing

Advantages

Test case selection is done before the implementation of a program. Help in getting the design and coding correct with respect to the specification.

20

White-Box Testing

21

White-Box Testing

Test cases are derived from the internal design specification or actual code for the program. Advantages

Tests the internal details of the code; Checks all paths that a program can execute. Wait until after designing and coding the program under test in order to select test cases.
22

Limitations

Key Points

A system typically undergoes a range of testing types. Each type of testing is aimed at detecting different kinds of failures. Testing boils down to the selection and execution of test cases. Black-box and white-box testing are complementary approaches.
23

Announcement

SWE Revised Program Discussion

Monday December 29, 2008 at 12:10-1:00 in 24/141

24

You might also like