Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This question already has an answer here:

I heard the terms "application-level testing" and "system-level testing". I think I know the difference, but I am not sure. I tried to do some research on the internet, but the closest explanation of the difference that I can find is this http://en.wikipedia.org/wiki/Software_testing#Unit_testing (unit testing and system level testing).

Does application-level testing mean the same as unit testing? This is not a homework question, I am just wondering if they are the same.

I am a student and still learning, I appreciate your help! Thanks.

share|improve this question

marked as duplicate by gnat, GlenH7, Dynamic, MichaelT, Dan Pichelman Jul 16 '13 at 13:28

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

even better duplicate is: Software Testing Techniques –  gnat Jul 19 '13 at 0:04
add comment

1 Answer

I would say that those terms are not set in stone and thus tend to vary depending on who you ask. The only valid version is the version used by the organisation for which you work. Since you are a student that would mean just use whatever your teacher tell you is the definition, if you ever have to think about it in a course.

In my own organisation those term are not much used, and we (internally) use a variation of the test used by the "Growing Object Oriented Software" book (very recommanded read).

We have

  • Unit test : a single part of your own code cut from every dependencies
  • Integration test : same as unit test but for the code that must interact with an external component/library
  • Functional end-to-end test : the whole application tested via the inputs/outputs

We simply don't use at all the terms application testing and system testing.

So to get back to your question : don't stress too much over the definition of those terms. To paraphrase what a software vendor once said "It means whatever the customer think it means". If you ever work for an organization that use those terms, just use their definition.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.