I find the concept of 'integration testing' confusing. There seems to be quite a few explanations and scopes:
I begin to see integration testing as an umbrella term (as opposed to defining it in programming talks, where specific/strict meaning is often given to it):
In Maven default lifecycle, there is only 'test' and 'integration-test' phases. This seems to split the tests into roughly two categories and would go along with these assumptions.
There are many existing questions and answers looking for differences between unit testing, functional testing, regression testing, etc. in general. However, I am looking for more specific answer regarding integration tests: how do you categorize integration testing and what do you include inside it? Also, do you shun splitting software testing roughly into two categories as I have done: unit tests (1 unit) vs. integration tests (2+ units)?
Computing is full of overloaded terms that have a slightly (and sometimes not so slight) different meaning to any programmer you talk to. Integration testing is one of those.
I tend to favour your interpretation of integration testing as testing 2 or more units plugged together. But this is still rather fuzzy as we may have different definitions of what a 'unit' is.
I think it's more important that a team of developers agree on what they mean by integration testing rather than finding the one true definition of integration testing.
My team sees (using your words), integration testing as covering
and nothing else. System tests and acceptance tests we see as different families.
we had some lengthy discussions on this, to make sure that we were all speaking the same language when we talked about tests.
I'm not strongly disagreeing with what you define as integration tests, but I'm just saying that it's nice if all the people you're working with agree on a classification.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With