Search This Blog

Friday, February 1, 2008

Checklist: Testing

Checklist: Unit Testing

Is the number of input parameters equal to number of arguments

Do parameter and argument attribute match

Do parameter and argument unit system match

Is the number of arguments transmitted to called modules equal to number of parameters

Are the attributes of arguments transmitted to called modules equal to attributes of parameters

Are global variable definitions consistent across modules

Are constraints passed as arguments

File attributes correct

Open/Close statements correct

Format specification matches I/O statement

Buffer size matches record size

Files opened before use

End of file conditions handled

Any textual errors in output information

Check for inconsistent data types (if any)

Check for incorrect variable names (misspelled or truncated)

Check for underflow, overflow, addressing exceptions

Check for default values

Has the component interface been fully tested

Have local data structured been exercised at their boundaries

Have all independent basic path been tested

Have all loops been tested properly

Have data flow paths been tested

Have all error handling paths been tested



Checklist: Integration Testing

Interfaces

Communication protocols

Files and their Formats

Call pairs, Argument list

Event list

Use and flow of global data

Checking consistency between interfacing parts

Synchronization of parallel processes and transactions. Especially queue handling

Multitasking: Capacity of shared resources

Handling of failures in other components and recovery

Special cases at interfaces (not existing data, bad data, empty files, network down etc.)

Database connectivity

Typical defects found in Integration Testing

v Wrong module or function called

v Wrong state of a called object when it is called

v Wrong boundary values

v Wrong data type

v Speed problems: Too fast or slow transmission

v Format inconsistency

v Conventions and restrictions misused

v Wrong interpretation of names, codes, data etc

v Transfer and output files: Too large, empty, missing

v Data flow problems: Data not found, disappear, never written

v Problems with synchronization and queues

v Problems with shared resources

v Wrong use of communication channel (not connected, disconnect, wrong port)

v Problem across platform

v Are reserved things freed, superfluous data deleted etc

v Communication bugs

Checklist: System Testing

Have the business context and justification for the system been properly developed

Have all stakeholders been identified and polled for agreement

Have the overall function and behavior of the system defined

Have system processes been adequately and consistently defined

Is system output and input adequately defined

Have system level assumptions, limitations, constraints, preferences been explicitly and unambiguously stated

Has an application architecture been defined

Has the required technology infrastructure for the system been adequately defined

Has the scope of the system been bounded

Have usage scenarios been created at system level

Has a requirement management process been established for the system

Has allocation occurred for all system elements

Is the allocation for the software reasonable and well defined

Have appropriate traceability tables been developed

Has a system model been designed

No comments: