Effective PyCharm Transcripts
Chapter: Unit testing
Lecture: Why software testing?
0:00 Let's set the stage with just a couple of thoughts about testing, software testing, unit testing integration tests and all those sorts of things.
0:09 The first thought is a quote from Steve C. McConnell, he's the author of code complete.
0:14 And he says the problem with quick and dirty is that the dirty remains long after the quick has been forgotten. Most software lives for a long time.
0:23 And if it is built poorly it is unreliable. If you have no way to change it and verify that it's still working,
0:30 you're going to end up in a bad place as that software grows. The next one is anonymous but similar.
0:36 The bitterness of poor quality remains long after the sweetness of meeting the schedule has been
0:42 forgotten. So it's really important for us to test our software.
0:46 Sure. We might write little programs that are just utilities and just knock something out real quick and have no test at all.
0:51 That's totally fine. But if you're working on a team building professional software that's going to live for a long time,
0:58 it's really important that it has test and that you can verify it.
1:02 Still working Another aspect that often is forgotten around testing and dynamic languages like Python is
1:09 we need something to exercise the code to even verify that it's right. A continuous integration. What does it mean to build Python anyway,
1:17 doesn't mean very much so even just to verify that the source code is still in
1:22 a functioning state. We need something to exercise it and unit tests are the perfect thing to do that through continuous integration.
1:29 So that's what this chapter is all about.