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