Over the next few weeks I’m going to cover some topics will help alleviate the pain of understanding the difference between different tests in application development.
The series will consist of the following articles:
- Unit Tests – Its not what most of you think.
- Integration Tests (in progress)
- Functional/Acceptance Tests (in progress)
- Regression Tests (in progress)
- Load Tests (in progress)
- and more
Disclaimer: I’ve had to explain this so many times that I figured I might as well type it out on my blog and send people the link to save myself time and to give friends a place to bookmark for reference. Also, these topics carry quite the heavy controversial and opinionated crowd – to the point where some people have vastly different opinions on what each of these topics actually mean (and some people WILL disagree with me and I’m ok with that). These are my opinions that I have gleaned from my years in the field utilizing various testing methodologies.
As a developer, when you’re first getting into testing your code via a testing framework you will start to notice that testing terms are thrown around like they’re ingredients in code soup. Unit, integration, functional, acceptance, regression, load, etc… WHOA, hold the phone buddy. What the …?!?! Confusion sets in immediately. You probably have an idea of “what” you want to do but you’re not sure of the actual name for it.
A lot of time developers will say “yeah, there are unit tests backing it up” when in fact those unit tests are actually repeatable “integration tests”. This is completely fine if this is what they meant to do. But unfortunately they don’t know what they are saying and they’re probably confusing themselves as well as their peers. I’m hoping this series will act as a reference for some people who are just getting started in testing from a developer standpoint. By no means is this a be-all/end-all series for testing, it is just meant as a springboard for developers just getting started. Testing (TDD in general) has a huge learning curve as it requires quite the paradigm shift to get started. This series will be refined as I find ways to improve it and it will be updated throughout time.
The end goal of this series is to help newcomers to the testing world identify the differences between the types of testing. I will also provide some examples of how to test in each of these scenarios (some more than others) and I will provide information about some of the tools that you can use in each of the testing categories.
Leave a Reply
You must be logged in to post a comment.