CISC 323: Intro to Software Engineering

Similar documents
A L A BA M A L A W R E V IE W

OH BOY! Story. N a r r a t iv e a n d o bj e c t s th ea t e r Fo r a l l a g e s, fr o m th e a ge of 9

T h e C S E T I P r o j e c t

Software Process Models there are many process model s in th e li t e ra t u re, s om e a r e prescriptions and some are descriptions you need to mode

P a g e 5 1 of R e p o r t P B 4 / 0 9

Bellman-F o r d s A lg o r i t h m The id ea: There is a shortest p ath f rom s to any other verte that d oes not contain a non-negative cy cle ( can

What are S M U s? SMU = Software Maintenance Upgrade Software patch del iv ery u nit wh ich once ins tal l ed and activ ated prov ides a point-fix for

M M 3. F orc e th e insid e netw ork or p rivate netw ork traffic th rough th e G RE tunnel using i p r ou t e c ommand, fol l ow ed b y th e internal

Agenda Rationale for ETG S eek ing I d eas ETG fram ew ork and res u lts 2

Table of C on t en t s Global Campus 21 in N umbe r s R e g ional Capac it y D e v e lopme nt in E-L e ar ning Structure a n d C o m p o n en ts R ea

P a g e 3 6 of R e p o r t P B 4 / 0 9

W Table of Contents h at is Joint Marketing Fund (JMF) Joint Marketing Fund (JMF) G uidel ines Usage of Joint Marketing Fund (JMF) N ot P erm itted JM

H STO RY OF TH E SA NT

I zm ir I nstiute of Technology CS Lecture Notes are based on the CS 101 notes at the University of I llinois at Urbana-Cham paign

Geometric Predicates P r og r a m s need t o t es t r ela t ive p os it ions of p oint s b a s ed on t heir coor d ina t es. S im p le exa m p les ( i

176 5 t h Fl oo r. 337 P o ly me r Ma te ri al s

Executive Committee and Officers ( )

Building Validation Suites with Eclipse for M odel-based G eneration Tools

M Line Card Redundancy with Y-Cab l es Seamless Line Card Failover Solu t ion f or Line Card H ardw or Sof t w are Failu res are Leverages hardware Y-

Th e E u r o p e a n M ig r a t io n N e t w o r k ( E M N )

Alles Taylor & Duke, LLC Bob Wright, PE RECORD DRAWINGS. CPOW Mini-Ed Conf er ence Mar ch 27, 2015

o Alphabet Recitation

C o r p o r a t e l i f e i n A n c i e n t I n d i a e x p r e s s e d i t s e l f

K owi g yourself is the begi i g of all wisdo.

ARC 202L. Not e s : I n s t r u c t o r s : D e J a r n e t t, L i n, O r t e n b e r g, P a n g, P r i t c h a r d - S c h m i t z b e r g e r

Provider Satisfaction

THIS PAGE DECLASSIFIED IAW EO IRIS u blic Record. Key I fo mation. Ma n: AIR MATERIEL COMM ND. Adm ni trative Mar ings.

Instruction Sheet COOL SERIES DUCT COOL LISTED H NK O. PR D C FE - Re ove r fro e c sed rea. I Page 1 Rev A

CPU. 60%/yr. Moore s Law. Processor-Memory Performance Gap: (grows 50% / year) DRAM. 7%/yr. DRAM

THIS PAGE DECLASSIFIED IAW E

e-hm REPAIR PARTS REPAIR PARTS ReHM R3

I M P O R T A N T S A F E T Y I N S T R U C T I O N S W h e n u s i n g t h i s e l e c t r o n i c d e v i c e, b a s i c p r e c a u t i o n s s h o

Gen ova/ Pavi a/ Ro ma Ti m i ng Count er st at Sep t. 2004

The Ability C ongress held at the Shoreham Hotel Decem ber 29 to 31, was a reco rd breaker for winter C ongresses.

Results as of 30 September 2018

S ca le M o d e l o f th e S o la r Sy ste m

c. What is the average rate of change of f on the interval [, ]? Answer: d. What is a local minimum value of f? Answer: 5 e. On what interval(s) is f

Dangote Flour Mills Plc

Beechwood Music Department Staff

The Ind ian Mynah b ird is no t fro m Vanuat u. It w as b ro ug ht here fro m overseas and is now causing lo t s o f p ro b lem s.

This Specification is subject to change without notice

I N A C O M P L E X W O R L D

Use precise language and domain-specific vocabulary to inform about or explain the topic. CCSS.ELA-LITERACY.WHST D

COMPILATION OF AUTOMATA FROM MORPHOLOGICAL TWO-LEVEL RULES

INTERIM MANAGEMENT REPORT FIRST HALF OF 2018

EKOLOGIE EN SYSTEMATIEK. T h is p a p e r n o t to be c i t e d w ith o u t p r i o r r e f e r e n c e to th e a u th o r. PRIMARY PRODUCTIVITY.

Lesson Ten. What role does energy play in chemical reactions? Grade 8. Science. 90 minutes ENGLISH LANGUAGE ARTS

Fr anchi s ee appl i cat i on for m

Le classeur à tampons

Chapter 5 Workshop on Fitting of Linear Data

Building Harmony and Success

CATAVASII LA NAȘTEREA DOMNULUI DUMNEZEU ȘI MÂNTUITORULUI NOSTRU, IISUS HRISTOS. CÂNTAREA I-A. Ήχος Πα. to os se e e na aș te e e slă ă ă vi i i i i

FOR SALE T H S T E., P R I N C E AL BER T SK

Use precise language and domain-specific vocabulary to inform about or explain the topic. CCSS.ELA-LITERACY.WHST D

2 tel


ndraising pac Raising money to care for local patients and their families

F l a s h-b a s e d S S D s i n E n t e r p r i s e F l a s h-b a s e d S S D s ( S o-s ltiad t e D r i v e s ) a r e b e c o m i n g a n a t t r a c

DETAIL MEASURE EVALUATE

J A D A V PUR U N IV ERS IT Y K O LK AT A Fa cu lty of En gi n eer in g & T e ch no lo gy N O T I C E

V o l. 21, N o. 2 M ar., 2002 PRO GR ESS IN GEO GRA PH Y ,, 2030, (KZ9522J 12220) E2m ail: w igsnrr1ac1cn

B ench mark Test 3. Special Segments in Triangles. Answers. Geometry B enchmark T ests. 1. What is AC if } DE is a midsegment of the triangle?

F48T10VHO, F60T10VHO, F72T10VHO, F96T12HO (1 LAMP ONLY) ELECTRICAL DATA (120V APPLICATION)

Winterization Checklist for Entrances and Loading Docks

What Is Our Relationship with the Earth?

Emerging Trend Mini-Me Pets

M1 a. So there are 4 cases from the total 16.

Vlaamse Overheid Departement Mobiliteit en Openbare Werken

USER MANUAL V1.3 CHRYSLER VEHICLES VEHICLE FLASHER

Grain Reserves, Volatility and the WTO

SMOOTH WALLBATHWARE. escape the ordinary. aquariusproducts.com

Software Testing Lecture 5. Justin Pearson

(2009) Journal of Rem ote Sensing (, 2006) 2. 1 (, 1999), : ( : 2007CB714402) ;

STANDARDIZATION OF BLENDED NECTAR USING BANANA PSEUDOSTEM SAP AND MANGO PULP SANTOSH VIJAYBHAI PATEL

Yamaha Virago V-twin. Instruction manual with visual guide for Yamaha XV

Welcome to the Public Meeting Red Bluff Road from Kirby Boulevard to State Highway 146 Harris County, Texas CSJ No.: December 15, 2016

Creative Office / R&D Space

Part 2: Video Coding Techniques

THE NAME SAYS IT ALL.

Title: A LI GN M E N T / H A N DLI N G DI A GN O SI S: FRO N T WH E E L A LI GN M E N T : A DJU ST M E N T ( V enza)

Getting Personal Customised Gifting

E -SERIES: E B IS C O L L EC T I O N W IT H H Y H AN DL ES K EEP THIS INSTR UC TION B OOK L ET F OR F UTURE REFER ENC E

President Of Deutscher Camping Club [DCC] Discusses Discounts & The Camping Community At RV Confab In Dusseldorf

Criteria Supporting Features Remarks and explanations

Form and content. Iowa Research Online. University of Iowa. Ann A Rahim Khan University of Iowa. Theses and Dissertations

C R O F T O N S C H O O L K I N D N E S S A M B I T I O N D I L I G E N C E

F O R M T H R E E K enya C ertificate of Secondary E ducation

SPECIFICATION SHEET : WHSG4-UNV-T8-HB

database marketing Database Marketing Defined Loyalty as Competitive Advantage DBM is Incremental in Nature DBM is a complete framework for Marketing

Feasibility Analysis, Dynamics, and Control of Distillation Columns With Vapor Recompression.

Chapter 3 STEADY HEAT CONDUCTION

AT LAST!! CAGE CODE 6CVS2. SandMaster 20 for Skid Steers THE FUTURE OF EMERGENCY FLOOD CONTROL HAS ARRIVED.

A Comparative Study on the Morphometric Characters of Fishes Belonging to Family: Centracanthidae in the Egyptian Mediterranean Waters

heliozoan Zoo flagellated holotrichs peritrichs hypotrichs Euplots, Aspidisca Amoeba Thecamoeba Pleuromonas Bodo, Monosiga

Data Centers Are Under Increasing Pressure Collaboration E m p ow e re d U s e r S L A M e tric s G lobal A v ailability R e g. Com p lianc e N ew B u

St oryt el l ing appl ied t o app design. El ena Bart omeu Magaña

REFUGEE AND FORCED MIGRATION STUDIES

Class Diagrams. CSC 440/540: Software Engineering Slide #1

THIS PAGE DECLASSIFIED IAW EO 12958

I n t e r n a t i o n a l E l e c t r o n i c J o u r n a l o f E l e m e n t a r y E.7 d u, c ai ts is ou n e, 1 V3 1o-2 l6, I n t h i s a r t

Transcription:

CISC 323: Intro to Software Engineering Software Quality

What Does Quality Mean? Operational meanings: Software does what is wanted and expected On budget and on schedule Users are happy Level of bugginess is tolerable Changes are not too expensive Software is cost-effective in use and supports organizational mandate

Definitions of Quality OED: the standard of something when compared to other things like it a wine of excellent quality; of high quality, general excellence Crosby: zero defects ISO: The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs. Juran: Fitness for Purpose DoD: The degree to which the attributes of the software enable it to perform its intended end use.

Quality is Relative Rolls Royce: quality when cost is no object Ford Taurus: quality tradeoffs when cost is a factor Mini: minimum acceptable quality when cost is the dominant factor. Costs include initial cost, cost of operation, and cost of repairs.

Quality -- General is multidimensional all aspects of a car is subject to constraints e.g. cars must fit on roads is about acceptable compromises e.g. poorer ride for lower cost criteria are not independent e.g. fuel use vs. vehicle weight is not absolute all levels of cars have quality

Characteristics of Software not physical needs are usually uncertain needs change platforms change CPUs, OS, network high expectations, especially of adaptability

Changing Approaches to Software Quality increasing use of metrics increasing emphasis on process, components and intermediate products, as opposed to the end product software crisis persists, but progress is being made

Dimensions of Quality A Partial List: Timeliness Functionality Cost Correctness Reliability Maintainability

Quality - Software is multidimensional portability, usability, functionality is subject to constraints regulations, rules, resources is about acceptable compromises e.g. less functionality / lower cost criteria are not independent e.g. efficiency vs maintainability is not absolute different levels of quality are acceptable for different software types

How can the Dimensions of Quality be assured? b y e s t a b l i s h i n g a n d e n f o r c i n g a p r o c e s s p r o c e s s m u s t i n c l u d e m e a s u r e m e n t b y m a k i n g s u r e e v e r y o n e u n d e r s t a n d s t h e q u a l i t i e s t h a t m u s t b e e m b e d d e d i n t h e p r o d u c t b y k e e p i n g f o c u s e d o n t h e r e l e v a n t q u a l i t i e s t h r o u g h o u t t h e d e v e l o p m e n t l i f e c y c l e b y d e t e r m q u a l i t y i n i n g u p f r o n t h o w t o a c h i e v e e a c h v e r i f i c a t i o n a n d v a l i d a t i o n

Cost of Quality f a i l u r e - i n t e r n a l p r e v e n t i o n f a i l u r e - e x t e r n a l a p p r a i s a l

Views of Quality not software specific T r a n s c e n d e n t a l : e u r e k a, t h e i d e a l U s e r : f i t n e s s f o r p u r p o s e M a n u f a c t u r i n g : c o n f o r m a n c e t o s p e c P r o d u c t : c h a r a c t e r i s t i c s o f t h e p r o d u c t Value-based: willingness to pay

User View c an be h igh ly per sonaliz ed typic al user v iews: r e l i a b i l i t y p e r f o r m a n c e u s a b i l i t y

ISO 9126 source: http://www.cse.dcu.ie/essiscope/sm2/9126ref.html

Manufacturing View av oid r ewor k and assoc iated c osts of ten leads to pr oc ess f oc us I S O 9 0 0 1-3 pr oc ess does not guar antee good pr oduc ts; only guar antees unif or m ity of output

Product View m easur e inter nal c h ar ac ter istic s? M e a s u r e m e n t s c h o s e n d e p e n d o n t y p e o f p r o d u c t e. g. c o d e, d e s i g n, m a y n o t e n s u r e q u a l i t y o f e x t e r n a l c h a r a c t e r i s t i c s m easur e ex ter nal c h ar ac ter istic s? C o r r e s p o n d s t o u s e r / m a n u f a c t u r e r v i e w s m e a s u r e m e n t s c h o s e n d e p e n d o n p r o d u c t e. g. O S, s p r e a d s h e e t,

Value-based view h elps to dec ide tr ade-of f s dur ing dev elopm ent c o s t v s. r e l i a b i l i t y c o s t v s. f u n c t i o n a l i t y c ost to c onsum er is af f ec ted by sc ale h i g h v o l u m e p r o d u c t s h a v e a h i g h e r p e r c e i v e d v a l u e v alue is def ined by p o t e n t i a l s a v i n g s / p r o d u c t i v i t y e n h a n c e m e n t s p r o f i t o p p o r t u n i t i e s

Problems with Qualities q ualities ar e at odds with one anoth er a l w a y s a c o m p r o m i s e d i f f i c u l t y i n t r y i n g t o m e a s u r e q u a l i t i e s e. g., a c c u r a c y, u s a b i l i t y w h a t d o e s q u a l i t y r e a l l y m e a n?

Proposed solution 1: Focus on Product m o s t d i m e n s i o n s o f q u a l i t y a r e m e a s u r e d a f t e r t h e f a c t n e e d t o i d e n t i f y a c t i o n s t h a t c a n e m b e d n e e d e d q u a l i t i e s i n t h e p r o d u c t s, u p f r o n t i m p l e m e n t a t i o n q u a l i t y m o d e l : i d e n t i f y w h a t t h e p r o g r a m m e r c a n d o t o e n s u r e q u a l i t y l i n k t h e s e a c t i o n s t o h i g h l e v e l q u a l i t i e s

Proposed Solution 1 cont d r e q u i r e m e n t s q u a l i t y m o d e l : a l l r e q u i r e m e n t s t a t e m e n t s m u s t b e m e a s u r a b l e d e s i g n q u a l i t y m o d e l : d e f i n e q u a l i t i e s f o r d e s i g n, i d e n t i f y c h a r a c t e r i s t i c s o f d e s i g n t h a t w o u l d e m b e d t h o s e q u a l i t i e s

Proposed solution 2: Focus on Process i n t e g r a t e q u a l i t y d e c i s i o n s i n t o t h e d e s i g n p r o c e s s, e. g. : b y u s i n g q u a l i t y c h e c k l i s t s d u r i n g i n s p e c t i o n, d e s i g n b y d e t e r m i n i n g t e s t i n g c r i t e r i a u p f r o n t b y f o l l o w i n g a d o c u m e n t e d d e s i g n p r o c e s s

Qualities Discernable at Runtime p e r f o r m a n c e s e c u r i t y a v a i l a b l i t y f u n c t i o n a l i t y u s a b i l i t y

Qualities Not Discernable at Runtime m o d i f i a b i l i t y p o r t a b i l i t y r e u s a b i l i t y t e s t a b i l i t y e a s e w i t h w h i c h s o f t w a r e c a n b e m a d e t o d e m o n s t r a t e i t s f a u l t s t h r o u g h e x e c u t i o n b a s e d t e s t i n g r e l a t e d t o a r c h i t e c t u r a l d o c u m e n t a t i o n, s e p a r a t i o n o f c o n c e r n, i n f o r m a t i o n h i d i n g, i n c r e m e n t a l d e v e l o p m e n t

Business Qualities t i m e t o m a r k e t c o s t p r o j e c t e d l i f e t i m e o f s y s t e m t a r g e t e d m a r k e t i n t e g r a t i o n w i t h e x i s t i n g l e g a c y s y s t e m s

Whats Ahead R e m a i n d e r o f m a t e r i a l a b o u t q u a l i t y f o c u s e s o n t w o t o p i c s r e l a t e d t o s o f t w a r e q u a l i t y : T e s t i n g : f i n d i n g d e f e c t s b y e x e c u t i n g s o f t w a r e a n d e x a m i n i n g r e s u l t s a n d t h e n f i x i n g t h e d e f e c t s I n s p e c t i o n : a f o r m a l w a y o f a n a l y z i n g s o f t w a r e a n d o t h e r d o c u m e n t s

What is Software Inspection? F o r m a l p r o c e s s t o s t a t i c a l l y a n a l y z e a s o f t w a r e p r o d u c t a n d r e c o r d m e t r i c s r e l a t e d t o t h a t p r o d u c t. D i f f e r s f r o m i n f o r m a l w a l k - t h r o u g h s o r r e v i e w s : f o r m a l p r o c e s s p r o d u c t s i n s p e c t e d a t g r e a t e r l e v e l o f d e t a i l m e t r i c s

IEEE Definition...a f o r m a l e v a l u a t i o n t e c h n i q u e i n w h i c h s o f t w a r e r e q u i r e m e n t s, d e s i g n, o r c o d e a r e e x a m i n e d i n d e t a i l b y a p e r s o n o r g r o u p o t h e r t h a n t h e a u t h o r t o d e t e c t f a u l t s, v i o l a t i o n s o f d e v e l o p m e n t s t a n d a r d s, a n d o t h e r p r o b l e m s...

History T r a d i t i o n a l m e a n i n g o f i n s p e c t i o n : I n s p e c t i n g t h e p r o d u c t o f a m a n u f a c t u r i n g p r o c e s s P h y s i c a l p r o d u c t, e v a l u a t e b y l o o k i n g, m a n i p u l a t i n g O f t e n p u t t h r o u g h r i g o r o u s t e s t s, k e e p m e t r i c s Michael Fagan at IBM: u s e d s i m i l a r p r o c e s s e s t o i n s p e c t s o f t w a r e c o d e l a n d m a r k p a p e r i n 1 9 7 6 o f t e n c a l l e d F a g a n I n s p e c t i o n s I n s p e c t i o n p r o c e s s h a s b e e n e x t e n d e d & r e f i n e d s i n c e, o n g o i n g r e s e a r c h

% & % /. -. %. -. What Gets Inspected? I n s p e c t i o n p r o c e s s i n i t i a l l y u s e d t o i n s p e c t s o f t w a r e c o d e E x t e n d e d t o i n c l u d e a l l d o c u m e n t s : % -, & * % -, 4 /32 &10 % % -65 %, % 487 A b o v e i n c l u d e s d i a g r a m s, p r o s e, p s e u d o - c o d e, e t c. S o m e o t h e r i n d u s t r i e s h a v e a d o p t e d I n s p e c t i o n f o r d e s i g n d o c u m e n t s, d r a w i n g s, e t c.

Inspection Versus Testing 1 A T & T c l a s s i f i e s i n s p e c t i o n a s a f o r m o f t e s t i n g In CISC 323, we use the term testing to mea n d y na mic testing: ex ec uting sof twa re to f ind f a ul ts insp ec tion d oes not rep l a c e d y na mic testing sof twa re p roc ess shoul d inc l ud e b oth insp ec tion a nd testing

Inspection Versus Testing 2 d if f ic ul t to insp ec t f or q ua l ities suc h a s p erf orma nc e, timing, l oa d insp ec tion c a n b e a p p l ied ea rl ier tha n testing insp ec tion c a n b e a p p l ied to a ny sof twa re p rod uc t, not j ust c od e

Defects vs. Faults Insp ec tion f ind s d ef ec ts: p rob l ems in sof twa re T esting f ind s f a ul ts: inc orrec t b eha v ior W hen y ou f ind a f a ul t b y testing: m u s t d e b u g t o t r a c e t h e f a u l t t o a d e f e c t i n t h e c o d e O f ten more c ost- ef f ec tiv e to f ind d ef a ul ts v ia Insp ec tion

Analysis Tools sta tic a na l y sis tool s c a n f ind some ty p es of d ef ec ts c o m p i l e r s f i n d u n d e c l a r e d v a r i a b l e s, s y n t a x e r r o r s o t h e r s t a t i c a n a l y s i s t o o l s m a y c h e c k f o r : s h o u l d i n s p e c t f o r t h i n g s t o o l s c a n t f i n d

& 6 :; 6 : 6 Inspection Metrics t o b e c l a s s i f i e d a s i n s p e c t i o n, m e t r i c s m u s t b e k e p t r e c o r d : m a y a l s o r e c o r d 5 314 / 2 01 /, & -. - * * & % * 8 314 % % 9/ %9 8 7 : 4 / < 9/ 3 % : & & = *3 8 314 4 & 314 % & 314 ; % == : 4 ; = 3 ; *

9 6 4 6 : & < 3 :& 4 : 9 / 6 : : 9 4& 3 : ;. : : 9 & & : 9 / : 6 9 < : :; 6 < 6 Use of Metrics D a t a c o l l e c t e d c a n t e l l y o u : 3 4 ; / 3 * =3 4 9: * = : * * 3 : & 4 ; * : * * & 4 9 314 % % 3 4. 9: 14 4 ; * : * * & - - 3 3 * * 3 4 4 3 * & 4 9 - &. 314 % 3 4. 314 3 4. 4 / &. 314 D a t a c a n b e u s e d t o : 314 % 3 4 3 4 4 3 * 3 0 ; = : : %9 4 / 314 4 / < 9/ 3 : & & : : 9 314 : & 8 4 % = ;

Inspection Process from Software Inspection, Tom Gilb & Dorothy Graham

: 9 6 / 6 /;, & 6. 9 & 6 :, 6 && 6 & 9 6 People Involved in Inspection I n s p e c t i o n i s a t e a m p r o c e s s : i d e a l l y 2-6 p e o p l e I n s p e c t i o n L e a d e r : : : 3 4 9 14 : & 4 / : 3 4 & 314 / : % : & 5 3 4 *3 3 : ; 3 = 314 314 = 3 9: < 8 = ; 8 : c h e c k e r s i n s p e c t o r s ; 8 3 4 = 2 4 & 3 4 / 3 4 9: = 5. 8 ; = ; 3 4 / 01 8 4 : ; 314 314 8 : ; & 314 = = 7 4 = 3 8 4 %

: & 6 9/ 6 6 9/ 6 : 6 Entry e n t r y c r i t e r i a s e t u p f o r p r o d u c t s t o b e i n s p e c t e d a l o t o f c o n t r o v e r s y a b o u t w h e n t o i n s p e c t c o d e 3 4 * % * = 3 * % * i f e n t r y c r i t e r i a n o t m e t, p r o d u c t n o t i n s p e c t e d : & 314 9 4 / & -. - = = 4 = 3 4: ; : & -. - i n s p e c t i o n s a r e e x p e n s i v e / 3 9: 314 % : 7 4 a u t h o r o f f e r s u p p r o d u c t f o r i n s p e c t i o n l e a d e r s d e c i d e s i f i t s r e a d y - - q u i c k e x a m i n a t i o n

Kickoff initial meeting for all participants organiz ed b y lead er familiariz e ev ery one inv olv ed w ith task at h and d efine ev ery one s roles h and ou t materials need ed d eal w ith general q u estions set goals d iscu ss ov erall plan, timetab le long d ocu ments d iv id ed into ch u nk s : separate inspection & logging for each ch u nk

, %,, / % Individual Checking 1 each ch eck er w ork s alone u sing d ocu ments h and ed ou t in k ick - off meeting aims to find max imu m nu mb er of u niq u e maj or potential d efects mainly b y look ing for d iscrepancies b etw een sou rce d ocu ments and prod u cts b eing inspected, i. e. : %.- * * & % - 132 *0 * * &

1,, 0 - - Individual Checking 2 u su ally u ses a ch eck list k ick off meeting su ggests amou nt of time to spend : - 2 *0 & /, 0 % 2 2/ % 0 ch eck er record s actu al time tak en k eeps notes of issu es fou nd / 2 0& % 1 % % 2/ 1 % % / 0 0 issu e = matter req u iring attention / 1 % % % %

Logging Meeting 1 3 p u r p o s e s : log issu es id entified b y each ch eck er w ork as grou p to find more issu es su ggestions for process improv ement inspection process and ov erall softw are process controlled by moderator usually the leader m u s t b e v e r y s k i l l e d i n h a n d l i n g p e o p l e a n d i s s u e s m a i n t a i n t i m e d i s c i p l i n e a n d i s s u e d i s c i p l i n e no ev aluati on of i ssues j u s t l o g i s s u e s, l i k e b r a i n s t o r m i n g

* % % &% Logging Meeting 2 m u s t n o t l a s t m o r e t h a n 2 h o u r s n o t f o r e x p l a i n i n g, d e f e n d i n g, s u g g e s t i n g f i x e s, o r t r a i n i n g i d e n t i f y i s s u e s, t h e n l o g t h e m i s s u e s c a n b e q u e s t i o n s t o p r o d u c t a u t h o r a n d s u g g e s t i o n s f o r i m p r o v e m e n t s N O T a n a t t a c k o r e v a l u a t i o n o f p r o d u c t a u t h o r m a n a g e m e n t p e r s o n n e l s h o u l d N O T b e i n a t t e n d a n c e

Edit l o g o f i s s u e s g i v e n t o a u t h o r t o r e s o l v e a u t h o r c a n c l a s s i f y o r r e c l a s s i f y i s s u e s w h i c h a r e r e a l l y d e f e c t s v o l u n t a r i l y i m p r o v e p r o d u c t a s p e r i s s u e s r a i s e d r e q u e s t r u l e s o r c h e c k l i s t b e c h a n g e d

Follow-up i n s p e c t i o n l e a d e r m a k e s s u r e s a t i s f a c t o r y c l o s u r e h a s t a k e n p l a c e o n a l l i s s u e s a c t i o n s t o c o r r e c t a l l d e f e c t s c h a n g e o r c h a n g e r e q u e s t s u g g e s t i o n s f o r p r o c e s s c h a n g e s r e p o r t e d i f m a j o r c h a n g e s, p r o d u c t m a y n e e d t o b e i n s p e c t e d a g a i n

Exit n e e d e x i t c r i t e r i a n e e d c l o s u r e o n a l l i s s u e s i n w r i t i n g r e c o r d m e t r i c s f o r i n s p e c t i o n p r o c e s s f o r p r o c e s s i m p r o v e m e n t p r o d u c t n o w c o n s i d e r e d s a f e t o p a s s o n t o n e x t p h a s e i n s o f t w a r e d e v e l o p m e n t

The V-model R equirem ents S ystem Test Inspection A rch itecture Integration Test Inspection D esign Inspection U nit Test Inspection C ode C ost of running inspections is about 10-15% of cost of developm ent budget.

e Costs of Inspection I n s p e c t i o n t a k e s t i m T y p i c a l l y 1 0-1 5 % o f d e v e l o p m e n t b u d g e t A l s o s t a r t - u p c o s t s : e s t a b l i s h i n g p r o c e d u r e s t r a i n i n g l e a d e r s, i n s p e c t o r s I s i t w o r t h i t?

Benefits of Inspection 1 D e f e c t s f o u n d e a r l y s a v e t i m e a n d m o n e y m a n y d e f e c t s f o u n d b e f o r e t e s t i n g t e s t i n g i s m u c h q u i c k e r t o t a l d e v e l o p m e n t t i m e i s r e d u c e d e v e n w h e n c o u n t i n g t i m e f o r i n s p e c t i o n i n s p e c t i o n s i n c r e a s e p r o d u c t i v i t y

Benefits of Inspection 2 D e f e c t s f o u n d e a r l y r e s u l t i n b e t t e r p r o d u c t i n s p e c t i o n r e s u l t s i n c l e a n e r d e s i g n b e t t e r d o c u m e n t a t i o n b e t t e r c o d e f e w e r d e f e c t s d e f e c t s t h a t r e m a i n w i l l b e e a s i e r t o f i x w h e n f o u n d

Benefits of Inspection 3 f e e d b a c k f o r m a n g e m e n t a b o u t s o f t w a r e p r o c e s s : i n s p e c t o r s c o m m e n t s p l u s m e t r i c s d e f e c t s f o u n d e a r l i e r m s u r p r i s e s i n s p e c t i o n t r a i n s i n s p e c t o r s : e a n s f e w e r d e a d l i n e l e a r n f r o m g o o d c o d e a n d d o c u m e n t a t i o n o f o t h e r s l e a r n f r o m m i s t a k e s o f o t h e r s

Success Stories 1 I B M F e d e r a l S y s t e m s D i v i s i o n k e p t m e t r i c s f o r s i m i l a r p r o j e c t s b e f o r e a n d a f t e r i n t r o d u c i n g I n s p e c t i o n i n t o d e v e l o p m e n t p r o c e s s d e l i v e r e d l i n e s o f c o d e p e r w o r k - m o n t h :

Success Stories 2 I C L i n U. K. : 5 7. 7 % o f d e f e c t s f o u n d b y I n s p e c t i o n c o s t o f f i n d i n g d e f e c t b y I n s p e c t i o n : 1. 5 8 w o r k h o u r s c o s t o f f i n d i n g w i t h o u t I n s p e c t i o n : 8. 4 7 w o r k h o u r s o n l y 6 % o f d e v e l o p m e n t t i m e d e v o t e d t o I n s p e c t i o n

Success Stories 3 L a r g e I B M p r o j e c t : 500,000 lines of code networked operating sy stem b ased on past ex perience with ou t inspection, ex pected to find ab ou t 800 b u gs du ring tests at trial site u sed inspection at 1 1 stages of dev opm ent fou nd 8 b u gs at trial site

Software Inspection Research 1 R e s e a r c h i n t o i n s p e c t i o n inspection process tech niq u es for indiv idu al inspectors

Software Inspection Research 2 r e s e a r c h a t L u c e n t T e c h n o l o g i e s U n i v e r s i t y o f M a r y l a n d ex perim ent wh ere th ey v aried o n e o f t h e c o n c l u s i o n s

Software Inspection Research 3 n e w t e c h n i q u e s t o h e l p g u i d e i n s p e c t o r s i n t h e i r w o r k s c e n a r i o - b a s e d r e a d i n g

Checklists c o m m o n g u i d a n c e u s e d f o r i n s p e c t i o n s g o o d c h e c k l i s t s a r e h a r d t o m a k e u p r e l y o n p a s t e x p e r i e n c e can get too long and unwieldy need to b e up dated as new s ituations ar is e ins p ector s h av e a tendency to f ollow th e ch eck lis t and do no m or e can b e m is inter p r eted m ay not cov er ev er yth ing neces s ar y to th e r igh t lev el of detail

. % 5, 2 %1 0 /. % 2 % % 4 % Approach for Checklists gener al ap p r oach f or ins p ections as well deter m ine wh at q ualities ar e im p or tant f or th e s of twar e s ys tem deter m ine wh at s of twar e des ign/ code ch ar acter is tics contr ib ute to th os e q ualities deter m ine wh at you want th e ins p ector s to look f or & / 2 4 % 3 -, * & ch eck lis t us ed f or A s s ignm ent 4 is b as ed on M cc all s Q uality M odel

McCalls Quality Model

Testing Now we move to the subject of testing R eca l l tha t softwa r e p r ocess shoul d incl ud e both testing a nd insp ection I nsp ecting d ocuments & cod e befor e testing r esul ts in fewer d efects for testing to find sp eed s up testing A bit of infor ma l testing befor e cod e insp ection might sa ve time get r id of obvious bugs q uick l y

Testing is Hard hits bud get a nd sched ul e l imits ma y incl ud e hea vy d ebugging m a y e v e n i n c l u d e p r o d u c t r e - d e v e l o p m e n t bugs sl ip thr ough to customer s u s e r e x e c u t e s u n t e s t e d c o d e o r d e r i n w h i c h s t a t e m e n t s a r e e x e c u t e d i n a c t u a l u s e d i f f e r f r o m t h a t i n t e s t i n g u s e r a p p l i e s c o m b i n a t i o n o f u n t e s t e d i n p u t v a l u e s u s e r s o p e r a t i n g e n v i r o n m e n t i s n e v e r t e s t e d

Skills of a Tester 1 N o t a l l t e s t e r s a r e d e v e l o p e r s t e s t e r s w h o a r e d e v e l o p e r s m u s t h a v e

Skills of a Tester 2 M o r e s k i l l s e m p l o y e r s l o o k f o r : s o f t w a r e e n g i n e e r i n g s k i l l s c o m m u n i c a t i o n s k i l l s o r g a n i z a t i o n a l s k i l l s h a n d s - o n e x p e r i e n c e

Attitude For Testers d e s t r u c t i v e c r e a t i v i t y d e t e c t i v e s k i l l s u n d e r s t a n d i n g t h e p r o d u c t a s t h e s u m o f i t s p a r t s a p p r e c i a t i n g t h e c u s t o m e r s p e r s p e c t i v e r e q u i r e m e n t s c h a n g e s k e p t i c a l b u t n o t h o s t i l e a t t i t u d e a b i l i t y t o b e t h e b e a r e r o f b a d n e w s a n d r e m a i n o b j e c t i v e a n e a g e r n e s s t o e m b r a c e n e w t e c h n o l o g i e s

Definitions of Testing 1 M y e r s, G l e n f o r d J., T h e A r t o f S o f t w a r e T e s t i n g, W i l e y, 1 9 7 9 T h e P r o c e s s o f e x e c u t i n g a p r o g r a m w i t h t h e i n t e n t o f f i n d i n g e r r o r s H e t z e l, B i l l, A C o m p l e t e G u i d e t o S o f t w a r e T e s t i n g, Q E D I n f o r m a t i o n S c i e n c e s I n c., 1 9 8 8 T e s t i n g i s a n y a c t i v i t y a i m e d a t e v a l u a t i n g a n a t t r i b u t e o r c a p a b i l i t y o f a p r o g r a m o r s y s t e m a n d d e t e r m i n i n g t h a t i t m e e t s i t s r e q u i r e d r e s u l t s.

Definitions of Testing 2 I E E E S t a n d a r d 6 1 0. 1 2-1 9 9 0 T h e p r o c e s s o f o p e r a t i n g a s y s t e m o r c o m p o n e n t u n d e r s p e c i f i e d c o n d i t i o n s, o b s e r v i n g o r r e c o r d i n g t h e r e s u l t s, a n d m a k i n g a n e v a l u a t i o n o f s o m e a s p e c t o f t h e s y s t e m o r c o m p o n e n t I E E E S t a n d a r d 8 2 9-1 9 8 3 T h e p r o c e s s o f a n a l y z i n g a s o f t w a r e i t e m t o d e t e c t t h e d i f f e r e n c e s b e t w e e n e x i s t i n g a n d r e q u i r e d c o n d i t i o n s t h a t i s, b u g s a n d t o e v a l u a t e t h e f e a t u r e s o f t h e s o f t w a r e i t e m s

Purposes of Testing T o f i n d b u g s - i n c l u d i n g b u g s i n t h e t e s t s T o e s t i m a t e r e l i a b i l i t y i n u s e b y t r a c k i n g t h e e x e c u t i o n t i m e i n t e r v a l b e t w e e n f a i l u r e s T o e s t i m a t e d e f e c t s r e m a i n i n g b y t r a c k i n g t h e d e f e c t s f o u n d p e r p e r s o n - h o u r o f t e s t i n g a n d d e b u g g i n g t i m e T o d e c i d e o n w h e n t o r e l e a s e : e. g. b y d e c i d i n g t h a t t h e r e m a i n i n g k n o w n d e f e c t s a r e a c c e p t a b l e i n t h e t a r g e t m a r k e t T o l e a r n w h e r e p r o c e s s p r o b l e m a n d c o u n t i n g d e f e c t s f o u n d s a r e b y c l a s s i f y i n g

What Testing Cant Do T e s t i n g c a n t g u a r a n t e e c o d e i s c o r r e c t Y o u c a n t t r y e v e r y p o s s i b l e c o m b i n a t i o n o f i n p u t s, e v e r y e n v i r o n m e n t R i g o r o u s t e s t i n g i n c r e a s e s c o n f i d e n c e t h a t s o f t w a r e r u n s c o r r e c t l y, o r t h a t f e w b u g s r e m a i n F o r s o m e c r i t i c a l s o f t w a r e, f o r m a l m a t h e m a t i c a l m e t h o d s u s e d t o p r o v e c o r r e c t n e s s b u t t h a t s a n o t h e r t o p i c f o r o t h e r c o u r s e s

Stages of Testing 1 R e q u i r e m e n t s a n d D e s i g n t e s t i n g w h e n r e q u i r e m e n t s a n d d e s i g n a r e w r i t t e n i n s p e c i a l l a n g u a g e s w h i c h p e r m i t e x e c u t i o n t o s i m u l a t e a c t u a l s y s t e m U s e r I n t e r f a c e t e s t i n g O f t e n d o n e a t p r o t o t y p i n g s t a g e U n i t / M o d u l e T e s t i n g C o m p o n e n t / s u b s y s t e m T e s t i n g

Stages of Testing 2 I n t e g r a t i o n T e s t i n g I n c r e m e n t a l T e s t i n g - t h e u s u a l v e r s i o n o f i n t e g r a t i o n t e s t i n g. D a i l y b u i l d s a n d S a n i t y t e s t i n g S y s t e m T e s t i n g P e r f o r m a n c e a n d L o a d / S t r e s s T e s t i n g U s a b i l i t y T e s t i n g, b u t t h i s i s a l a t e s t a g e t o b e d o i n g i t

Stages of Testing 3 A l p h a a n d B e t a T e s t i n g a l p h a = t e s t i n g f u l l s y s t e m i n - h o u s e b e t a = o u t s i d e u s e r s A c c e p t a n c e T e s t i n g I n s t a l l a t i o n / C o m p a t i b i l i t y T e s t i n g P l a t f o r m / C o n f i g u r a t i o n / P o r t t e s t i n g

Stages of Testing 4 I n t e g r i t y a n d R e l e a s e t e s t i n g R e l i a b i l i t y / C e r t i f i c a t i o n T e s t i n g & % S e c u r i t y / F a u l t T o l e r a n c e / R e c o v e r y t e s t i n g R e g r e s s i o n T e s t i n g

Black Box Testing p i c k t e s t c a s e s b a s e d o n r e q u i r e m e n t s o n l y d o n t u s e k n o w l e d g e o f i m p l e m e n t a t i o n v i e w c o d e a s a b l a c k b o x : i n s i d e s n o t v i s i b l e c a n b e u s e d a t a n y s t a g e : unit, subsystem, system testing

Black-Box Testing Strategies l o o k a t s p e c i f i c a t i o n s f o r i n p u t s t e s t n o r m a l u s e : sa mp l ing o f no r ma l inp uts r a nd o m v a l ues t e s t a b n o r m a l u s e : d if f er ent k ind s o f er r o neo us/ il l ega l inp ut c o mbina tio ns o f er r o r s t e s t b o u n d a r y c o n d i t i o n s : v a l ues c l o se to bo und a r y betw een no r ma l a nd a bno r ma l

Example /** * Raises a number to an integral power. * * @param base the number to be raised to a power * @param pow the power to which base is to be raised. * Must not be negative. * @return base raised to the pow-th power */ static double powerdouble base, int pow { error inputs: negative values for pow boundary cases: pow = 0, pow = 1, pow = -1 normal cases: pow >= 2, range of values base: negative, 0, positive combinations of these

Possibilities For Automation I d e a l : t o o l t o g e n e r a t e s e t o f t e s t c a s e s a n d e x p e c t e d r e s u l t s f r o m s p e c i f i c a t i o n s R e a l i t y : n e e d s v e r y p r e c i s e, m a t h e m a t i c a l s p e c i f i c a t i o n s, u s u a l l y n o t a v a i l a b l e S o u s u a l l y g e n e r a t e t e s t c a s e s & e x p e c t e d r e s u l t s b y h a n d A u t o m a t e d e x e c u t i o n i s s t i l l p o s s i b l e

Test Harness T a k e s s e t o f t e s t i n p u t s & e x p e c t e d r e s u l t s R u n s p r o g r a m o n e a c h t e s t i n p u t, c o m p a r e s r e s u l t s w i t h e x p e c t e d R e p o r t s a n y d i s c r e p a n c i e s C o m p l i c a t e d t o w r i t e f o r G U I s, e m b e d d e d s y s t e m s, b u t o f t e n p o s s i b l e T a k e s l o t s o f d r u d g e r y o u t o f t e s t i n g M a k e s t e s t e r s w i l l i n g t o r u n a n d r e - r u n l a r g e t e s t s u i t e s

White Box Testing P i c k t e s t c a s e s b a s e d o n t h e a c t u a l s o f t w a r e a l s o c a l l e d c l e a r b o x o r s t r u c t u r a l t e s t i n g k e y w o r d i s coverage: d o t h e t e s t c a s e s cover a l l o f t h e c o d e? d i f f e r e n t m e a s u r e s o f c o v e r a g e

Statement Coverage E v e r y s t a t e m e n t i n t h e s o f t w a r e m u s t b e e x e c u t e d a t l e a s t o n c e b y t h e t e s t c a s e s Q u o t e f r o m t e x t M u r r a y : T e s t i n g l e s s t h a n t h i s f o r n e w s o f t w a r e i s unconscionable and should be criminalized N A S A s t o r y

Branch Coverage E v e r y b r a n c h a l t e r n a t i v e m a t l e a s t o n e t e s t c a s e u s t b e c o v e r e d b y M o r e d e m a n d i n g t h a n s t a t e m e n t c o v e r a g e : if x > 3 y = 14; // continue -- no else part W e n e e d a t l e a s t o n e t e s t c a s e w h e r e x > 3 i s a n d a t l e a s t o n e w h e r e x > 3 i s f a l s e.

Path Coverage Every possible path through the program must be covered by at least one test case void tstint x { if x>0 pos = pos1; if x%2==0 even = even1; return; } Needs 4 test cases: all combinations alternatives

Example void tstint x { if x>0 pos = pos1; if x%2==0 even = even1; } S t a t e m e n t C o v e r a g e : t s t 2 B r a n c h C o v e r a g e : t s t - 1, t s t 2 P a t h C o v e r a g e : t s t - 2, t s t - 1, t s t 1, t s t 2

What About Loops? M a y r e q u i r e t e s t c a s e s w h i c h m a k e e a c h l o o p e x e c u t e 0 t i m e s, 1 t i m e, m a n y t i m e s for int i = 0; i < n; i {...} T e s t c a s e s s h o u l d i n c l u d e : n <= 0 no times around the loop n = 1 one time around the loop n > 1 sev eral times around the loop

More About Loops r e a l t i m e s o f t w a r e g e n e r a l l y r u n s i n s i d e a n i n f i n i t e l o o p need to c aref ully def ine w hat y ou mean b y path or loop c ov erag e

Path Coverage: Impossible Combinations N o t a l l c o m b i n a t i o n s a r e p o s s i b l e : if x > 2... else... if x > 4... else... i m p o s s i b l e t o h a v e f i r s t l o o p f a l s e, s e c o n d t r u e n o t e s t c a s e f o r t h a t c o m b i n a t i o n

Path Coverage: Combinatorial Explosion L a r g e m e t h o d w i t h m a n y b r a n c h e s a n d l o o p s : many c omb inations, lots of test c ases dif f ic ult to manag e M ay c atc h sepc ial inputs that trig g er an error F u l l p a t h c o v e r a g e o n l y p r a c t i c a l f o r u n i t t e s t i n g

Example static double powerdouble base, int pow { double answer = 1; while pow > 0 { if pow % 2 == 0 { // pow is even pow = pow / 2; base = base * base; } else { // pow is odd pow = pow - 1; answer = answer * base; } // end if } // end while return answer; } // end power White box checklist: pow = 0, 1, 2, bigger so while loop executed 0, 1, many times even and odd powers to exercise both parts of if statement

Data Flow Testing A n o t h e r k i n d o f w h i t e b o x t e s t i n g e x e r c i s e in order of w eak est to strong est testing all input and output v ariab les b oth truth v alues of all predic ates all def initions of v ariab les eg v ariab les on L H S of assig nments all uses of v ariab les that are def ined all loops

% * & Possibilities For Automation I deal: tool to g enerate set of test c ases satisf y ing c ov erag e req uirements C a n t g e n e r a t e e x p e c t e d o u t p u t f r o m c o d e S o m e h e l p : t o o l s t o h e l p v e r i f y c o v e r a g e : % % & &&

White Box Alone W h i t e b o x a l o n e i s n o t a g o o d w a y t o g e n e r a t e t e s t c a s e s. m a y l e a d t o f o c u s o n l e s s i m p o r t a n t p a r t s i n t r i n s i c a l l y l e a d s t o i n c o m p l e t e t e s t i n g i f c o d e r o v e r l o o k e d p o s s i b i l i t i e s, t e s t c a s e s w i l l n o t d e t e c t t h e m

Black Box Alone B l a c k b o x a l o n e m a d e q u a t e l y a y n o t c o v e r t h e c o d e s o m e s p e c i a l c a s e s a r e n o t o b v i o u s f r o m s p e c i f i c a t i o n s, d e p e n d o n a l g o r i t h m s S t u d i e s e x a m i n e d b l a c k b o x t e s t s u i t e s d e v e l o p e r s c o n s i d e r e d e x t r e m e l y t h o r o u g h o n l y e x e r c i s e d 1 / 3 t o 1 / 2 o f c o d e

Another Example: Background H e r o n s f o r m u l a f o r a r e a o f t r i a n g l e : l e t s = a r e a = a b c 2 s s a s b s c E x a m p l e p r o g r a m t a k e s t h r e e s i d e s o f t r i a n g l e a s c o m m a n d - l i n e a r g u m e n t s s t r i n g f o r m c h e c k s t o m a k e s u r e i t s a n e q u i l a t e r a l t r i a n g l e

Example Code with two Branches public class Triangle { public static void mainstring args [] { int sidea = Integer.parseIntargs[0]; int sideb = Integer.parseIntargs[1]; int sidec = Integer.parseIntargs[1]; if sidea == sideb && sidea == sidec { double s = 0.5 * sidea sideb sidec; double area = Math.sqrts / s - sidea * s - sideb * s - sidec; System.out.printlnarea = area; } else System.out.printlnnot equilateral; } // end main } // end class

Branch Coverage o n e i f s t a t e m e n t, s o t w o t e s t c a s e s n e e d e d f a l s e c a s e : p i c k s i d e s t h a t a r e n t e q u a l r u n Triangle 2 3 4 output: not equilateral t r u e c a s e : p i c k e q u a l s i d e s r un Triangle 2 2 2 output: area = 1.7320508075688772 o u t p u t i s c o r r e c t, l o o k s l i k e a l l i s w e l l

Two Errors not Caught by Test Cases public class Triangle { public static void mainstring args [] { int sidea = Integer.parseIntargs[0]; int sideb = Integer.parseIntargs[1]; int sidec = Integer.parseIntargs[1]; should be 2 if sidea == sideb && sidea == sidec { double s = 0.5 * sidea sideb sidec; double area = Math.sqrts / s - sidea * s - sideb * s - sidec; System.out.printlnarea = area; should be * } else System.out.printlnnot equilateral; } // end main } // end class

Combining the Two Approaches pick a set of test cases from the specification black box then look at code white box and see if test cases cover the code adequately it not, add more to complete coverage power example: black box alone didnt tell us it was important to make sure we tested both odd and even powers suggests additional test cases: pow = 16, pow = 15

Testing at Different Levels U n i t t e s t i n g : d ua l b l a c k b ox / c l e a r b ox a ppr oa c h l e v e l of s m a l l e s t g r a n ul a r i ty : w a n t to l ook a t c od e A b o v e u n i t t e s t i n g l e v e l : g r a y b o x a w a r e n e s s of s tr uc tur e, b ut n ot a l l d e ta i l s, S y s t e m t e s t i n g : p r i m a r i l y b l a c k b o x

Stages B i g B a n g T e s t i n g : g o r i g h t t o S y s t e m T e s t i n g g e n e r a l l y l e a s t e f f e c ti v e v e r y d i f f i c ul t to f i n d b ug s a v oi d th i s B e t t e r w a y : te s t a l l m od ul e s i n d i v i d ua l l y un i t te s ti n g put tog e th e r g r a d ua l l y & te s t l a r g e r pi e c e s f i n a l l y t e s t w h o l e s y s t e m

%, & & % * & & Integration Testing T e s t s u s e s b e t w e e n m o d u l e s - s o u r c e o f 4 0 % o f a l l e r r o r s i n c o d e. I n c r e m e n t a l : T o p D o w n v s. B o t t o m U p s t a r t w i t h t e s t e d m o d u l e s i n e i t h e r c a s e p l a n n i n g o f i n c r e m e n t s s t a r t s e a r l y.- t o p d o w n r e q u i r e s s t u b s b o t t o m u p r e q u i r e s d r i v e r s s a n d w i c h v a r i a n t s e x i s t

& *, * * * - & * % % * 76 C D G <A@ : C D G : System Testing F u n c t i o n a l T e s t i n g d o e s i t w o r k? A l s o : * & % *, * & & % *% - -, * & *, % * &, & 4 9 73 8 /5 4 3 2 0 /10. E=F C < B?> ;=< E F C < E C? F I GNA ME F?> < IA JLK H=IA e t c.

Regression Testing after system is modified: b u g f i x, c h a n g e o r e x t e n s i o n sh ou l d ru n al l tests ov er ag ain b u g fix in on e modu l e c an sh ow u p b u g s in an oth er modu l e in terac tion s c h an g e au tomation is a g reat h el p h ere

, & 8 6 & 4, 5 2 1 & 4 8, < 8 8 A,-, 5 8, 5 E8 0 4 5 & 0 0 4 5 Regression Testing Issues 1 A f t e r c h a n g e s t o s y s t e m, m a y n e e d t o u p d a t e t e s t p l a n, t e s t c a s e s. &* 2 4 / 4 0 4 /2 3 &*, &* 0 /2 3, 1 0 /.,- & &* % & % &* & 8, /2 4 > &=< / ; ; 1 0 8 :9, 0 % 0 7 / & &* 7 7 8, 0 < 8 ; & 4 7 & 8, & 4 @? 1 0 0 /, & & 7 7, 1 0 8 > > 4 0 / 4 & 8. & &* - 4 8 /.,- & &* < 2 t y p e s o f r e g r e s s i o n t e s t i n g 7, 7, 4 &, ; > CD B 0 > 8E? 7, 1 % 4 &, ; > CD B

1 &. 8 4 5 > - 4 ; 4 8 -. 0 3 3 3,-?? Regression Testing Issues 2 c o r r e c t i v e m o d i f i c a t i o n s m a y r e q u i r e p r o g r e s s i v e r e g r e s s i o n t e s t i n g i f t h e o r i g i n a l s p e c i f i c a t i o n s w e r e i n e r r o r V e r s i o n c o n t r o l i s a m a j o r i s s u e &, 3 8, &* 3 & &* 8 @3 4 7 8 0 B 0 % 2 2 4 &* &, 0 > 2 B 2 43 & &, - 1 4 8 3 / 0, 7, ; 0, 8 < 0 7,. 2/ 4 >?

Acceptance Testing Testing specified early as criteria for accepting produ ct C b I m b u m u A an e dangerou s f tests are pre- specified, softw are ay pass tests t not do ch else da com pilers G ood acceptance testing does not inv olv e detailed prior specification of th e tests, b u t depends on precise, com plete and correct system specifications.

Resources That Limit Testing B u dget S ch edu le H ardw are Testers D eb u ggers U sers for u sab ility testing

? >5 @ E @ Object-Oriented Testing M u c h w i s d o m a b o u t t e s t i n g a c c u m u l a t e d b e f o r e p o p u l a r i t y o f O O P H o w i s t h e t e s t i n g t a s k d i f f e r e n t f o r o b j e c t - o r i e n t e d c o d e? s o u r c e s : 23 2 1 %&.0 -./, * %& http://www.rbsc.com/pages/myths.html < 9= ; 5 :5 89 4576 lectures by. C. &. D BB/ C. A B% %- B. A %&/ %& E &/ FGH C B. & %,. B,

Myth 1 M y t h : O O t e s t i n g i s u n n e c e s s a r y. O O p r o m o t e s i t e r a t i o n a n d r e u s e, s o w e h a v e a m o r e e f f e c t i v e w a y t o d e v e l o p t r u s t w o r t h y c l a s s e s. R e a l i t y : H u m a n e r r o r i s a s l i k e l y a s e v e r. W e h a v e t o c h e c k c l a s s f u n c t i o n a l i t y a n d i n t e r a c t i o n s b e t w e e n c l a s s e s

Myth 2 M y t h : t e s t i n g i s a s t r u c t u r e d w a t e r f a l l i d e a a n d i s n t c o n s i s t e n t w i t h i n c r e m e n t a l O O d e v e l o p m e n t R e a l i t y : t e s t s c a n b e d e s i g n e d a n d e x e r c i s e d a t m a n y p o i n t s i n t h e p r o c e s s p a r a d i g m o f d e s i g n a l i t t l e, c o d e a l i t t l e b e c o m e s d e s i g n a l i t t l e, c o d e a l i t t l e, t e s t a l i t t l e E x t r e m e P r o g r a m m i n g X P p r o m o t e s e a r l y t e s t i n g m o r e l a t e r

Myth 3 M y t h : t e s t i n g i s t o o e x p e n s i v e R e a l i t y : p a y m e n o w o r p a y m e M U C H m o r e l a t e r f a i l u r e s i n o p e r a t i o n a l s y s t e m s c a n c a u s e s e v e r e s e c o n d a r y p r o b l e m s p r o p e r t e s t i n g i s v e r y c h e a p b y c o m p a r i s o n, e v e n w h e n d o n e m a n u a l l y e f f i c i e n t t e s t i n g o f l a r g e o r c o m p l e x s y s t e m s n e e d s s o m e a u t o m a t e d s u p p o r t

Myth 4 M y t h : t e s t i n g i s t h e s a m e a s c o n v e n t i o n a l s o f t w a r e a l l y o u n e e d i s b l a c k - b o x s y s t e m t e s t i n g R e a l i t y : O O c o d e s t r u c t u r e m a t t e r s p o l y m o r p h i s m, i n h e r i t a n c e, e n c a p s u l a t i o n p r e s e n t o p p o r t u n i t i e s f o r e r r o r m o r e l a t e r

Myth 5 M y t h : c o n v e n t i o n a l t e s t i n g i s u s e l e s s f o r o b j e c t s R e a l i t y : t h e r e i s a l a r g e b o d y o f k n o w l e d g e a b o u t t e s t i n g b a s i c t e s t i n g t e c h n i q u e s c o n t i n u e t o a p p l y w i t h n e c e s s a r y c h a n g e s i f s c o p e o f t e s t i n g i s s m a l l, i e c l a s s e s a n d c o l l a b o r a t i o n s a s s c o p e o f t e s t i n g g e t s l a r g e r

Myth 6 M y t h : i n h e r i t a n c e m e a n s n e v e r h a v i n g t o s a y y o u a r e s o r r y s p e c i a l i z i n g f r o m a t r u s t e d s u p e r c l a s s m e a n s t h e i n h e r i t e d p a r t o f s u b c l a s s e s w i l l a l s o b e c o r r e c t w e d o n t n e e d t o r e t e s t i n h e r i t e d f e a t u r e s R e a l i t y : s u b c l a s s e s c r e a t e n e w w a y s t o m i s u s e i n h e r i t e d f e a t u r e s d i f f e r e n t t e s t c a s e s a r e n e e d e d f o r e a c h s u b c l a s s m o r e l a t e r

Myth 7 M y t h : r e u s e m e a n s n e v e r h a v i n g t o s a y y o u a r e s o r r y r e u s i n g a t r u s t e d c l a s s m e a n s b e h a v i o u r o f s e r v e r o b j e c t i s t r u s t w o r t h y a n d d o e s n t n e e d t o b e t e s t e d R e a l i t y : n o t h i n g p r e v e n t s a n e w c l i e n t c l a s s f r o m u s i n g t h e s e r v e r o b j e c t i n c o r r e c t l y a l l c l i e n t c l a s s u s e o f a s e r v e r n e e d s t o b e e x e r c i s e d

Myth 8 M y t h : b l a c k b o x t e s t i n g i s s u f f i c i e n t d e s i g n i n g t e s t c a s e s u s i n g c l a s s i n t e r f a c e a n d s p e c i f i c a t i o n a s s u r e s t h e c l a s s i s f u l l y e x e r c i s e d w h i t e b o x t e s t i n g v i o l a t e s e n c a p s u l a t i o n R e a l i t y : s t u d i e s s h o w b l a c k - b o x t e s t s u i t e s t y p i c a l l y o n l y exercise 1/3 to 1/2 of the statements let alone p aths or states ty p ically miss ab normal p aths, excep tion and error- hand ling

, *.. & 4,0 * - 6,4 & 4 5 4 1 4 1 0 / 6,0 4 * 0 4 XP s Approach to Testing p r o g r a m m e r s h o u l d focu s on testing in ord er to g iv e chance to think ab ou t w hat cod e w ill d o, ind ep end ently of how it is imp lemented w rite ev ery test he/she can think of that w on t ru n immed iately on existing cod e consid er tests as g iv ing confid ence that thing s are w ork ing,. - % c o n s i d e r t e s t i n g a s a t y p e o f m e t r i c : -%7 32 : 98

s XP s Design through Refactoring B a s e d o n t e s t c a s e s p i c k u p f i r s t t e s t c a s e i m p l e m e n t c o d e t o g e t t e s t c a s e r u n n i n g p i c k u p n e x t t e s t c a s e r e f a c t o r c o d e t o g e t s i m p l e s t i m p l e m e n t a t i o n t o g e t b o t h t e s t c a s e s r u n n i n g r e p e a t f o r r e s t o f t e s t c a s e s p r o b a b l y w o n t w o r k f o r l a r g e s y s t e m f o c u s o n t e s t i n g u p f r o n t i s i n t e r e s t i n g

OO Testing in Four Phases 1. m o d e l i n g t h e s o f t w a r e e n v i r o n m e n t 2. selecting test scena r io s w e w i l l l o o k a t u n i t t e s t i n g o n l y 3. r u nning a nd ev a lu a ting test scena r io s 4. m ea su r ing testing p r o gr ess

. - %, 0. 4 - - 3 2 6 7 6,. 4 4., 3 1. Modelling the Software Environment m u st id entif y a nd sim u la te inter f a ces so f tw a r e sy stem u ses h u m a n i n t e r f a c e s /20 1 %. /, % *& % & &% & 112. 1, % 2 -. % 0 &% &2. %, s o f t w a r e i n t e r f a c e s. - 9&/ / / 5-. / 2 % /20 1 % 0 &% 3 87 9 /2 *. 2 1 2 %.. /, : - - /, : * /,

. /- 1 2 % 2 3 - / %, -2 %,.. 4,, /, 2 3 7 7 6 % 3 7 1. Modelling the Software Environment f i l e s y s t e m i n t e r f a c e s *& 1. * 2 : % 0 2 %2 & / 23 -.. / /. 1. * & % 2 / / 1. %, &, 5-. 1 %2 - / - c o m m u n i c a t i o n i n t e r f a c e s **&2 % 5, & * /,. 6. 24 % 2 & 9 2 * %, % % 2 *. / 4 -. - / *. / 4 / -2 5 % 9* / 9, / 5 / 2

. - -. -/2 % 2 2 /- /,, E? D ; 6 A? @ 5 K 2. Selecting Test Scenarios c o n s i d e r a p p l i c a t i o n d o m a i n a n d v a r i a b l e s, 1 9 2-1.. % - 9 9*& % / 2 &% %, 2 &% 0 &% * & % * /. & - 10. 2-4,.3 - -. ; <?7 6 < 7 G 8 G; F ; 6 ; D 6 A? 6? C@ < A A 9B 6 ;? <>= ;7 7 6:9 8 67 L J I H

Complications From Inheritance 1 super int Aint x int Bint x sub int Bint x int Cint x t e s t c l a s s super f i r s t, i n c l u d i n g m e t h o d s A a n d B n o w t e s t c l a s s s u b n e w v e r s i o n o f B n e e d t o t e s t i n s u b s u b i n h e r i t s A n o n e e d t o r e - t e s t i n s u b s u p p o s e C c a l l s A : n o g u a r a n t e e t h a t C c a l l s A p r o p e r l y w e s t i l l h a v e t o t e s t C s u s e o f A

Complications From Inheritance 2 super int Aint x int Bint x sub int Bint x t e s t c l a s s super f i r s t, i n c l u d i n g m e t h o d s A a n d B n o w t e s t c l a s s s u b n e w v e r s i o n o f B n e e d t o t e s t i n s u b m i g h t a s s u m e n o n e e d t o t e s t A i n s i d e s u b b u t w h a t i f A c a l l s B?? n e e d t o t e s t A w i t h t h e n e w B

Testing Objects e x e r c i s e m e t h o d s p r o v i d e d b y o b j e c t w i t h g o a l s o f u n c o v e r i n g e r r o r s i n r e s u l t s, s t a t e o f o b j e c t, o r b o t h m u s t t e s t i n t e r a c t i o n b e t w e e n m e t h o d s i n o b j e c t m u s t s e a r c h f o r a l l p a t t e r n s o f m e t h o d i n v o c a t i o n o f o b j e c t m e t h o d s c a n b e i n v o k e d i n a n y r a n d o m o r d e r l e a d i n g t o a l a r g e n u m b e r o f c o m b i n a t i o n s

,, * 3. Running and Evaluating Test Scenarios 1 m a n u a l l y e x e c u t i n g t e s t s c e n a r i o s i s l a b o u r - i n t e n s i v e a n d e r r o r p r o n e a u t o m a t e a s a p p r o p r i a t e &% o f t e n i n c l u d e e x t r a c o d e t o p r o v i d e i n f o r m a t i o n a b o u t v a r i a b l e s, o b j e c t p r o p e r t i e s, e t c d u r i n g t e s t r u n s w r i t e c o d e f o r t e s t a b i l i t y : c o n t r o l l a b i l i t y a n d o b s e r v a b i l i t y

5. * -, &. 7 3 /. 4 J H B = H = J H F : J LM G 9 @ = H HE Q Y ` [ \ Y \ c Y ` _ \ g ] \ W Y \ Y ` Qa QV cq R c Y ` Y Y ` Qa Y ` ^ cq eg 3. Running and Evaluating Test Scenarios 2 e v a l u a t i o n o f t e s t r e s u l t s c o m p a r i s o n o f s o f t w a r e s a c t u a l o u t p u t t o i t s e x p e c t e d o u t p u t o f t e n d i f f i c u l t t o d o 3 4% 3 % * /.3 &,,21 %.0/ * % 3 58, 1, 1 6. J L J? = H J E @ N E J M = H J K ;I HF E GF ED :CB =?A@ => < :; J G = H J O ;= J M B H a Y [ Z] X Q Wa _2b Y Y _ a\ X X` ^ ^] X Z] Y \ W Z8[ Q Y XQ W UV QRTS P ^ Y ] [ e a [ Z [ Q Y XQ W e` f X\ d8e Q h ] [ e ] c R R `a Q _ X\ ` c eq e eq X [Wa a [ ` a R [Wa

43,-,. 0 6 3 6 3 6 /. - 5-9 / 6 0 - -. 9, - 9 4. Measuring Testing Progress d e t e r m i n i n g w h e n t o s t o p t e s t i n g 5, - - 021. /., -, % * &% w h e n t h e p r o d u c t i s r e a d y t o r e l e a s e 3*8 1 7, n e e d q u a n t i t a t i v e m e a s u r e s e s t i m a t i o n o f n u m b e r o f b u g s l e f t i n s o f t w a r e, 3, 8 0 6 0. 8 6 0. 3, 8 0 6 8 /, *- 8 0 /0: 8 6 /.