





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: Notes; Professor: Padua-Perez; Class: OBJECT-ORIENTED PROG II; Subject: Computer Science; University: University of Maryland; Term: Fall 2005;
Typology: Study notes
1 / 9
This page cannot be seen from the preview
Don't miss anything!






Detect and eliminate errors in program Feedback to improve software Specification changes Add new functionality
Testing
Test software with selected test cases More scalable than verification Not guaranteed to detect all errors
Testing – Terminology
Individual test
Collection of test cases
Program that executes a series of test cases
Software that facilitates writing & running tests Example – JUnit
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
Flow Path
while (B1) { if (B2) S else S }
System Test
Include all components of software In context in which software will be used
Acceptance Test
Ensure program meets all requirements
Place software in user environment Test software with Real-world data Real users Typical operating conditions Test cases selected by users
Acceptance Test – Stages
Test components during development Usually clear box test
Test in real user environment Always black box test
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