Evidence, testing and evaluation - Computer Science IB Study Notes
Overview
Imagine you're building a super cool LEGO castle. You wouldn't just finish it and hope it stands up, right? You'd push it a bit, see if the walls are strong, and maybe even try to knock a tower down to see if it breaks easily. This is exactly what 'Evidence, testing and evaluation' is all about in computer science, but for software and apps instead of LEGOs. It's super important because it helps us make sure that the computer programs we create actually work the way they're supposed to, don't have annoying glitches (bugs!), and are useful for the people who will use them. It's how we prove our software is good and how we find ways to make it even better. So, whether you're making a game, a website, or a robot, understanding these ideas means you can build things that are reliable, safe, and truly helpful. It's like being a detective for your own creations!
What Is This? (The Simple Version)
Think of it like being a chef who bakes a delicious cake. Before you serve it to your friends, you'd taste it, right? You'd check if it's sweet enough, if it's cooked all the way through, and if it looks good. That's exactly what evidence, testing, and evaluation are for computer programs!
- Evidence: This is like taking notes while you're baking. You write down what ingredients you used, how long it baked, and what it tasted like. In computer science, it's about collecting information to show that your program works (or doesn't work) as expected. It's proof!
- Testing: This is like tasting your cake. You try different parts of it, maybe even give a slice to a friend to get their opinion. In computer science, you run your program with different inputs (like typing different things into a search bar) to see if it behaves correctly in all situations.
- Evaluation: After tasting and getting feedback, you decide if the cake is good enough to serve, or if it needs more sugar, less baking time, or a different frosting. In computer science, you look at all the evidence and test results to decide if your program meets all the requirements and if it's ready for people to use, or if it needs more work.
Real-World Example
Let's imagine you're building a brand new calculator app for your phone. You want it to be super easy to use and always give the right answers.
- Evidence Collection: As you build the app, you might write down how you designed the 'add' button, or why you chose certain colors. Later, when you test, you'll record the results. For example, you might write down: "When I typed '2 + 2', the app showed '4'." This is your evidence.
- Testing: You wouldn't just assume it works! You'd try lots of different calculations:
- Simple ones:
5 + 3,10 - 7 - Tricky ones:
0 / 5,5 / 0(this should show an error!),-2 * 4 - Long ones:
(10 + 5) * 2 - 3You'd also check if the buttons are easy to press and if the numbers are clear to read. This is you actively testing your app.
- Simple ones:
- Evaluation: After all that testing, you look at your evidence. Did
5 / 0crash the app? (Bad!) Did2 + 2always give4? (Good!) Did your friends find it easy to use? Based on all this, you evaluate if your calculator app is ready to be shared, or if you need to fix some bugs (errors) or make it more user-friendly.
Types of Testing
Just like there are different ways to check if a cake is good (taste, smell, look), there are different ways to test software: 1. **Functional Testing**: This is like checking if the cake actually tastes good. Does the program do what it's supposed to do? Does the 'add' button on the calculator ac...
Unlock 3 More Sections
Sign up free to access the complete notes, key concepts, and exam tips for this topic.
No credit card required ยท Free forever
Key Concepts
- Evidence: Information collected to show that a program works as intended, or to identify problems.
- Testing: The process of running a program with various inputs to check if it behaves correctly and meets its requirements.
- Evaluation: The process of reviewing test results and evidence to decide if a program is ready, or if it needs further development or fixes.
- Bug: An error or flaw in a computer program that causes it to produce an incorrect or unexpected result.
- +6 more (sign up to view)
Exam Tips
- โWhen asked to 'evaluate' something, remember to provide both strengths and weaknesses, backed up by evidence.
- โFor 'testing', always mention specific test cases (inputs and expected outputs) that would reveal if the program works correctly.
- +3 more tips (sign up)
More Computer Science Notes