What are the stages of the software development life cycle, and how is software tested?
The stages of the software development life cycle (analysis, design, development, testing, evaluation and maintenance) and the use of test plans and test data.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on the software development life cycle, covering the stages of analysis, design, development, testing, evaluation and maintenance, the purpose of each stage, and the use of test plans and test data including normal, boundary and erroneous data.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this topic is asking
WJEC wants you to know the stages of the software development life cycle and the purpose of each, and how software is tested using test plans and test data. This is part of the Software engineering content in Unit 1 of WJEC GCSE Computer Science (3500).
The stages of the life cycle
Test plans
Test data: normal, boundary and erroneous
Try this
Q1. Name the life cycle stage where the requirements of the problem are identified. [1 mark]
- Cue. Analysis.
Q2. For a field accepting an age from 0 to 120, give one piece of boundary test data. [1 mark]
- Cue. 0 or 120 (or just outside, such as -1 or 121).
Exam-style practice questions
Practice questions written in the style of WJEC exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
WJEC-style Unit 14 marksDescribe four stages of the software development life cycle.Show worked answer →
A Unit 1 software-engineering question. Award 1 mark for each correctly described stage, to four. Analysis: the requirements of the problem are investigated and what the system must do is identified. Design: the solution is planned, including the algorithms, data structures, interface and test plan. Development (implementation): the program is written in a chosen language, building it from the design. Testing: the program is run with test data to check it works correctly and to find and fix errors. Other creditworthy stages are evaluation (judging how well the finished system meets the requirements) and maintenance (fixing problems and making improvements after release). Markers reward four distinct, correctly described stages. A common error is to merge design and development, or to leave out testing.
WJEC-style Unit 14 marksExplain why test data should include normal, boundary and erroneous data, giving an example for a field that accepts an exam mark from 0 to 100.Show worked answer →
A Unit 1 testing question. Normal (valid) data is typical data the program should accept, which checks it works in ordinary use, for example a mark of 57 (1 mark with example). Boundary data is values at the edges of what is allowed, which checks the limits are handled correctly, for example 0 and 100 (and just outside, such as -1 and 101) (1 mark with example). Erroneous (invalid) data is data the program should reject, which checks the validation works, for example a mark of 150 or the text "abc" (1 mark with example). Testing all three types gives confidence the program behaves correctly for any input (1 mark). Markers reward the three types each with a sensible example for the 0 to 100 range. A common error is to give only normal data, missing the boundary and erroneous cases.
Related dot points
- An overview of the practical assessment: Unit 2 (the on-screen computational thinking and programming examination) and Unit 3 (the non-exam software development project).
A concise overview of the practical assessment in WJEC GCSE Computer Science, covering Unit 2 (the on-screen computational thinking and programming examination) and Unit 3 (the non-exam software development project), how each is assessed, and how the Unit 1 theory underpins both.
- The three programming constructs (sequence, selection and iteration), the use of variables and constants, and arithmetic, relational and logical operators.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on programming constructs, covering sequence, selection and iteration (including IF statements and FOR and WHILE loops), the difference between variables and constants, and arithmetic, relational and logical operators with worked examples.
- The use of subprograms (procedures and functions) and parameters, and the benefits of a modular, structured approach to programming.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on subprograms and program structure, covering procedures and functions, the use of parameters, the difference between a procedure and a function, and the benefits of a modular, structured approach to writing programs.
- Low-level and high-level programming languages, the need for translators, and the differences between assemblers, compilers and interpreters.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on programming languages and translators, covering low-level (machine code and assembly) and high-level languages, why translators are needed, and the differences between assemblers, compilers and interpreters with their advantages and disadvantages.
- Computational thinking through decomposition and abstraction, what an algorithm is, and expressing algorithms using flowcharts and pseudocode.
A focused answer to the WJEC GCSE Computer Science Unit 1 content on computational thinking and algorithms, covering decomposition and abstraction, what an algorithm is, and how algorithms are expressed using flowcharts (with the standard symbols) and pseudocode, with worked examples.