Testing - Lecture Slides - Software Engineering | CS 1530, Study notes of Software Engineering

Material Type: Notes; Class: SOFTWARE ENGINEERING; Subject: Computer Science; University: University of Pittsburgh; Term: Fall 2004;

Typology: Study notes

Pre 2010

Uploaded on 09/02/2009

koofers-user-bd6
koofers-user-bd6 🇺🇸

9 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
CS 1530 Software Engineering Fall
2004
Software Engineering
Testing
Integration testing
Bottom-up
Top-down
Big-bang
Sandwich testing
Modified top-down
Modified sandwich
CS 1530 Software Engineering Fall
2004
Example Hierarchy
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Testing - Lecture Slides - Software Engineering | CS 1530 and more Study notes Software Engineering in PDF only on Docsity!

CS 1530 Software 2004 Engineering Fall

Software Engineering

Testing

Integration testing

■ Bottom-up

■ Top-down

■ Big-bang

■ Sandwich testing

■ Modified top-down

■ Modified sandwich

CS 1530 Software 2004 Engineering Fall

Example Hierarchy

CS 1530 Software 2004 Engineering Fall

Bottom-up Integration Testing

• Uses

Component

Drivers

CS 1530 Software 2004 Engineering Fall

Top-down Integration Testing

Uses component stubs

CS 1530 Software 2004 Engineering Fall

Modified Top-down

Table 8.7. Comparison of integration strategies.

Bottom-up Top-down Modified

top-down

Big-bang Sandwich Modified

Integration Early Early Early Late Early^ sandwich Early

Time to basic

working program

Late Early Early Late Early Early

Component drivers

needed

Yes No Yes Yes Yes Yes

Stubs needed No Yes Yes Yes Yes Yes

Work

parallelism at beginning

Medium Low Medium High Medium High

Ability to test

particular paths

Easy Hard Easy Easy Medium Easy

Ability to

plan and control

sequence

Easy Hard Hard Easy Hard Hard

CS 1530 Software 2004 Engineering Fall

Microsoft Synch-and-Stabilize

CS 1530 Software 2004 Engineering Fall

Traditional vs. OO-Testing

Test planning

■ Establish test objectives

■ Design test cases

■ Write test cases

■ Test test cases

■ Execute tests

■ Evaluate test results

CS 1530 Software 2004 Engineering Fall

The Test Plan

■ Describes how software will be

demonstrated to be correct

■ have to know requirements, specifications,

& design

■ Plan contents:

■ series of tests (at unit, integration,

functional, acceptance & installation level)

■ how tests will be run and criteria when test

is complete and satisfactory

Automated testing tools

■ Code analysis

■ Static analysis

■ code analyzer

■ structure checker

■ data analyzer

■ sequence checker

■ Dynamic analysis

■ program monitor

• Test execution

– Capture and replay

– Stubs and drivers

– Automated testing

environments

• Test case generators

CS 1530 Software 2004 Engineering Fall

Regression Testing

■ Identify faults after changes to system

■ because of new functionality added

■ because of fixes to other faults

■ Rerun tests after every change

■ compare output or previous tests to

current test

■ if there’s a change, check if a fault

CS 1530 Software 2004 Engineering Fall

Configuration Management

■ Software revision control systems

■ RCS (revision control system)

■ users have locks

■ CVS (concurrent revision control system)

■ can concurrently edit the same file ■ merges happen at updates (conflicts have to resolved manually)

■ Deltas

■ = differences between previous and current

version (backward delta) or current and next

version (forward delta)

■ save considerable disk space

Test team

■ Professional testers: organize and run

the tests

■ Analysts: who created requirements

■ System designers: understand the

proposed solution

■ Configuration management specialists:

to help control fixes

■ Users: to evaluate issues that arise

Performance tests

■ Stress tests

■ Volume tests

■ Configuration tests

■ Compatibility tests

■ Regression tests

■ Security tests

■ Timing tests

■ Environmental tests

■ Quality tests

■ Recovery tests

■ Maintenance tests

■ Documentation tests

■ Human factors

(usability) tests

Acceptance tests

■ Pilot test: install on experimental basis

■ Alpha test: in-house test

■ Beta test: customer pilot

■ Parallel testing: new system operates

in parallel with old system

Test documentation

■ Test plan: describes system and plan for

exercising all functions and characteristics

■ Test specification and evaluation: details

each test and defines criteria for evaluating

each feature

■ Test description: test data and procedures

for each test

■ Test analysis report: results of each test

Testing safety-critical systems

■ Design diversity: use different kinds of

designs, designers

■ Software safety cases: make explicit the

ways the software addresses possible

problems

■ failure modes and effects analysis

■ hazard and operability studies

■ Cleanroom: certifying software with respect

to the specification

Table 9.6. Perspectives for safety analysis.

Known cause Unknown cause

Known effect Description of system behavior Deductive analysis, including fault tree analysis

Unknown effect Inductive analysis, including failure modes and effects analysis Exploratory analysis, including hazard and operability studies