unit 7 chapter 8 testing the programs. unit 7 requirements read chapters 8 and 9 respond to the unit...

60
Unit 7 Unit 7 Chapter 8 Testing the Programs

Upload: kathleen-andrews

Post on 20-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

Unit 7Unit 7

Chapter 8Testing thePrograms

Page 2: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

Unit 7 RequirementsUnit 7 Requirements

Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take the seminar quiz (20 points) Complete your assignment(50 points) Complete learning journal (12 points)

Page 3: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

Chapter 8 ObjectivesChapter 8 Objectives

Types of faults and how to clasify themThe purpose of testingUnit testingIntegration testing strategiesTest planningWhen to stop testing

Page 4: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.1 Software Faults and Failures8.1 Software Faults and FailuresWhy Does Software Fail?Why Does Software Fail?

Wrong requirement: not what the customer wants

Missing requirementRequirement impossible to implementFaulty designFaulty codeImproperly implemented design

Page 5: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.1 Software Faults and Failures8.1 Software Faults and Failures Objective of TestingObjective of Testing

Objective of testing: discover faultsA test is successful only when a fault is

discovered◦Fault identification is the process of

determining what fault caused the failure◦Fault correction is the process of making

changes to the system so that the faults are removed

Page 6: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.1 Software Faults and Failures8.1 Software Faults and FailuresTypes of FaultsTypes of Faults

Algorithmic faultComputation and precision fault

◦ a formula’s implementation is wrongDocumentation fault

◦ Documentation doesn’t match what program doesCapacity or boundary faults

◦ System’s performance not acceptable when certain limits are reached

Timing or coordination faultsPerformance faults

◦ System does not perform at the speed prescribedStandard and procedure faults

Page 7: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.1 Software Faults and Failures8.1 Software Faults and FailuresTypical Algorithmic FaultsTypical Algorithmic Faults

An algorithmic fault occurs when a component’s algorithm or logic does not produce proper output◦Branching too soon◦Branching too late◦Testing for the wrong condition◦Forgetting to initialize variable or set loop

invariants◦Forgetting to test for a particular condition◦Comparing variables of inappropriate data

typesSyntax faults

Page 8: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesTesting OrganizationTesting Organization

Module testing, component testing, or unit testing

Integration testingFunction testingPerformance testingAcceptance testingInstallation testing

Page 9: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesAttitude Toward Testing Attitude Toward Testing

Egoless programming: programs are viewed as components of a larger system, not as the property of those who wrote them

Page 10: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesWho Performs the Test?Who Performs the Test?

Independent test team◦avoid conflict◦improve objectivity◦allow testing and coding concurrently

Page 11: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesViews of the Test ObjectsViews of the Test Objects

Closed box or black box: functionality of the test objects

Clear box or white box: structure of the test objects

Page 12: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesWhite BoxWhite Box

Advantage◦free of internal structure’s constraints

Disadvantage◦not possible to run a complete test

Page 13: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesSidebar 8.2 Box StructuresSidebar 8.2 Box Structures

Black box: external behavior descriptionState box: black box with state

informationWhite box: state box with a procedure

Page 14: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.2 Testing Issues8.2 Testing IssuesFactors Affecting the Choice of Test Factors Affecting the Choice of Test PhilosophyPhilosophy

The number of possible logical pathsThe nature of the input dataThe amount of computation involvedThe complexity of algorithms

Page 15: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.3 Unit Testing8.3 Unit TestingCode ReviewCode Review

Code walkthroughCode inspection

Page 16: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.3 Unit Testing8.3 Unit TestingSidebar 8.3 The Best Team Size for Sidebar 8.3 The Best Team Size for InspectionsInspections

The preparation rate, not the team size, determines inspection effectiveness

The team’s effectiveness and efficiency depend on their familiarity with their product

Page 17: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.3 Unit Testing8.3 Unit TestingTesting versus ProvingTesting versus Proving

Proving: hypothetical environmentTesting: actual operating environment

Page 18: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.3 Unit Testing8.3 Unit TestingSteps inSteps in Choosing Test CasesChoosing Test Cases

Determining test objectivesSelecting test casesDefining a test

Page 19: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.3 Unit Testing8.3 Unit TestingTest ThoroughnessTest Thoroughness

Statement testingBranch testingPath testingDefinition-use testingAll-uses testingAll-predicate-uses/some-computational-

uses testingAll-computational-uses/some-predicate-

uses testing

Page 20: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.4 Integration Testing8.4 Integration Testing

Bottom-upTop-downBig-bangSandwich testingModified top-downModified sandwich

Page 21: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.4 Integration Testing8.4 Integration TestingTerminologyTerminology

Component Driver: a routine that calls a particular component and passes a test case to it

Stub: a special-purpose program to simulate the activity of the missing component

Page 22: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.5 Testing Object-Oriented Systems8.5 Testing Object-Oriented SystemsQuestions at the Beginning of Testing OO SystemQuestions at the Beginning of Testing OO System

Is there a path that generates a unique result?

Is there a way to select a unique result?Are there useful cases that are not

handled?

Page 23: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.5 Testing Object-Oriented Systems8.5 Testing Object-Oriented SystemsEasier and Harder Parts of Testing OO SystemsEasier and Harder Parts of Testing OO Systems

OO unit testing is less difficult, but integration testing is more extensive

Page 24: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.6 Test Planning8.6 Test Planning

Establish test objectivesDesign test casesWrite test casesTest test casesExecute testsEvaluate test results

Page 25: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.6 Test Planning8.6 Test PlanningPurpose of the PlanPurpose of the Plan

Test plan explains◦who does the testing◦why the tests are performed◦how tests are conducted◦when the tests are scheduled

Page 26: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.6 Test Planning8.6 Test PlanningContents of the PlanContents of the Plan

What the test objectives areHow the test will be runWhat criteria will be used to determine

when the testing is complete

Page 27: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.7 Automated Testing Tools8.7 Automated Testing Tools

Code analysis◦Static analysis

code analyzer structure checker data analyzer sequence checker

• Output from static analysis

Page 28: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.7 Automated Testing Tools 8.7 Automated Testing Tools (continued)(continued)

Dynamic analysis◦program monitors: watch and report program’s

behaviorTest execution

◦Capture and replay ◦Stubs and drivers◦Automated testing environments

Test case generators

Page 29: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.8 When to Stop Testing8.8 When to Stop TestingIdentifying Fault-Prone CodeIdentifying Fault-Prone Code

Track the number of faults found in each component during the development

Collect measurement (e.g., size, number of decisions) about each component

Classification trees: a statistical technique that sorts through large arrays of measurement information and creates a decision tree to show best predictors◦A tree helps in deciding the which components

are likely to have a large number of errors

Page 30: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

8.11 What this Chapter Means for You8.11 What this Chapter Means for You

It is important to understand the difference between faults and failures

The goal of testing is to find faults, not to prove correctness

Page 31: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

Chapter 9Chapter 9Testing the System

Page 32: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

Chapter 9 ObjectivesChapter 9 Objectives

Function testingPerformance testingAcceptance testingSoftware reliability, availability, and

maintainabilityInstallation testingTest documentationTesting safety-critical systems

Page 33: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing 9.1 Principles of System Testing System Testing ProcessSystem Testing Process

Function testing: does the integrated system perform as promised by the requirements specification?

Performance testing: are the non-functional requirements met?

Acceptance testing: is the system what the customer expects?

Installation testing: does the system run at the customer site(s)?

Page 34: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingTechniques Used in System TestingTechniques Used in System Testing

Build or integration planRegression testingConfiguration management

◦versions and releases◦production system vs. development system◦deltas, separate files and conditional

compilation◦change control

Page 35: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingBuild or Integration PlanBuild or Integration Plan

Define the subsystems (spins) to be testedDescribe how, where, when, and by whom

the tests will be conducted

Page 36: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingRegression TestingRegression Testing

Identifies new faults that may have been introduced as current one are being corrected

Verifies a new version or release still performs the same functions in the same manner as an older version or release

Page 37: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingConfiguration ManagementConfiguration Management

Versions and releasesProduction system vs. development

systemDeltas, separate files and conditional

compilationChange control

Page 38: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingSidebar 9.3 Microsoft’s Build ControlSidebar 9.3 Microsoft’s Build Control

The developer checks out a private copyThe developer modifies the private copy A private build with the new or changed

features is testedThe code for the new or changed features

is placed in master versionRegression test is performed

Page 39: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.1 Principles of System Testing9.1 Principles of System TestingTest TeamTest Team

Professional testers: organize and run the tests

Analysts: who created requirementsSystem designers: understand the

proposed solutionConfiguration management specialists: to

help control fixesUsers: to evaluate issues that arise

Page 40: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.2 Function Testing9.2 Function TestingPurpose and RolesPurpose and Roles

Compares the system’s actual performance with its requirements

Develops test cases based on the requirements document

Page 41: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.3 Performance Tests9.3 Performance TestsTypes of Performance TestsTypes of 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

Page 42: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.4 Reliability, Availability, and 9.4 Reliability, Availability, and MaintainabilityMaintainabilityDefinitionDefinition

Software reliability: operating without failure under given condition for a given time interval

Software availability: operating successfully according to specification at a given point in time

Software maintainability: for a given condition of use, a maintenance activity can be carried out within stated time interval, procedures and resources

Page 43: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.4 Reliability, Availability, and 9.4 Reliability, Availability, and MaintainabilityMaintainabilityDifferent Level of Failure SeverityDifferent Level of Failure Severity

Catastrophic: causes death or system lossCritical: causes severe injury or major

system damageMarginal: causes minor injury or minor

system damageMinor: causes no injury or system damage

Page 44: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.4 Reliability, Availability, and 9.4 Reliability, Availability, and MaintainabilityMaintainabilitySidebar 9.4 Difference Between Hardware and Software ReliabilitySidebar 9.4 Difference Between Hardware and Software Reliability

Complex hardware fails when a component breaks and no longer functions as specified

Software faults can exist in a product for long time, activated only when certain conditions exist that transform the fault into a failure

Page 45: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.5 Acceptance Tests9.5 Acceptance TestsPurpose and RolesPurpose and Roles

Enable the customers and users to determine if the built system meets their needs and expectations

Written, conducted and evaluated by the customers

Page 46: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.5 Acceptance Tests9.5 Acceptance TestsTypes of Acceptance TestsTypes of Acceptance Tests

Pilot test: install on experimental basisAlpha test: in-house testBeta test: customer pilotParallel testing: new system operates in

parallel with old system

Page 47: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.6 Installation Testing9.6 Installation Testing

Before the testing◦Configure the system◦Attach proper number and kind of devices◦Establish communication with other system

The testing◦Regression tests: to verify that the system has

been installed properly and works

Page 48: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.7 Automated System Testing9.7 Automated System TestingSimulatorSimulator

Presents to a system all the characteristics of a device or system without actually having the device or system available

Looks like other systems with which the test system must interface

Provides the necessary information for testing without duplication the entire other system

Page 49: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.8 Test Documentation9.8 Test DocumentationTest PlanTest Plan

The plan begins by stating its objectives, which should◦guide the management of testing◦guide the technical effort required during

testing◦establish test planning and scheduling◦explain the nature and extent of each test◦explain how the test will completely evaluate

system function and performance◦document test input, specific test procedures,

and expected outcomes

Page 50: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.8 Test Documentation9.8 Test DocumentationSidebar 9.8 Measuring Test Effectiveness and Sidebar 9.8 Measuring Test Effectiveness and EfficiencyEfficiency

Test effectiveness can be measured by dividing the number of faults found in a given test by the total number of faults found

Test efficiency is computed by dividing the number of faults found in testing by the effort needed to perform testing

Page 51: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.8 Test Documentation9.8 Test DocumentationTest DescriptionTest Description

Including◦the means of control◦the data◦the procedures

Page 52: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.8 Test Documentation9.8 Test DocumentationTest Analysis ReportTest Analysis Report

Documents the result of testProvides information needed to duplicate

the failure and to locate and fix the source of the problem

Provides information necessary to determine if the project is complete

Establish confidence in the system’s performance

Page 53: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.8 Test Documentation9.8 Test DocumentationProblem Report FormsProblem Report Forms

Location: Where did the problem occur?Timing: When did it occur?Symptom: What was observed?End result: What were the consequences?Mechanism: How did it occur?Cause: Why did it occur?Severity: How much was the user or

business affected?Cost: How much did it cost?

Page 54: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.9 Testing Safety-Critical Systems9.9 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 (HAZOPS)

Cleanroom: certifying software with respect to the specification

Page 55: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.9 Testing Safety-Critical Systems9.9 Testing Safety-Critical SystemsSidebar 9.9 Software Quality Practices at Sidebar 9.9 Software Quality Practices at Baltimore Gas and ElectricBaltimore Gas and Electric

To ensure high reliability◦checking the requirements definition

thoroughly◦performing quality reviews◦testing carefully◦documenting completely◦performing thorough configuration control

Page 56: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.9 Testing Safety-Critical Systems9.9 Testing Safety-Critical SystemsSidebar 9.10 Suggestions for Building Safety-Critical SoftwareSidebar 9.10 Suggestions for Building Safety-Critical Software

Recognize that testing cannot remove all faults or risks

Do not confuse safety, reliability and securityTightly link the organization’s software and safety

organizationsBuild and use a safety information system Instill a management culture safetyAssume that every mistakes users can make will be

madeDo not assume that low-probability, high-impacts

event will not happenEmphasize requirements definition, testing, code and

specification reviews, and configuration controlDo not let short-term considerations overshadow

long-term risks and cost

Page 57: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.10 Information Systems Example9.10 Information Systems ExampleThe Piccadilly SystemThe Piccadilly System

Many variables, many different test cases to consider◦An automated testing tool may be useful

Page 58: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.10 Information Systems Example9.10 Information Systems ExampleThings to Consider in Selecting a Test ToolThings to Consider in Selecting a Test Tool

CapabilityReliabilityCapacityLearnabilityOperabilityPerformanceCompatibilityNonintrusiveness

Page 59: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.10 Information Systems Example9.10 Information Systems ExampleSidebar 9.13 Why Six-Sigma Efforts Do Not Apply to SoftwareSidebar 9.13 Why Six-Sigma Efforts Do Not Apply to Software

A six-sigma quality constraint says that in a billion parts, we can expect only 3.4 to be outside the acceptable range

It is not apply to software because◦People are variable, the software process

inherently contains a large degree of uncontrollable variation

◦Software either conforms or it does not, there are no degree of conformance

◦Software is not the result of a mass-production process

Page 60: Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take

9.12 What This Chapter Means for You9.12 What This Chapter Means for You

Should anticipate testing from the very beginning of the system life cycle

Should think about system functions during requirement analysis

Should use fault-tree analysis, failure modes and effect analysis during design

Should build safety case during design and code reviews

Should consider all possible test cases during testing