In this lesson we will discuss why testing needs to be part of the software development cycle and how such a cycle can be implemented. We will exercise a collaborative testing/code review workflow.
|10 min||Motivation||Why should we write tests?|
What are unit tests, regression tests, and integration tests?
What is test coverage?
How should we approach testing?
|10 min||Tools||What tools are out there?|
|15 min||Exercise: Testing with pytest||
How can we implement a test suite using pytest?
I am a Fortran developer, do I need to care about pytest?
|15 min||Exercise/discussion: Testing using hooks||How can we use Git hooks to make sure we do not commit broken code?|
|40 min||Exercise: Automatic testing with Travis CI||
How can we implement automatic testing each time we push changes to the repository?
Why is it good to autoclose issues with commit messages?
|25 min||Exercise/discussion: Test design|
|5 min||Conclusions and recommendations||What can we take home from this lesson?|