Know and understand test designs including the testing of data structures, file structures, input formats, output formats and validation routines

Published by Patrick Mutisya · 14 days ago

ICT 0417 – The Systems Life Cycle: Test Designs

The Systems Life Cycle – Test Designs

Testing is a critical phase of the systems life cycle. It ensures that the system behaves as expected and that data is processed correctly. The following notes cover the main types of testing that candidates need to know for the Cambridge IGCSE ICT exam.

1. Testing Data Structures

Data structures store information in a way that can be efficiently accessed and manipulated. Tests focus on:

  • Correctness of data type (e.g., integer, string, date).
  • Boundary values (minimum and maximum values).
  • Integrity of relationships (e.g., primary‑key/foreign‑key links).
  • Handling of null or missing values.

Example test case for an integer field Age:

  • Input: -1 → Expected result: error (age cannot be negative).
  • Input: 0 → Expected result: accepted (if age 0 is allowed).
  • Input: 150 → Expected result: error (exceeds realistic upper limit).

2. Testing File Structures

File structures determine how records are stored on disk. Common structures include sequential, indexed, and random access files. Tests should verify:

  • Correct record layout (field order, delimiters).
  • Ability to add, modify, delete records.
  • Search and retrieval performance for indexed files.
  • Integrity after file operations (no data loss or corruption).

3. Testing Input Formats

Input formats define how users or other systems provide data to the application. Testing includes:

  • Validating required fields are present.
  • Checking format constraints (e.g., date format DD/MM/YYYY).
  • Ensuring correct handling of special characters.
  • Testing for injection attacks (basic validation for security).

4. Testing Output Formats

Output formats must present data in a clear, accurate, and consistent way. Tests cover:

  • Correct number of decimal places for monetary values.
  • Alignment and column headings in reports.
  • Appropriate use of units (e.g., kg, cm).
  • Consistency with user‑defined settings (e.g., language, locale).

5. Validation Routines

Validation routines are the code that checks input before it is processed. Typical validation checks include:

  1. Data type verification.
  2. Range checking.
  3. Length checking (minimum and maximum characters).
  4. Pattern matching using regular expressions.
  5. Cross‑field validation (e.g., start date must be before end date).

Example of a simple validation routine in pseudocode:

IF NOT isNumeric(age) THEN

DISPLAY "Age must be a number."

ELSE IF age < 0 OR age > 120 THEN

DISPLAY "Age must be between 0 and 120."

ELSE

CONTINUE processing

END IF

6. Summary Table of Test Types

Test TypeFocus AreaTypical Test Cases
Data StructureData type, boundaries, null handlingMinimum/maximum values, invalid types, empty fields
File StructureRecord layout, file operations, indexingAdd/delete records, search by key, file integrity after updates
Input FormatField presence, format, special charactersMissing required fields, wrong date format, injection strings
Output FormatPresentation, precision, unitsDecimal places, column alignment, correct unit labels
Validation RoutineAutomated checks before processingType checks, range checks, regex pattern matches, cross‑field logic

Suggested diagram: Flowchart showing the testing process from test planning → test case design → execution → result analysis → defect reporting.

7. Key Points to Remember for the Exam

  • Always test both valid and invalid data.
  • Boundary value analysis is a quick way to find errors.
  • Document expected results clearly; this helps in marking.
  • When testing file structures, consider both the logical and physical layout.
  • Validation routines should be placed as early as possible in the processing flow.

By mastering these test designs, you will be able to demonstrate a thorough understanding of the testing phase within the systems life cycle, a requirement of the IGCSE ICT specification.