DAIMIHenrik Bærbak Christensen1 TMM and the testing process Setting the context
DAIMIHenrik Bærbak Christensen2 Testing process in context Software process –phases procedures –steps –roles / organization Testing is a subprocess –Validation: process of evaluating a unit to determine whether it satisfies specified requirements “are we building the right product?” –Verification: process of evaluating whether the unit developed in a phase satisfy conditions imposed “are we building the product right?”
DAIMIHenrik Bærbak Christensen3 Testing in this context Two definitions of testing: A) Testing is a group of procedures carried out to evaluate some aspect of software B) Testing is a process used for revealing defects in software and establishing that it has attained a specified degree of quality with respect to selected attributes
DAIMIHenrik Bærbak Christensen4 Contrast to common definition Another, common, definition is C) Testing is the process of showing that the system works Contrast this to: B) Testing is a process used for revealing defects in software A) Testing is a group of procedures carried out to evaluate some aspect of software
DAIMIHenrik Bærbak Christensen5 Psychology Humans are goal oriented. –We want success and rewards; and avoid failures... “testing = system works” –success by a few harmless test cases of low quality “testing = defects found” –success by high quality, devilish smart, test cases
DAIMIHenrik Bærbak Christensen6 Yet another definition At the dAPF course we worked a lot with TDD –Test-Driven Development Can you come up with another definition of testing that is the heart of TDD?
DAIMIHenrik Bærbak Christensen7 A proposal TDD: Testing is a process that conservatively drives the development of production code.
DAIMIHenrik Bærbak Christensen8 Testing Levels The V-model –Basically a waterfall Defines levels of testing –unit test –integration test –system test Exercise: –Relate to agile methods
DAIMIHenrik Bærbak Christensen9 Testing Maturity Levels Burnstein’s hobbyhorse –testing processes –classification of maturity