25
QA and Testing

QA and Testing. QA Activity Processes monitoring Standards compliance monitoring Software testing Infrastructure testing Documentation testing Usability

Embed Size (px)

Citation preview

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 mini-project 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