Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any trusted, verified and regarder classification of testing? The discrepancies I talk about are like:

Functional testing =testing against documentation/requirements to verify functions of the SW

This is obviously not true as non-functional requirements can be also stated like performance requirements etc and thus testing it would be rather functional testing (of non functional requirements).

Or consider exploratory testing, it is apparently functional testing but based on your ideas that come from the expected functionality (or vice versa, you try to brake it).

share|improve this question
I could just answer this with a 'no' but instead I'll akk you why you are asking and what you will do with the anwser ? Do you think there is one ? – Phil Kirkham Jul 10 '12 at 20:49
@Phil Kirkham I would just like to know, especially about exploratory testing. I do think it is functional testing (testing functionality), however there are no documents so it does not fit the definition well.. – Pietross Jul 11 '12 at 6:26
so you've found one definition of functional testing and are confused because exploratory does not fit in with that definition ? Do you agree with the definition of functional testing, could you find others ? Why does it matter that exploratory doesn't match that definition ? – Phil Kirkham Jul 11 '12 at 13:11

For the actual question you asked - I don't know of any good source of testing definitions or classifications. When in doubt, ask the speaker what he or she means. If the definition given doesn't seem to match the obvious definition, question it - although not necessarily to the speaker (especially if that person is your boss). SQA.SE is a good place to ask to get a feel for how the term is used throughout the industry, IMO.

As for what functional testing and exploratory testing are -

Functional testing and exploratory testing examine two different aspects of classifying tests: What, and how.

"Functional" describes WHAT we test - functionality. Functionality, performance, security, deployability are all terms that describe WHAT aspect of the SUT we are examining.

"Exploratory" describes HOW we test - by exploring the system under test. Scripted, exploratory, with fuzzing, automatically, and manually are all terms that describe HOW we test the SUT.

You can test performance in an exploratory manner, e.g., by wandering through a website with a stop watch. You can test security in an automated manner by creating automated testcases that attempt common security attacks. And so on.

The definition you gave is an over-simplification of functional testing that conflates the "what" - testing functionality - with one part of the "how" - stepping through a requirements document and verifying each of the pieces of functionality that it mentions. This is a common way of performing functionality testing, but it is not the only way. As you mentioned, requirements can include more than functionality, and functional testing does NOT necessarily require documents. In some companies, the main documentation of the requirements is the tests - that's the premise behind Cucumber.

BTW, the inconsistency of software testing definitions throughout the industry is a common source of frustration. It's not just you.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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