4 Testing basics

equivalence class : a group of data that are very similar 
partitioning
(MAY only need to test one in each class, at least initially)
watch for undefined values, overlaps, missed categories
interior and boundary values
	be aware of Maxint and Minint
	limits of memory
cases: base, edge, corner
	edge:approaching the limits of what the system can handle 
	corner: pathological cases 
	normal, limits,overlapping problems
Shopping cart edge cases: (special handling)
The user attempts to add 1,000 items to the shopping cart at the same time 
The user attempts to hit “remove” on a shopping cart with no items in it 
The user opens and closes the shopping cart numerous times without doing anything 
The user attempts to add an item which is no longer in stock 
Shopping cart corner cases:
An item that was in stock when the page loads is out of stock by the time the user clicks the “Add To Cart” button 
The system receives a request to add 10^80 items (approximately equal to the number of atoms in the universe) to the shopping cart 
The memory in which the shopping cart is stored has been corrupted 

What should the system do on failure?

Black box testing:
tester knows no more than a user would
White box testing:
directly able to test code
Grey box testing:
access as user but know the code

dynamic testing: the code is run
static testing:look at issues with the code itself
	complexity
	initialization and re-initialization
	loop exit conditions
	etc