






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Exam; Class: OBJECT-ORIENTED PROG II; Subject: Computer Science; University: University of Maryland; Term: Unknown 1989;
Typology: Exams
1 / 10
This page cannot be seen from the preview
Don't miss anything!







Types of testing Levels of testing
Program Testing
Detect and eliminate errors in program Feedback to improve software Specification changes Add new functionality
Program Testing
Test software with selected test cases More scalable than verification Not guaranteed to detect all errors
Testing – Terminology
Person devising and / or performing tests More effective if 2nd person writes tests
Programmer explains code to 2nd^ person
Types of Testing
Allowed to examine code Attempt to improve thoroughness of tests
No knowledge of code Treat program as “black box” Test behavior in response to inputs
Levels (Stages) of Testing
Unit Test
Classes Methods
Extensive unit testing during development Pair programming (1 coder, 1 tester) Design unit tests along with specification
Test each method of class Test every possible flow path through method
Unit Test – Test Coverage
Performed by submit server For code, reports # tests executing code For set of tests selected (from link) E.g., all public tests, individual test For conditionals, reports X/Y where X = # tests executing True Y = # tests executing False Color Green = executed by some test case Pink = not executed
Unit Test – Test Coverage Example
Integration Test
Possible units fail when combined May find problems in specifications
Test units together Proceed bottom up, in increasing size
System Test
Include all components of software In context in which software will be used
Regression Test
As software is modified / extended
Save suite of tests and expected results Rerun test suite periodically after software changes Report any loss of functionality
Software is more stable when developers leave work
Developing Test Cases
Develop test data during analysis & design phases Attempt to exercise alternate program paths Check boundary conditions 1 st^ and last iterations of loop 1 st^ and last values added to data structure Pay close attention to problem specification UML use cases → test cases