Top Banner
March 16, 2004
22

March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

March 16, 2004

Page 2: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Calendar

Next week: Thursday meeting instead of Tuesday (May 25)

Web update later today

Page 3: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Semester Plan Finish up key topics

Testing Maintenance Security and privacy Industry environment

Case studies (guest speakers)

But to keep you coming, start each class with discussion of deliverables and what I’m looking for

Page 4: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Other info I owe you

Presentation grades are sitting on my dining room table I’ll email them tonight

Project grading “algorithm” Coming soon

Page 5: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Exam Reminder

75% of 10% = 7.5% 75 points: 1 point = .1%

Will be glad to talk with anyone about the test

Brief answers will be posted (linked from exam)

Mean 58, median 61

Page 6: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Exam Discussion

Lessons that I learned Reminders about test taking Quick discussion of topics

Page 7: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Software Quality and Testing

Page 8: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Why do we care?

Therac-25 (1985) Multiple space fiascos (1990s) Millenium bug (2000) Microsoft attacks (2003)

NIST: cost to US, $59 billion

Page 9: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Quality and testing “Errors should be found and fixed as

close to their place of origin as possible.” Fagan

“Trying to improve quality by increasing testing is like trying to lose weight by weighing yourself more often.” McConnell

Page 10: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Life Testing Used regularly in hardware

Addresses “normal use”

n specimens put to test Test until r failures have been observed Choose n and r to obtain the desired

statistical errors As r and n increase, statistical errors

decrease Expected time in test = mu0 (r / n)

Where mu0 = mean failure time

Page 11: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Butler and Finelli

“The Infeasibility of Experimental Quantification of Life-Critical Software Reliability”

In order to establish that the probability of failure of software is less than 10-9 in 10 hours, testing required with one computer is greater than 1 million years

Page 12: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Tools for Improving Quality

Formal specification Self-checking (paranoid) code Program verification and validation Testing Deploy with capabilities to repair

Page 13: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Types of Testing: Purpose

Conformance testing Usability testing Performance testing Acceptance testing Reliability testing …

Page 14: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Other classifications

Scope Unit, component, system, regression,

… Access to code

Black box vs. white box (Note that black box testing still

assumes knowledge of coding and development in general)

Page 15: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

What are you trying to test?

Most common actions? Most likely problem areas?

Risk-based testing

Page 16: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Risks Identify criteria of concern:

availability, quality, performance, … Risk of it not being met

likelihood consequences

If I’m testing code for a grocery store, what is the impact of the code not being highly available?

Page 17: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Risk Heuristics (just a few)

New features New technology Overworked

developers Regression Dependencies Complexity Bug history Language specific bugs Environment changes

Late changes Slipped in “pet”

features Ambiguity Changing requirements Bad publicity Liability Learning curve Criticality Popularity

Page 18: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Who should test code?

Unit test is always done by developer

Different views on system test Build to test

Test-driven development Completely independent

Acceptance testing Middle-of-the-road

Page 19: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Four Parts of Testing

Model Select test cases Execute test cases Measure

Page 20: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Model

Page 21: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

Basic Software Model

capabilities

environment

User interfaces

APIs

Operating system

Files

Input

Output

Storage

Processing

Page 22: March 16, 2004. Calendar Next week: Thursday meeting instead of Tuesday (May 25) Web update later today.

References Therac-25:

http://courses.cs.vt.edu/~cs3604/lib/Therac_25/Therac_1.html

Patriot missile: http://www.fas.org/spp/starwars/gao/im92026.htm

Ariane 5: http://www.esa.int/export/esaCP/Pr_33_1996_p_EN.html

NIST: http://www.nist.gov/director/prog-ofc/report02-3.pdf