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.
|11:00||Motivation||Why should we write tests?|
What are unit tests, regression tests, and integration tests?
What is test coverage?
How should we approach testing?
|11:20||Tools||What tools are out there?|
|11:30||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?
|11:45||Exercise/discussion: Testing using hooks||How can we use Git hooks to make sure we do not commit broken code?|
|13:00||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?
|13:40||Exercise/discussion: Test design|
|14:05||Conclusions and recommendations||What can we take home from this lesson?|