FIT4004 Lecture Notes - Lecture 3: Main Source, Evolvability, Testability
Lecture 3 - Reviews, Inspecons, and Walkthroughs
Human Review
The only way to catch mistakes in high level arfacts
Why inspect?
●Bugs hardest to fix
○When requirements are misunderstood
○When dumb architectural decisions are made
●Easiest bugs to fix - typos, code does the wrong thing
●Defects detected by tesng
Human Inspecon
Technique for improving soware quality
Fagan Inspecons
Process of trying to find defects in developments documents involved in the different of the soware
development process.
●Makes certain assumpon about soware development
○Assembly language
○Waterfall life cycle
○Simple design
●Advocates inspecons for most arfacts in a soware process
○Design documents
○Code
○Test cases
Who is for?
●Moderator:
○Developer
○Training in running Fargan inspecons
○Not necessarily directly involved with the feature being inspected
●Designer: Person who designed the feature which the code under inspecon implements
●Coder: Who wrote the code
●Tester: Who is wring the test cases for the code
Document Summary
The o(cid:374)l(cid:455) (cid:449)a(cid:455) to (cid:272)at(cid:272)h (cid:373)istakes i(cid:374) high le(cid:448)el a(cid:396)(cid:415)fa(cid:272)ts. Easiest (cid:271)ugs to (cid:454) - t(cid:455)pos, (cid:272)ode does the (cid:449)(cid:396)o(cid:374)g thi(cid:374)g. P(cid:396)o(cid:272)ess of t(cid:396)(cid:455)i(cid:374)g to (cid:374)d defe(cid:272)ts i(cid:374) de(cid:448)elop(cid:373)e(cid:374)ts do(cid:272)u(cid:373)e(cid:374)ts i(cid:374)(cid:448)ol(cid:448)ed i(cid:374) the di e(cid:396)e(cid:374)t of the so(cid:332)(cid:449)a(cid:396)e de(cid:448)elop(cid:373)e(cid:374)t p(cid:396)o(cid:272)ess. Ad(cid:448)o(cid:272)ates i(cid:374)spe(cid:272)(cid:415)o(cid:374)s fo(cid:396) (cid:373)ost a(cid:396)(cid:415)fa(cid:272)ts i(cid:374) a so(cid:332)(cid:449)a(cid:396)e p(cid:396)o(cid:272)ess. Not (cid:374)e(cid:272)essa(cid:396)il(cid:455) di(cid:396)e(cid:272)tl(cid:455) i(cid:374)(cid:448)ol(cid:448)ed (cid:449)ith the featu(cid:396)e (cid:271)ei(cid:374)g i(cid:374)spe(cid:272)ted. Desig(cid:374)e(cid:396): pe(cid:396)so(cid:374) (cid:449)ho desig(cid:374)ed the featu(cid:396)e (cid:449)hi(cid:272)h the (cid:272)ode u(cid:374)de(cid:396) i(cid:374)spe(cid:272)(cid:415)o(cid:374) i(cid:373)ple(cid:373)e(cid:374)ts. Teste(cid:396): who is (cid:449)(cid:396)i(cid:415)(cid:374)g the test (cid:272)ases fo(cid:396) the (cid:272)ode. Desig(cid:374)e(cid:396) e(cid:454)plai(cid:374)s the desig(cid:374) of the (cid:272)o(cid:373)po(cid:374)e(cid:374)t u(cid:374)de(cid:396) (cid:396)e(cid:448)ie(cid:449) P(cid:396)o(cid:448)ides the a(cid:396)(cid:415)fa(cid:272)t to the i(cid:374)spe(cid:272)(cid:415)o(cid:374) tea(cid:373) Pa(cid:396)(cid:415)(cid:272)ipa(cid:374)ts the(cid:374) go o a(cid:374)d stud(cid:455) the p(cid:396)o(cid:448)ided a(cid:396)(cid:415)fa(cid:272)ts. U(cid:374)de(cid:396)sta(cid:374)d the a(cid:396)(cid:415)fa(cid:272)t, a(cid:374)d look fo(cid:396) p(cid:396)o(cid:271)le(cid:373)s. List of the (cid:373)ost (cid:272)o(cid:373)(cid:373)o(cid:374) p(cid:396)o(cid:271)le(cid:373)s fou(cid:374)d (cid:271)(cid:455) (cid:396)e(cid:272)e(cid:374)t i(cid:374)spe(cid:272)(cid:415)o(cid:374)s. Che(cid:272)klist of (cid:272)lues that p(cid:396)o(cid:448)ide hi(cid:374)ts o(cid:374) ho(cid:449) to (cid:374)d these (cid:272)o(cid:373)(cid:373)o(cid:374) p(cid:396)o(cid:271)le(cid:373)s. E(cid:454)pe(cid:396)ie(cid:374)(cid:272)ed (cid:396)e(cid:448)ie(cid:449)e(cid:396)s pe(cid:396)fo(cid:396)(cid:373) (cid:271)est (cid:449)he(cid:374) the(cid:455) (cid:396)e(cid:448)ie(cid:449) (cid:374)o (cid:373)o(cid:396)e that (cid:1005)(cid:1009)(cid:1004)-(cid:1006)(cid:1004)(cid:1004) li(cid:374)es of (cid:272)ode pe(cid:396) hou(cid:396) Code(cid:396) (cid:894)(cid:373)ode(cid:396)ato(cid:396)(cid:895) e(cid:454)plai(cid:374)s the a(cid:396)(cid:415)fa(cid:272)t i(cid:374) detail.