QA and Testing QA Activity Processes monitoring Standards compliance monitoring Software testing Infrastructure testing Documentation testing Usability testing Sign off to production Types of software testing Unit Testing Functional Testing Security Testing Load testing Performance testing Regression Testing User Acceptance Test Functional testing activity Requirements development Test Cases development Defects discovering – testing Defects tracking Defects evaluating Defects reporting Regression testing Defects Tracking Evaluating Reporting Defect Severity Defect Priority Defect Reporting Procedure Fill in Actual Result Gather the evidences Fix the day and time Define Severity and Priority Notify developer Make the record in Defect Tracking Database Defect Severity Critical Major Minor Trivial Defect Priority Emergency High Medium Low Test Plan Objectives Identify the requirements Identify Defect Reporting Procedure Define Test Entry and Text Exit Test Cases Test Case Implementation scenario that has or does: Reasonable probability to catch an error Define exactly the input Define exactly expected result Predict an error Predict system behavior Test Cases Main Types Positive Negative Equivalence classes All test cases all test the same things If one test catches a bug, the others probably will too If one test does not catches a bug, the others probably won’t either To determine equivalence classes look for: The test cases involve the same input variables They result in similar operations in the program They affect the same output variables None force the program to do error handling or all of them Common Software errors Functional Boundary related Calculation Initial and Later States Control Flow Error in Handling and Interpreting Data Race Conditions Load conditions Common Software errors Functional Check if the system functions are implemented correctly Common Software errors Boundary related Boundaries often are numeric, but not neceserily. In general that is the question of belonging to some domain. Check the system behavior when the value fits the boundary, is below the boundary, and is above it. Common Software errors Calculation Errors may be in the formula Also there may be lost of calculation precise due to of roundoff or truncation Common Software errors Initial and later state Failure to set a data item to 0 Failure to initialize a loop-control variable Failure to initialize pointers Failure to clear a string Failure to initialize a register Failure to clear flag Common Software errors Control flow Not correct if .. then.. Else GOTO somewhere Logic errors Return to wrong place Common Software errors Race conditions Races in updating data Assumptions that one event will finish before the other begins Assumption that an input will not occur during some short interval Options out of synch during a display change. Common Software errors Load conditions Required resources are not available Resources are not released Not available large memory area Does not clean items from queue, buffer, or stack Lost messages Data boundaries Unterminated null terminated strings R/W past end of data structure, or an element on it Read outside a message buffer Value stack under/overflow Message sent to wrong process or port Failure to validate incoming messages Exercise Review the description of errors assigned to you Review use cases relevant to your miniproject and think about writing the code to implement business logic Determine cases where a software error potentially can manifest itself Make your notes and inform the class Assignment – boundary errors, calculation errors (pp 399-403) – Race conditions (pp 421-423) – Initial and later state (403-406) – loops & other control flow (pp 411-415) – Control flow (pp 406-411) – errors in handling and interpreting data (pp 416-418) - Load conditions (pp 423-425) – Data boundaries & messaging problems (pp 418-420) Presentation tips Outline your mini-project content Present your use cases with your mock-up screens Present major items of your “software errors” part Talk about applicability – What errors may occur and when Prepare written help to show on the screen