csci420unit5

2
CSCI 420 Software Engineering Unit 5 Instructor: George Rudolph Subject: Software Implementation & Testing Objective 1: Explore characteristics of good implementations/code Objective 2: Explore debugging techniques Objective 3: Explore verification and validation Objective 4: Try out techniques for testing C Level Maximum 65 points 1. Make flash cards of on key terms. (5 pts) 2. Explain the difference between validation and verification. Give two examples of this difference. (5 pts) 3. Explain the purposes of testing. What does testing not do? (10 pts) 4. How is testing different from debugging? (5 pts) 5. List 5 characteristics of good code. For each, give an example of its use. (5 pts) 6. Which features of a system are most easily tested by inspections? (5 pts) 7. What work artifacts can be tested by inspection? (5 pts) 8. Explain what a test harness is, and how it is used. (5 pts) 9. Briefly describe the three principal stages of testing for a commercial software system. (5 pts) 10. What tests should be included in object class testing? (5 pts) 11. What guidelines are there for defect testing? (5 pts) 12. What is an equivalence partition? Give an example. (5 pts) 13. What are the three important classes of interface errors? (5pts) 14. What should be the principal concerns of system testing? (5 pts) 15. Watch at least two technical videos on test-driven development process, and summarize the main points. (10 pts) 16. Explain scenario testing. Give an example from a project of your choice. (10 pts) 17. What is stress testing and why is it useful? ( 5pts) 18. What are the three types of user testing? (5 pts) 19. List 5 guidelines from guideline-based testing and give an example of each from a project of your choice. (10 pts) 20. Explain regression testing and its purpose (5 pts). 21. Draw a poster illustrating the acceptance testing process (5pts). B Level 15 points—Choose One 1. Describe an automated test harness for a project that you would like to work on. It does not actually have to exist right now, but you could implement a skeleton. Include representative test cases in your description. Which tests, if any, cannot be automated? 2. You may have kept one or more of your coding projects from a previous course. Perhaps there is something you would have included if you had time to. Resurrect the code, and write some automated unit tests for it. Which tests, if any, cannot be automated? How much code (in LOC) did you have to refactor to make it easier to test? Submit a lab report that includes your test code and run results.

Upload: isamarinda-dot-net

Post on 25-Dec-2015

215 views

Category:

Documents


0 download

DESCRIPTION

CSCI420Unit5CSCI420Unit5CSCI420Unit5 CSCI420Unit5 CSCI420Unit5 CSCI420Unit5 CSCI420Unit5CSCI420Unit5 CSCI420Unit5

TRANSCRIPT

Page 1: CSCI420Unit5

CSCI 420 Software EngineeringUnit 5

Instructor: George RudolphSubject: Software Implementation & Testing

Objective 1: Explore characteristics of good implementations/codeObjective 2: Explore debugging techniquesObjective 3: Explore verification and validationObjective 4: Try out techniques for testing

C Level Maximum 65 points1. Make flash cards of on key terms. (5 pts)2. Explain the difference between validation and verification. Give two examples of this difference. (5 pts)3. Explain the purposes of testing. What does testing not do? (10 pts)4. How is testing different from debugging? (5 pts)5. List 5 characteristics of good code. For each, give an example of its use. (5 pts)6. Which features of a system are most easily tested by inspections? (5 pts)7. What work artifacts can be tested by inspection? (5 pts)8. Explain what a test harness is, and how it is used. (5 pts)9. Briefly describe the three principal stages of testing for a commercial software system. (5 pts)10. What tests should be included in object class testing? (5 pts)11. What guidelines are there for defect testing? (5 pts)12. What is an equivalence partition? Give an example. (5 pts)13. What are the three important classes of interface errors? (5pts)14. What should be the principal concerns of system testing? (5 pts)15. Watch at least two technical videos on test-driven development process, and summarize the main points. (10 pts)16. Explain scenario testing. Give an example from a project of your choice. (10 pts)17. What is stress testing and why is it useful? ( 5pts)18. What are the three types of user testing? (5 pts)19. List 5 guidelines from guideline-based testing and give an example of each from a project of your choice. (10 pts)20. Explain regression testing and its purpose (5 pts).21. Draw a poster illustrating the acceptance testing process (5pts).

B Level 15 points—Choose One

1. Describe an automated test harness for a project that you would like to work on. It does not actually have to exist right now, but you could implement a skeleton. Include representative test cases in your description. Which tests, if any, cannot be automated?

2. You may have kept one or more of your coding projects from a previous course. Perhaps there is something you would have included if you had time to. Resurrect the code, and write some automated unit tests for it.Which tests, if any, cannot be automated? How much code (in LOC) did you have to refactor to make it easier to test? Submit a lab report that includes your test code and run results.

A Level 20 points—Choose One1. Does Test-driven development actually produce better code? Better designed software?2. Is agile user acceptance testing a viable approach for large enterprise development?3. Why is software testing so difficult?4. Why is software debugging so difficult?

F: < 60 D: < 70 C: < 80 B: < 90 A: >= 90