Come on testers, let’s make up our minds and all agree on one term to refer to the software we are testing.  The variety in use is ridiculous.

I’ve heard the following used by industry experts:

  • PUT (Product Under Test)
  • SUT (System Under Test)
  • AUT (Application Under Test)
  • Product, Software, Application, etc.

Today I declare “SUT” the best term for this purpose! 

Here’s my reasoning: “PUT” could be mistaken for a word, not an acronym.  “AUT” can’t easily be pronounced aloud.  “SUT” could be translated to “Software Under Test” or “System Under Test”, but each honor the intent. The software we are paid to test is a “Product”…but so is Quick Test Pro, Visual Studio, and SQL Server.

“What’s the big deal with this term?” you ask.  Without said term, we speak ambiguously to our team members because we operate and find bugs in all classes of software:

  • the software we are paid to test
  • the software we write to test the software we are paid to test (automation)
  • the software we write our automation with (e.g., Selenium, Ruby)
  • the software we launch the software we are paid to test from (e.g., Window7, iOS)

If we agree to be specific.  Let’s also agree to use the same term.  Please join me and start using “SUT”.

4 comments:

  1. p19z said...

    How about MUT? Module under test.. no only kiddin'

    No, seriously System and Application are not synonyms. A system can be made of multiple applications. You can have
    - a fairly narrow test that targets only one application (which could in fact be considered as a sub-system, I agree)
    - or a broader intergration test that targets a whole system within or without its environment.

    I agree PUT is crap, never even heard that one. But, with "scopes" in mind, I see AUT as a meanigful distinction to SUT.

    "application under test" - 437,000 results
    "system under test" - 1,250,000 results
    "product under test" - 470,000 results

  2. Eric Jacobson said...

    Cool search stats, Patryk!

    Yeah, I agree with the distinction you make between AUT and SUT. You will always have a AUT but not always have a SUT. Dammit! You just convinced me to change my mind. I've gone full circle, if you look at all my old posts on this blog, I used to use AUT.

    Sigh....

  3. thecodedetective said...

    PUT? Surely a product manager made this up?

    If we are being pedantic, SUT should win hands down. Yes, an application could be a sub system, but a sub system is also a system. SUT is also used by organisation such as ISTQB throughout their views on software testing to removing confusion from the subject matter. Given their prominence in the industry you would expect the use of SUT to be the norm.

    However, in my experience, AUT is used primarily when we are talking about functional, performance, or acceptance testing, and SUT when talking about integration testing, I guess this is a natural way to, again, remove confusion from what our test target actually is.

  4. Anonymous said...

    S could also stand for "Stuff". "Stuff Under Test" sure beats "Thingy Under Test" (TUT). :)



Copyright 2006| Blogger Templates by GeckoandFly modified and converted to Blogger Beta by Blogcrowds.
No part of the content or the blog may be reproduced without prior written permission.