Computer Science GCES AQA
-
Representing Algorithms Aqa4 主题
-
Efficiency Of Algorithms Aqa1 主题
-
Searching Algorithms Aqa3 主题
-
Sorting Algorithms Aqa3 主题
-
Data Types Aqa1 主题
-
Programming Concepts Aqa5 主题
-
Arithmetic Relational And Boolean Operations Aqa1 主题
-
Data Structures Aqa3 主题
-
String Manipulation Aqa1 主题
-
Random Number Generation Aqa1 主题
-
Structured Programming Aqa2 主题
-
Robust And Secure Programming Aqa4 主题
-
Number Bases Aqa2 主题
-
Converting Between Number Bases Aqa3 主题
-
Units Of Information Aqa9 主题
-
Hardware And Software Aqa4 主题
-
Boolean Logic Aqa3 主题
-
Programming Languages And Translators Aqa2 主题
-
Cpu Architecture Performance And Embedded Systems Aqa4 主题
-
Memory Aqa2 主题
-
Secondary Storage Aqa3 主题
-
Fundamentals Of Computer Networks Aqa8 主题
-
Fundamentals Of Cyber Security Aqa1 主题
-
Methods Of Preventing Cyber Security Threats Aqa1 主题
-
Relational Databases Aqa2 主题
-
Ethical Legal And Environmental Impacts Aqa2 主题
Testing Algorithms Aqa
Exam code:8525
Testing Algorithms
What is the purpose of testing algorithms?
-
Testing is carried out for many reasons, however, 4 main areas are:
-
To ensure there are no errors or bugs in the code
-
To ensure that the code performs as it was intended
-
To ensure no one can gain unauthorised access to the system
-
To check the program solves the initial problem and meets all requirements
-
What are the different types of testing?
-
There are two types of tests that developers and teams will do to ensure their programs are robust and meet the requirements that have been set out, they are:
-
Iterative testing
-
Final testing
-
Iterative Testing
-
Each part of a program is tested
-
Every pathway through the program is tested
-
This includes each branch/pathway inside of IF statements
-
-
This is done during the development of the program
-
Iterative testing means repeatedly testing the program whilst continuing to make changes and make improvements
-
This method of testing ensures that the program is fully functional and working as intended
Final Testing
-
Testing that all parts (modules) of a program work together
-
Checking the program against real data to ensure it meets all of the requirements
-
Testing the program using normal, boundary and erroneous data
-
-
Final testing is done towards the end of the development cycle, once the entire program is complete
-
Final testing can include
-
Alpha testing
-
Beta testing
-
Normal, Boundary & Erroneous Tests
Categories of tests
-
The are three main categories of tests a programmer or test-user would carry out whilst performing both iterative or final testing on a program
-
Normal tests
-
Boundary tests
-
Erroneous tests
-
-
There is an additional test that users would always carry out to test the robustness of their program, this is known as an invalid test
-
To explain the types of tests, some example code will be used
Example code
# Ask for user's namename = input("What is your name? ")
# Ask for user's ageage = int(input("How old are you? "))
# Check if age is between 12 and 18if age >= 12 and age <= 18: print("Welcome, " + name + "! Your age is accepted.")else: print("Sorry, " + name + ". Your age is not accepted.")
Normal tests
-
A normal test is when a user enters data that should be accepted in the program
-
An example would be a user entering their age as 16 into the age field of the program
Boundary tests
-
A boundary test is when a user enters data that is on the edge of what is acceptable
-
An example would be a user entering their age as 12 or 18 into the age field of the program
-
Another example of a boundary test would be the numbers 11 or 19, even though they are outside of the accepted range
Erroneous tests
-
An erroneous test is when a user enters data that is the wrong data type
-
An example would be a user entering their age as “F” into the age field of the program
Invalid tests
-
An invalid test is when a user enters data that is the right data type but it is outside of what is accepted
-
An example would be a user entering their age as 67 into the age field of the program
Selecting Suitable Test Data
How do you select and justify suitable test data?
-
The first step when selecting suitable test data is to determine what type of input is expected from a user
-
In the example table below, a user is expected to enter a number between 12 and 18
-
Suitable checks include
-
The numbers between 12 and 18
-
Numbers outside of this range
-
Incorrect data types
-
-
Examples of each the the above have been summarised in the table below

Worked Example
SME Electronics is an online shop which sells electronic items.
The following flowchart shows an algorithm used to calculate the price of an item when they have a sale.

-
Complete the following test plan for the algorithm [4]
|
Price Input |
Test Type |
Expected Price Output |
|
50 |
Normal |
|
|
100 |
|
|
|
150 |
|
|
|
200 |
Boundary |
|
|
FFF |
|
|
Answer
-
Marked in pairs
-
1 mark per two correct cells

Responses