曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
Expectation
• Can’t we expect software to
execute correctly?
• Carefully made programs
– 5 faults/1000 LOC
– 1M LOC will have 5000 faults
• Windows XP has 45M LOC
– How many faults?
– 45 x 5000 = 225,000
• Why not remove the faults?
4
Joke?
• “If the automobile industry had
developed like the software industry, we
would all be driving $25 cars that get
1,000 miles to the gallon.”
• “Yeah, and if cars were like software,
they would crash twice a day for no
reason, and when you called for service,
they’d tell you to reinstall the engine.”
How Cars Are Engineered
(A Simple View)
• User requirements
– Engine power, all-wheel, seating, comfort, MP3
player!!
• Detailed design
– Blueprints, design documents
• Verify design
– Simulation, prototyping
• Develop parts (components)
– Test each component
– Components may be reused
– Mass produced
• Assemble the car
– Test the car (Front/side crash tests, Stability tests)
– Usability testing (Feedback from drivers/passengers)
How Cars Are REALLY
Engineered (A Detailed View)
But Seriously
• Features of many LEGO parts
– Modularity
– Reusability
• Each part can be used in different places
and ways
– Flexibility of design
– Compatibility
• With other LEGO sets
• Building-blocks
Similar Techniques Used by
Builders: Bridges
5
Detailed Design and
Specifications
Galvanized Bridge Wire for Parallel Wire
Bridge Cables. Recommended diameter .196 inch.
Galvanized Bridge Strand--consists of
several bridge wires, of various diameters
twisted together.
Galvanized Bridge Rope--consists of six
strands twisted around a strand core.
Parallel Wire Cable
Detail of Main Cable and Cable Band. The wrapping
wire is omitted at the right for clarity. Note the
closed construction and aluminum fillers.
More Detailed Design and
Specifications
Tacoma Narrows Bridge
Disaster They Make Mistakes Too!
• Even good design cannot guarantee
a perfect product
• Need testing of all products
including software
Interests
• Testing
• Apply it to different types of
software (such as web)
• Student introductions and their
interests!
Goals of the Course
• Discuss advanced software testing
techniques
• Two parts of the course
– Review testing fundamentals
– State-of-the-art & emerging
techniques
• What do I expect from students?
6
MS and Ph.D. Qualifying
• Is the course is valid for PhD qualifying
coursework?
– Yes (Software Engineering/Programming
Languages)
• Is the course is valid for MS qualifying
coursework?
– Yes (Software Engineering/Programming
Languages)
• Is the course is valid for MS comps?
– Yes (Both Midterm and Final exams count
towards the MS comps.)
Assessment
• 25% Mid-term Exam
• 25% Final Exam
• 50% Project
– Project report
– Project Presentation
Exam Contents
• Midterm
– Everything discussed in class
• Final exam
– Everything discussed/presented after
midterm
Testing: Our Experiences
Software
to be tested
Test Case
Output
When to Stop?
Software
to be tested
Test Case
Output
Enough?
No
Yes
Test Case
Generation
Verification
Test Coverage
Sorting
Program
Sorting
Program
A Real Testing Example
SPECS:
Takes a list
of numbers;
returns a
sorted list.
{1,3,2}
{1,2,3}
{3,2,3}
{}
{-1, -2}
Just a list.
A sorted list.
Repeated entry.
Empty list.
Negative numbers.
Test Cases
1, 2, {2, 3, 3}
Output
{}
{-2, -1}
Philosophy:
What are we
trying to do?
7
Automated Testing
Software
to be tested
Test Case
Output
Enough?
No
Yes
Test Case
Generation
Verification
Test Coverage
Automated Testing
Software
to be tested
Test Case
Output
Coverage
Evaluator
Test Case
Generator
Verifier
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
航空资料1(71)