SWE 637, Final Review

Review for Final – Fall 2016
Jeff Offutt
SWE 637
Software Testing
www.cs.gmu.edu/~offutt/
Parameters
• 4:30 – 7:15
• Same room
• 19 December, next next Monday
– 12-December is a reading day
• Closed book / closed notes / closed neighbor
– One sheet of definitions allowed
• Comprehensive
• You may take breaks (not all together)
• Spread out – keep at least one seat between each person
637 - Final Review
© Jeff Offutt, 2016
2
Summary: Part 1—Foundations
1. Why Test Software? (Ch 01)
• Fault, error, failure, program state
• Test maturity levels
• Cost of late testing
2. Model-Driven Test Design (Ch 02)
• RIPR model
• Other terms
3. Test Automation (Ch 03)
• Junit
• Components of a test case
4. Developer Testing (Ch 04)
• Agile and TDD
5. Criteria-Based Test Design (Ch 05)
• Test requirements and criteria
637 - Final Review
© Jeff Offutt, 2016
3
Summary: Part 2
Coverage Criteria (1 of 4)
• Input Space Partitioning – AO Ed 1, Ch 6
– Input Domain Modeling (6.1)
– Combination Strategies Criteria (6.2)
– Handling Constraints Among Characteristics (6.3)
– Extended Example: Deriving an IDM from JavaDoc (6.4)
– Be sure to review the coverage definitions in 6.2
– Know how to construct partitions and blocks
– Know how to choose values
637 - Final Review
© Jeff Offutt, 2016
4
Summary: Part 2
Coverage Criteria (2 of 4)
• Graph Coverage – AO Ed 2, Ch 07
– Overview (07.1)
– Graph Coverage Criteria (07.2)
– Graph Coverage for Source Code (07.3)
– Graph Coverage for Design Elements (07.4)
– Graph Coverage for Specifications (07.5)
– Graph Coverage for Use Cases (07.6)
– Be sure to review the definitions in 07.2
– Know how to generate graphs for various artifacts and apply the
criteria to them
– Know how to choose values (EC, EPC, PPC, …)
637 - Final Review
© Jeff Offutt, 2016
5
Summary: Part 2
Coverage Criteria (3 of 4)
• Logic Coverage – AO Ed 1, Ch 08
– Semantic Logic Coverage Criteria (Active) (08.1)
– Syntactic Logic Coverage Criteria (Inactive) (08.2)
– Structural Logic Coverage of Programs (08.3)
– Specification-based Logic Coverage (08.4)
– Logic Coverage of FSMs (08.5)
– Be sure to review the coverage definitions in 08.1
– Know how to apply the coverage criteria to programs, specs,
and FSMs
– Know how to choose values (CACC, …)
637 - Final Review
© Jeff Offutt, 2016
6
Summary: Part 2
Coverage Criteria (4 of 4)
• Syntax-based Testing – AO Ed 1, Ch 09
– Syntax-based Coverage Criteria (09.1)
– Program-based Grammars (09.2)
– Integration and Object-Oriented Testing (09.3)
• Concepts, not all the details
– Specification-based Grammars (09.4)
– Input Space Grammars (09.5)
– Understand how to derive tests from BNF
– Understand mutation analysis and mutation testing
637 - Final Review
© Jeff Offutt, 2016
7
Preparing & Format
• Re-read the text and handouts
• Study the homework assignments
• Redo the quizzes
• Try exercises in text
• Get a good night’s sleep
• Possibly different kinds of questions
– Mostly problem solving—similar to quizzes, perhaps bigger
– Short answer
– Maybe a few T / F, M / C, single answer questions
637 - Final Review
© Jeff Offutt, 2016
8
Final Grades
• 5% participation, 30% quizzes, 20% homeworks, 10% in-
class exercises, 35% final
– Lowest three quiz grades dropped
• Unbiased grading – compute and sort:
• >= 98 : A+
– Probably only one A+ per class
• > 93 : A
• > 90 : A• > 86 : B+
• > 80 : B
• > 75 : B• > 65 : C
• I will “slide the line” down to an appropriate “break
point”
637 - Final Review
© Jeff Offutt, 2016
9
What I Want You to Take Away
You in 5 years
Forgot everything about testing and high
quality software
Me
Remember testing, but develop software
the “same old way”
Use these concepts to hand-design more
effective tests for your software
Apply automation and criteria when
possible
Convince your company to develop a
quality mindset
637 - Final Review
© Jeff Offutt, 2016
10