top of page

Qualification:
Cambridge Advanced Nationals in Computing (AAQ)

Certificate:
Computing: Application Development (H029 / H129)

Unit:
F161: Developing Application Software

5.1 - Testing

Watch on YouTube:
Purpose of testing
Test plan structure
Test data
Types of testing

You need to know the purpose, importance, advantages and disadvantages of testing applications, as well as the impacts of not carrying out testing.


You must understand the structure and contents of test plans and the importance of testing, remedial actions and retesting during application development. You need to know the role of each type of test data (normal, extreme and erroneous).

 

Finally, the purpose, advantages and disadvantages of each type of testing (technical and user) must be known as well as when and how each type should take place.

What You Need to Know

noun-knowledge-8136749e.png

Testing

noun-test-7815966.png

Testing is the process of checking application software to identify problems and ensure that it works correctly and meets its requirements before it is released.

Purpose of Testing

Key purposes of testing application software include:

​

  • Identify and fix defects, such as bugs and errors, before release.

  • Check that requirements are met and the application works as expected for users.

  • Check reliability, performance and compatibility across different conditions and devices.

  • Improve security by identifying vulnerabilities and ensuring the application complies with relevant legal requirements.

  • Support continuous improvement by identifying areas that could be optimised.

Why Testing is Important

Testing is important because it helps developers produce reliable, secure and high-quality software that meets user requirements. Finding problems during development also allows them to be corrected before they affect users and can make problems cheaper and easier to fix.

​

If application software is not properly tested:

  • Bugs and errors may cause features to fail or the application to crash.

  • Poor user experience and compatibility issues may frustrate users or prevent the application from working correctly.

  • Security vulnerabilities may increase the risk of data breaches and cyberattacks.

  • Incorrect results or unmet requirements may mean the application does not achieve its intended purpose.

  • Financial and reputational damage may occur if users lose confidence in the application.

Testing Advantages

noun-tick-6787658.png

Testing Disadvantages

noun-close-6787657.png
  • Improves quality by identifying bugs so they can be corrected.

  • Increases customer satisfaction by ensuring the application meets users' requirements and expectations.

  • Reduces costs by finding problems early when they may be cheaper to fix.

  • Reduces risk by identifying potential problems before they affect users.

  • Improves security by identifying vulnerabilities before they can be exploited.

  • Improves user experience by ensuring features work correctly and consistently.

  • Takes considerable time and could affect development deadlines.

  • Increases development costs through additional staff, time and specialist testing software.

  • Can be affected by human error if testers make mistakes or overlook problems.

  • May require specialist knowledge to configure and maintain complex automated testing tools.

  • Can produce false positives, causing developers to waste time investigating problems that do not exist.

  • Cannot cover every possible situation, meaning some defects may remain after release.

Test Plan Structure

noun-test-6779044.png

A test plan is a structured document that outlines the tests that will be carried out on application software, including how each test will be performed and the expected and actual results.

​​​

Parts of a test plan include:

  • Test number: A unique number given to each test so it can be easily referenced.

  • Test type: Identifies the category of testing being carried out, such as functional, usability or compatibility testing.

  • Test description: A brief description of what feature or part of the application is being tested.

  • Purpose: Explains why the test is being carried out and what it aims to check.

  • Procedure: Describes the steps the tester must follow to carry out the test.

  • Test data: The values entered into the application during the test.

  • Expected result: Describes what should happen if the application works correctly.

  • Actual result: Records what actually happened when the test was carried out.

  • Remedial action required: Records any changes needed if the actual result does not match the expected result. Remedial action fixes errors found during initial testing to ensure the software performs as intended.

  • Retest result: Records the outcome after the test is repeated following any remedial action, confirming whether the problem has been fixed.​

Types of Test Data

Test data is the data entered into application software during testing to check that it handles different types of input correctly.

Normal Data

noun-tick-6787658.png

Normal data is valid and within the expected range or format for an input.

 

It is used to check that the application accepts and correctly processes typical data that users are expected to enter.

​

Example: If an age field accepts values from 18 to 100, 35 would be normal test data.

Extreme Data

Extreme data is valid data at the boundary of the permitted range, such as the minimum or maximum allowed value.

​

It is used to check that the application correctly accepts and processes values at its limits.

​

Example: If an age field accepts values from 18 to 100, 18 and 100 would be extreme test data.

noun-measure-512690.png

Erroneous Data

noun-close-6787657.png

Erroneous data is invalid because it is outside the permitted range, has the wrong data type or does not follow the required format.

​

It is used to check that the application rejects invalid data appropriately, such as by displaying an error message.

​

Example: If an age field accepts whole numbers from 18 to 100, then 17, 101 or "twenty" would be erroneous test data.

Types of Testing

The two main types of testing are technical testing and user testing.

Technical Testing

Technical testing checks whether the application works correctly, reliably and securely from a technical perspective.​ Its purpose is to identify technical faults, bugs, performance problems and compatibility or security issues so they can be corrected.

​

Technical testing takes place throughout development, before release and after significant updates to check that changes have not introduced new problems. Developers or testers use planned tests and specialist testing tools, which may be manual or automated, to test different parts of the application and compare the results against what was expected.

 

Technical testing can identify problems early in development, improve reliability, performance and security, and automated tests can be repeated efficiently. However, it can be time-consuming and expensive, may require specialist knowledge or tools, and cannot guarantee that every possible problem will be identified.

 

There are three common types of technical testing:

Fuzz Testing

noun-random-4480482.png

Fuzz testing is where the application is given large amounts of unexpected, invalid or random data to see how it responds. Its purpose is to identify weaknesses such as crashes and errors when the application receives inputs the developers may not have anticipated.

​

Example: Automatically entering unusual characters, extremely long inputs and unexpected values into an application's input fields.

Load/Stress Testing

noun-stress-test-5733439.png

Load testing (also known as stress testing) is when the application is placed under high or increasing levels of demand to see how well it performs. It checks the application's performance, reliability and limits when many users, requests or large amounts of data are being handled.

 

Example: Simulating thousands of customers attempting to use an online shop at the same time before a major sale.

Migration Testing

noun-transfer-data-5969113.png

Migration testing checks that data or an application has been transferred correctly from one system, platform or version to another. It ensures that data remains complete and usable and that the application continues to function after migration.

 

Example: Checking that all customer accounts and order histories remain correct after moving them from an old database to a new one.

User Testing

User testing involves intended users trying the application to check that it meets their needs and is suitable for real-world use. Its purpose is to identify usability, accessibility and user-experience problems and gather feedback about whether the application meets user requirements.

​

User testing takes place when a working version of the application is available, particularly before final release, although users can test prototypes and versions throughout development. Users are given the application and realistic tasks or scenarios to complete, while feedback and observations about their experience are collected.

​

User testing provides real feedback from users, reveals how people actually interact with the application and identifies usability and accessibility problems. It validates design decisions and can improve user satisfaction. However, recruiting suitable users can be time-consuming and costly, feedback can be subjective or inconsistent and a small group of testers may not represent every type of user.

noun-user-testing-8334685.png
logoheadwhite.png

Questo's Questions

5.1 - Testing:

​​​​​

1. Explain the purpose and importance of testing application software, including the possible impacts of not testing thoroughly[4]

​​​​​

2. Give advantages and disadvantages of testing application software. â€‹[4]

​​​

3. Describe the structure of a test plan and explain the purpose of normal, extreme and erroneous test data. â€‹[6]

​​​

4. Compare technical testing and user testing, including their purpose, how and when they take place, and their advantages and disadvantages. â€‹[6]

​

5. Describe fuzz testing, load/stress testing and migration testing, giving an example of when each could be used[6]

Bethesda's Fallout 76 experienced a number of technical problems when it launched in 2018, with players reporting bugs, crashes and performance issues. Its first major update after launch was around 47 GB on consoles, despite the game itself being around 53 GB, showing how substantial post-release fixes can become when software requires further development and testing.

Did You Know?

noun-radiation-13591.png

© CSNewbs 2026

The written, video and visual content of CSNewbs is protected by copyright. © 2026
bottom of page