Download presentation
Presentation is loading. Please wait.
1
Ch 22 Verification and Validation
Verification: "Are we building the product right.” The software must conform to its specification This is usually contractual Validation: "Are we building the right product" The software should do what the user requires This is good business Points on weather: Architecture suggests objects: weather station, map db, map, weather data. No object for WMS. This is the control. I might include a WMS top object Aggregation puts WMS at top. This is controller, asking for and proc data. I might do this early hw: object convenient Service usage: interaction diagrams test dataflow. Relate to uc? What is the next step? (Interface which gets closer to data structures and then fill in bodies) 14.4 14.5: The weather station is now responsible for sending data and needs an active process Fig loses upper left pieces 14.6a Diary: one for each person Appointment User: has a diary Schedule?
2
Static and dynamic V&V Static: Analyze the static system representations to discover problems. This can head off problems early Dynamic: Test and observe product behavior. The most widely used.
3
Types of testing (dynamic)
Validation testing intended to show that the software meets its requirements successful tests show a requirement has been properly implemented Defect testing designed to discover system defects a successful test reveals the presence of defects covered in Chapter 23
4
V& V Goals Confidence depends on
establish confidence that the software is fit for its purpose this does NOT mean completely free of defects rather, it must be good enough for its intended use Confidence depends on software function (how critical the software is ) user expectations (certain kinds of software may have low expectations ) Marketing environment (getting a product to market early may be more important than finding defects)
5
How would testing approaches differ for
CS 132 assignment Wells on-line application form Amazon’s e-commerce site MH53J avionics system Pacemaker
6
Testing versus debugging
Defect testing and debugging are distinct V&V (testing): establish the existence of defects Debugging: locate and repair defects
7
22.1 V & V planning
8
The software test plan
9
Examples of acceptance tests:
User tests add a new user send a message WIM administration tests Reviewing traffic reports – might be performed after the send message test to see if it is documented
10
19.2 Software inspections (static)
What do you do to check out code during development? Inspections: examining code to discover anomalies/defects Complementary to testing Intended for defect detection (not correction) Defects may be logical errors code anomalies that might indicate an erroneous condition (e.g. an uninitialized variable) non-compliance with standards Very effective for discovering errors Does not require system execution so may be used early May be applied to any representation of the system (requirements, design, configuration data, test data)
11
Inspection Preconditions: Teams a precise specification
team members familiar with organization standards syntactically correct code an error checklist management accepting that inspection will increase costs early on management who does not use inspections for staff appraisal Teams author of the code being inspected inspectors who find errors, omissions and inconsistencies reader who reads the code to the team moderator who chairs the meeting and notes errors scribe, other team members
12
Inspection Process Checklists
list of common errors to guide the inspection the list is programming language dependent what would you include?
13
Inspection checks 1
14
Inspection checks 2
15
Inspection rate 500 statements/hour during overview
125 source statement/hour during individual preparation statements/hour can be inspected Inspection is therefore expensive Inspecting 500 lines costs about 40 person/hours effort ~$3000
16
22.3 Automated static analysis
Static analyzers: software tools for source text processing Parse the program text and try to discover potential errors Very effective as an aid to inspections A supplement to but not a replacement Valuable for a languages with weak typing checking (C) Less necessary for languages with strong type checking How does Visual C++ do here?
17
Static analysis checks
18
22.4.1 Cleanroom software development
skip
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.