Skip to content

Differentiating Tests

Antonio Kasabov edited this page Jun 23, 2021 · 4 revisions

Unit Tests

Individual bits of source code are tested in order to locate where exactly is the problem. Each test depends on a different portion of the code and no data is transferred between the tests. Here only one aspect of a function is tested. The problem with Unit Tests is that they run very slow and is not optimal to use them after every change in the code.

Automation Tests

Automation testing is a Software testing technique to test and compare the actual outcome with the expected outcome. This can be achieved by writing test scripts or using any automation testing tool. Test automation is used to automate repetitive tasks and other testing tasks which are difficult to perform manually.

Integration Tests

Integration testing is something in the middle. It combines a few components and tests more of the behaviour of a function, than its individual components. Integration tests are faster to execute and thus help us locate the problems and then manually fix them. Multiple aspects of one function can be observed in one single unit test. Personally these are my favorite type of tests, because there is not thing as 'too many' and although they run slower than a complete automation test, they really well fit my style of coding. My favorite thing to do in the evening is to run all N tests and see "Ran N tests. OK". If there are failures, I log them in the Kanban Board and leave them for tomorrow (or someone else) :D!

Conclusion

In my opinion for a project of this size with 2 people working on it, Integration tests provide the best ratio between both speed and accuracy of identifying the problem.

Clone this wiki locally