90 likes | 216 Vues
This comprehensive overview, presented by Henrik Bærbak Christensen, delves into the intricacies of software testing, defining key concepts such as validation, verification, and the evaluation of software quality. It contrasts common definitions of testing with a focus on properly revealing defects and ensuring product quality. The discussion includes insights into Test-Driven Development (TDD) and the V-model for testing levels, emphasizing the importance of structured testing procedures within agile methodologies. Enhance your knowledge of testing processes and their maturity stages in software development.
E N D
TMM and the testing process Setting the context Henrik Bærbak Christensen
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?” Henrik Bærbak Christensen
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 Henrik Bærbak Christensen
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 Henrik Bærbak Christensen
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 Henrik Bærbak Christensen
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? Henrik Bærbak Christensen
A proposal • TDD: • Testing is a process that conservatively drives the development of production code. Henrik Bærbak Christensen
Testing Levels • The V-model • Basically a waterfall • Defines levels of testing • unit test • integration test • system test • Exercise: • Relate to agile methods Henrik Bærbak Christensen
Testing Maturity Levels • Burnstein’s hobbyhorse • testing processes • classification of maturity Henrik Bærbak Christensen