¡ ¡ T17 ¡ Testing ¡& ¡Requirements ¡ Thursday, ¡October ¡4th, ¡2018 ¡1:30 ¡PM ¡ ¡ ¡ ¡ ¡ Testing ¡Imprecise ¡Requirements ¡ ¡ Presented ¡by: ¡ ¡ ¡ ¡ David ¡Gelperin ¡ ¡ ClearSpecs ¡Enterprises ¡ ¡ Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ 350 ¡Corporate ¡Way, ¡Suite ¡400, ¡Orange ¡Park, ¡FL ¡32073 ¡ ¡ 888 -‑-‑-‑ 268 -‑-‑-‑ 8770 ¡ ·√·√ ¡904 -‑-‑-‑ 278 -‑-‑-‑ 0524 ¡-‑ ¡info@techwell.com ¡-‑ ¡http://www.starwest.techwell.com/ ¡ ¡ ¡ ¡ ¡ ¡ ¡
David ¡Gelperin ¡ ¡ David ¡Gelperin ¡has ¡more ¡than ¡50 ¡years ¡experience ¡in ¡software ¡engineering ¡with ¡an ¡ emphasis ¡on ¡requirements ¡risk ¡management ¡and ¡development ¡and ¡software ¡quality, ¡ verification, ¡and ¡test ¡(SQVT). ¡Dave ¡has ¡been ¡a ¡SQVT ¡consultant/mentor ¡and ¡ instructor ¡(20 ¡years), ¡quality ¡support ¡manager ¡(5 ¡years), ¡verification ¡lead ¡(2 ¡years), ¡ project ¡lead ¡(2 ¡years), ¡and ¡programmer ¡(5 ¡years). ¡He ¡has ¡consulted ¡for ¡both ¡ commercial ¡and ¡in-‑house ¡software ¡development ¡organizations, ¡including ¡some ¡with ¡ safety ¡and ¡mission ¡critical ¡applications. ¡Many ¡consulting ¡assignments ¡entailed ¡ assessments ¡of ¡software ¡engineering ¡or ¡test ¡practices ¡and ¡recommendations ¡for ¡ improvement. ¡Dave ¡cofounded ¡Software ¡Quality ¡Engineering ¡(now ¡TechWell)-‑the ¡ leading ¡provider ¡of ¡software ¡quality ¡information ¡worldwide-‑in ¡1986 ¡and ¡catalyzed ¡ the ¡launch ¡of ¡Better ¡Software ¡magazine. ¡He ¡recently ¡completed ¡a ¡book ¡titled ¡ Understanding ¡Requirements. ¡His ¡articles ¡can ¡be ¡found ¡here. ¡David ¡has ¡a ¡PhD ¡in ¡ Computer ¡Science, ¡but ¡has ¡managed ¡to ¡help ¡people ¡do ¡useful ¡work ¡anyway. ¡ ¡
9/4/2018 1 Warning – high density of new ideas 2 1
9/4/2018 On Complexity • Complex means difficult to understand by people of average intelligence • Simple means easy to understand by people of average intelligence We are biologically programmed to prefer simplicity, but we often overdo it • Simplistic means too simple e.g., mating strategy of the jewel beetle 3 Oversimplification Bias 4 2
9/4/2018 For every complex problem there is an answer that is clear, simple, and wrong . H. L. Mencken Ideas should be made as simple as possible -- but no simpler . paraphrasing A. Einstein 5 Complexity is Rube Goldberg devices Spaghetti code not simple Unnecessary sufficient, but partly unnecessary Complexity necessary and sufficient Essential Complex Simple Complexity (3 types) London General Relativity Underground Benzene ring DNA 6 3
9/4/2018 Technical debt Complexity of Agile Methods Unnecessary Complexity Essential Complex Simple Refactored Complexity (3 types) Domain Functions necessary, but insufficient Insufficient Complexity Agile Agile 7 (Simplistic) Reqts Verification Complexity of Reqts Models necessary and sufficient ( but imperfect ) Complex Essential Simple (3 types) UR Complexity Defective Reqts: LiteRM Reqts causes & Quality Model mitigations Model necessary, but insufficient Insufficient ISO BABOK Complexity Reqts 25010 (Simplistic) 8 Model et. al. 4
9/4/2018 But, essential complexity is a very hard sell 9 (See handout) 10 5
9/4/2018 Ambiguous Inconsistent Incomplete Needs, Desires, & Preferences Implemented Systems Precise Consistent (sometimes) Complete (sometimes) 11 12 6
9/4/2018 13 14 7
9/4/2018 Reduce obscurity by (1) using common (short) instead of uncommon (long) synonyms e.g ., “begin” and “end” instead of “initiate” and “terminate” and (2) removing unnecessary words. 15 Adequate understanding entails learning precise definitions for named : derived conditions : people detected, people indicators detected (e.g., strollers), substantial objects detected (e.g., jackknifed trucks) derived values : safe stopping distance procedures : safe swerving, quickly apply maximum pressure 16 8
9/4/2018 Patterns Objects Examples Entity profile Nouns, unmodified customer Nouns, modified VAR controller Derived value Nouns, modified employee bonus Derived condition Nouns, modified potential customer Verbs, premodified rarely fail Quality measures Nouns, modified satisfied customer Verbs, premodified accurately identify Action contract Verbs, postmodified display complaints Verbs, premodified tentatively identify Procedures Verbs, postmodified plan vacation Event profile Events accurately identify potential customers for our new system 17 18 9
9/4/2018 Tower of Tower of Babel Unrecognized Ambiguity For new domains or applications , 19 terminology management is very important Video game industry earns over 100 billion USD a year Goblet Gobbler game A target market 20 10
9/4/2018 21 ID Fun-measure 1.1 ATTRIBUTE Fun of game – enjoyment caused by playing the game for at least 1 hour. MEASURE Consensus of player opinions after playing the game. Each player assesses fun on a scale from 1 (no fun), 2 (not boring), 3 (fun) to 4 (really fun). METHOD After playing the game for at least 1 hour, gather opinions from at least 2 players from each of the 3 target markets, as well as at least 2 expert game testers. MINIMUM At least 60% “really fun”s and only 3s and 4s GOAL At least 75% “really fun”s and only 3s and 4s Stretch At least 85% “really fun”s and only 3s and 4s 22 Past [last game] At least 65% “really fun”s and only 3s and 4s 11
9/4/2018 Intended imprecise specs state complete, necessary, possibly achievable, and subjectively verifiable restrictions on an implementation. Subjective verification entails agreement by a “sufficient majority” of the stakeholders, where the composition of the sufficient majority is precisely defined. For example: Autonomous vehicles approved for use outside Australian cities (or in Montana) must “ recognize kangaroos ” on or “ near ” the roadway and take “ mitigating actions ”. 23 24 12
9/4/2018 25 System failures Roadway conditions • • all/some sensors fail weather conditions • • classifier fails e.g., misclassifies different zones e.g., school, hospital, or work • • effector logic fails large, heavy, stationary object (e.g., firetruck) • cpu with guidance software dies blocking the roadway or lane • • GPS signal lost roadway collapses (e.g. bridge or sink hole) • • software fails e.g., causes unanticipated kangaroo on or near roadway • acceleration traffic light outages • • software enables hacking stale yellow light • software fails to adapt to new environments e.g. entry into school zone Traffic conditions • wrong way driver • Vehicle conditions car ahead/beside drives erratically • • motor dies car behind tailgates • • tires go flat dangerously merging car ahead (high-speed e.g., • brakes fail 70 mph, close e.g., 2 car lengths) with my vehicle • battery fails accelerating to set speed (e.g., 80 mph) • vehicle catches fire • top is sheared off 26 • vehicle skids (e.g., on ice) • vehicle is submerged 13
9/4/2018 If <hazard condition>, then <mitigating action(s)> If the motor dies on a roadway and the vehicle is moving a nd a “ safe and traversable glide path ” is accessible, then turn on hazard lights, call for help, signal appropriately, steer onto the glide path, decrease speed as needed, a nd brake when “ stopping is safe ”. 27 Intended imprecision should be “ marked” . Intended imprecision is appropriate when: (1) supplier knows or will know more details than specifier (2) neither supplier nor specifier know details 28 14
9/4/2018 Example: Product manager writes – Our next generation chromatograph must have a “ faster ” cycle time than our fastest current model. 29 Selecting an alternative causes “derived precision” in a requirement 30 15
9/4/2018 31 Remember Jewel Beetles and Kangaroos 32 16
9/4/2018 33 Two content-rich support sites 1. UnderstandingRequirements.com 88 downloadable readings > 1K pages of additional material 2. Quality-Aware.com Downloadable quality model with > 60 qualities > 30 characteristics/quality 34 17
9/4/2018 Contact Dave with questions and comments E-mail: david@clearspecs.com Phone: 480-296-3559 35 18
Recommend
More recommend