Test Strategy, Planning, and Running Tests
|
A test plan forms the foundation of any testing.
We should write tests to verify that functions generate expected output given a set of specific inputs.
The three main types of automated tests are unit tests, functional tests and regression tests.
We can use a unit testing framework like pytest to structure and simplify the writing of tests.
Testing program behaviour against both valid and invalid inputs is important and is known as data validation.
|
Development Tools
|
IDEs provide tools and features to help develop increasingly complex code.
Debuggers allow you to set breakpoints which pause running code so its state can be inspected.
A call stack is a chain of functions that have been executed prior to a certain point.
|
Reviewing Code
|
Code review is where at least one other person looks at parts of a codebase in order to improve its code readability, understandability, quality and maintainability.
The first hour of code review matters the most.
|
Documenting Code
|
A huge contributor to the ability to reuse any software is documentation.
Having only a short documentation document that covers the basics for getting the software up and running goes a long way, and can be amended and added to later.
Documentation helps make your code reproducible.
By default, software code released without a licence conveys no rights for reuse.
Open source licences fall into two key categories: copyleft and permissive.
|
Survey
|
|
{:auto_ids}
key word 1
: explanation 1
key word 2
: explanation 2