Today’s AgendaReview (1)Review (2)Review (3)Review (4)Today’s AgendaFinal Exam: 12:30am-1:50pm, 12/6 (Tue)Final ReviewSoftware Testing and Maintenance 1Software Testing and Maintenance 2Review (1) Introduction to testingBasic concepts: fault, failure, error, test case, testing, debugging, verification & validationThe testing process: test generation, test execution, and test evaluation Input space partitioningEquivalence partitioning (interface-/functionality-based approach), boundary-value analysis Combinatorial testingCombinatorial explosion, t-way testing, pairwise testing, the IPO algorithmSoftware Testing and Maintenance 3Review (2) Graph-based testingBasic concepts: path, simple path, prime path, test path, tour, sidetrip, detourCFG: basic block, node coverage, edge coverage, prime path coverageDFG: definition/use, du-pair, du-path, all-defs/all-uses/all-du-paths coverage Predicate TestingBasic concepts: predicate, clause, active clauseCoverage criteria: predicate coverage, clause coverage, GACC/CACC/RACC, GICC/RICCSoftware Testing and Maintenance 4Review (3) Regression TestingThe RTS problem, test revalidation, selection, test minimization, test prioritization Software maintenanceMaintenance vs development, software change, process models, program understanding, reverse engineering, configuration management, management issues Version controlProduct space, version space, version delta, intensional versioning Software refactoringWhat, why, when, and when notBad smells in code, refactoring patternsReview (4)Code ReviewWhat, why, when, and whoFagan inspection, practical tips, tool supportSoftware Testing and Maintenance
View Full Document