Welcome back. Writing automated test cases
is a bit of an advanced topic for an intro programming course like this one.
We've included it because it's a preview of
an essential software engineering practice for larger projects.
It's a good idea to start developing the habit of testing,
right from the beginning of your programming career.
Moreover, the idea of
edge cases is an important way to think about what your program needs to do.
Indeed more generally, you may find that the notion of edge cases
influences how you think about processes is beyond the ROM of computer programming.
For example, when I think about grading policies for my on-campus courses,
I like to think about edge cases.
What if a student gets sick the night before
the assignment is due and then hands it in late.
What if the students skipped some of the required assignments,
but then demonstrates mastery of the material by getting a 100 percent on the exam.
Those are edge cases that I need to have policies about.
I need to decide what is the correct grades to assign to students,
when those unusual circumstances occur.
Learning to express your test cases as invocations of test.text equal,
is also a good way to reinforce your understanding,
the mechanics of functions, and of classes.
At this point, you should be able to
use the test.text equal function to express test cases,
identify when a return value test is needed,
versus one-side effect tests is needed.
You should be able to identify and express
edge cases for functions and pre-class definitions.
Testing, testing, one, two, three,
testing is the mic working? Are we on camera?
Hi, everyone? That was just a little joke about testing.
That's all in testing for now.
By everyone, see you next time.