Professional Documents
Culture Documents
Why do we write To ensure the code behaves as expected and to prevent regression as the software grows. Easy
tests?
Describe some testing (Open-ended. Depends on the particular software stack used.) Easy
tools and frameworks
you've used. For Python (e.g.):
Where is the CI stops where the deployable artefact is produced, which is where CD starts. Logically CD transcends CI. Medium
implementation
boundary between a
CI and CD
(continuous delivery)
process?
The pyramid of testing essentially means that the most tests in a stack are unit tests, on top of which integration
and functional tests follow, and at the top acceptance tests. The reasoning is that acceptance tests are usually
hard to automate and become error prone: Errors that can be caught a lot easier by lower levels of testing. Hence,
the number of tests increase towards the top.
What's the difference A mock tests behaviour and has a verification step (it verifies expectations), whereas a stub returns a Hard
between mocks and predetermined value. E.g. with a mock it can be tested that a particular method is invoked multiple times with
stubs (both being test particular parameters, and a stubbed method can be used to temporarily replace a large database lookup ("canned
doubles)? answers") where the test isn't as such concerned by what's returned by the database, but rather wants to test other
behaviour.