Testing Strategies In Software Engineering