Skip to content
Software development
ASD ISMISM-2062

ASD ISM 2062 Unit and integration testing for code quality

What it says

Unit testing and integration testing, covering both positive and negative use cases, are used for software components to ensure code quality and correctness.

Quoted as published. Everything else on this page is written by Control Stack.

What it means

In plain English

Testing software parts with various cases ensures they work correctly and are built well.

When software is built, each part needs to be tested separately and together to make sure everything works properly. If this isn't done, you might end up with software that has hidden errors, which could cause it to fail or work incorrectly, leading to frustration and potential security risks.

Why it matters

If unit and integration testing are not done, the software might have unexpected errors, leading to operational failures or security vulnerabilities.

How to implement

  1. The IT team should conduct unit tests for each software component.

    Break down the software into individual parts and run tests on each to check they do their job properly.

  2. The software development manager should ensure integration tests are performed.

    After individual testing, the team should run the parts together to ensure they interact as expected.

  3. Developers should include both positive and negative test scenarios.

    They should simulate both when software works correctly and when it fails, ensuring all possible outcomes are covered.

  4. Project managers should create a testing schedule.

    Set clear milestones for when unit and integration testing should take place, adjusting timelines if necessary.

  5. QA (Quality Assurance) teams should be involved early.

    They should review testing processes to make sure tests are thorough and catch issues before the software is deployed.

Keep it running

Regular reviews of the testing process help ensure all software changes are tested thoroughly. Keep communication open between developers and QA for robust testing outcomes.

Evidence and audit

  1. Check 1 of 5What an auditor asks for

    Ask for

    the testing documentation: Request records of unit and integration testing results.

    Look at

    the variety and completeness of scenarios covered in these tests.

    Good evidence

    includes a checklist of tests conducted, including expected outcomes and discrepancies noted.

  2. Check 2 of 5What an auditor asks for

    Ask for

    the testing schedule: Request a timeline that includes planned and completed testing phases.

    Look at

    whether tests were performed as scheduled.

    Good evidence

    shows clear adherence to the testing plan.

  3. Check 3 of 5What an auditor asks for

    Ask for

    defect reports: Request documentation showing any issues found during testing.

    Look at

    how these issues were addressed and resolved.

    Good evidence

    provides evidence of corrective actions taken promptly.

  4. Check 4 of 5What an auditor asks for

    Ask for

    meeting records: Request minutes or notes from team meetings discussing testing outcomes.

    Look at

    decisions made and actions planned based on these discussions.

    Good evidence

    includes detailed notes on problem-solving strategies.

  5. Check 5 of 5What an auditor asks for

    Ask for

    QA reviews: Request proof of quality assurance reviews.

    Look at

    how QA findings were actioned.

    Good evidence

    includes records of QA input and how it improved test procedures.

Mappings

Closest match in ISO/IEC 27001: A.8.29, Security testing in development and acceptance, which this control covers in full and more.

ISO 27001

ISO/IEC 27001: 2 mappings

Mappings show how controls relate across frameworks. They do not imply full equivalence or certification.