The document outlines functional system testing techniques including test cases, test suites, functional analysis, equivalence partitioning, and boundary value analysis. It discusses the goal of testing being to uncover defects rather than track down bugs. Coverage and choosing representative test cases are important. Equivalence partitioning identifies valid and invalid input ranges, and boundary value analysis chooses boundary values and those just outside boundaries. Examples demonstrate applying these techniques to test a traffic violation system and country club admission system.
7. Example: Test data for TVRS … … … … 8700342 longLastN longFirstN 000345 8245731 Josef Dina 255245 1346329 Porat Dan 264683 237812 Dan Levi 6386541 243567 Rachel Josef 8700342 Violation ID Offender’s first name Offender’s last name Issuing policeman ID Description: Violation records designed for validating violation lookup Name: test1.db
8.
9.
10.
11.
12.
13.
14. Example: Functional Analysis II Defect diagnosis: Actual results: Passed Failed Test results A message dialog stating that violation “243567” is not stored in TVRS Enter “243567” at “Violation ID” text field and press the “Search” button “ Lookup Violation” dialog is displayed Press the “Yes” button Confirmation dialog is displayed Press “Delete” button Expected result Action Related use cases: “Lookup Traffic Violation”, “Remove Traffic Violation” Pre-conditions: 1. TVRS initialized with test1.db database 2. Violation 243567 displayed in the “Lookup Violation” dialog Test case ID: 134543
15. Example: Functional Analysis III Verify effects of change Filled when the test case is executed How do we know that violation 243567 is stored in the system? Can a tester diagnose the cause of a defect? In addition, a query could be run on the Offenders database
16.
17.
18. Example: Equivalence Partitioning II … … … … “” Empty [email_address] Invalid character Rachel Single known violation Dan Many known violations -1, 1234567890 ID < 0 or ID > 999999999 00243567 Known violation Violation ID 23ab@ Non numeric ID 32456720 Unknown violation “” Empty Offender’s first name Unknown violation David Character# > 10 Hasalongname Field Valid equivalent classes Valid representative values Invalid equivalent classes Invalid representative values
19.
20.
21.
22.
23. Example: Country Club I Specification 45 15 50 30 15 35 [60, 120] [16, 60) 50 25 45 70 25 65 [0, 16) 25 10 20 35 10 30 Age (years) Admission fee Guest status Visitor Member Student Visitor Member Student Day Sunday - Thursday Friday - Saturday
24. Example: Country Club II A combo box is used for choosing the day and guest status 100, 60 , 120 [60, 120] Member Member Student Student Fri, Sat Fri - Sat [16, 60) 34, 16 , 59 Age < 0 or Age > 120 -1 , 121 Age [0, 16) 2, 0 , 15 Non-numeric value [email_address] Guest status Visitor Visitor Day Sun - Thu Mon, Sun, Thu Field Valid equivalent classes Valid representative values Invalid equivalent classes Invalid representative values
25. Example: Country Club III valid valid (boundary) invalid Invalid age 121 Visitor Fri 12 Invalid age -1 Student Fri 11 Invalid age [email_address] Member Mon 10 9 Thu Visitor 59 50 8 Sat Student 120 45 7 Sun Member 15 10 6 Thu Student 60 30 5 Sat Member 16 10 4 Sun Visitor 0 25 3 Mon Student 100 30 2 Fri Member 34 25 1 Mon Visitor 2 25 Test case ID Day Guest status Age Result