Work through the list without notes. If you cannot do a statement, follow its link, then come back. Guide = study guide; Practice = practice questions; see also the revision notes.
Understanding
- I can define system reliability using the words expected, stated conditions and failure. (Guide: “System reliability”; Practice Question 1)
- I can explain why testing with a variety of conditions matters and why it cannot prove a program has no faults. (Guide: “System reliability”; Practice Question 2)
- I can explain that a program can have both beneficial and harmful effects and unintended effects beyond its use. (Guide: “Impact: beneficial, harmful, and unintended”; Practice Questions 3 and 6)
- I can explain what open source means and what must be done before using code that is not open source. (Guide: “Legal issues and intellectual property”; Practice Questions 4 and 9)
Skills
- I can choose test values that include ordinary, boundary, extreme and special cases. (Guide: Worked example 2; Practice Questions 2 and 8)
- I can find an input within a method’s stated condition that produces a wrong result, such as an overflow. (Guide: Worked example 2; Practice Questions 5 and 8)
- I can write an impact answer that names a group, an effect and a reason. (Guide: Worked example 1; Practice Question 7)
- I can suggest a change to a program that reduces an unintended harm. (Guide: Worked example 1; Practice Question 7)
Reasoning
- I can decide whether a method is reliable by comparing its results with its stated condition. (Guide: Worked example 2; Practice Question 8)
- I can explain why a program that never crashes can still be unreliable. (Guide: “Common misconceptions”; Practice Question 5)
- I can weigh reusing open-source code against buying or writing code. (Practice Question 9)
All ticked? Move on to the Topic 3.3 study guide, Anatomy of a Class, or return to the course roadmap.