How do the different words we use to describe a system, change the way that we think about that system? Can we describe the Application Under Test differently and change the way that we think about it?
One exercise I tried recently was to think of different words to describe the software that I was testing and to see how that affected my thinking about that software.
I found that I was able to take different views of the software when I applied a different description. And different views allowed me to quickly identify different aspects of the software to test.
This was different from a heuristic approach as I was inferring, from the description, aspects of the software which I could then use to trigger thoughts about testing. It seems to me that this is one way to identify heuristics from first principles.
Example words I used : Application, System, Software, Solution, [Name], [Name Version X]
- Try the words out for yourself and see what happens.
- Identify more descriptive words and phrases for the software and see what happens
A classic piece of humorous writing on the use of words and language can be found in 'Through the Looking Glass', by Lewis Carroll. I find chapter 6, with Humpty Dumpty, to be particularly entertaining. There are plenty of editions online and I've linked to just one, purely arbitrarily, at literature.org 
`My name is Alice, but --'
`It's a stupid name enough!' Humpty Dumpty interrupted impatiently. `What does it mean?'
`Must a name mean something?' Alice asked doubtfully.
`Of course it must,' Humpty Dumpty said with a short laugh: `my name means the shape I am -- and a good handsome shape it is, too. With a name like yours, you might be any shape, almost.'
Through the Looking Glass, by Lewis Carroll, CHAPTER VI, HUMPTY DUMPTY 
'I'm Testing ...'Below are notes on what some of the descriptive words that I use to describe systems do for me. They may do a very different thing for you. And I guess that is to be expected, words are ambiguous.When I say that I'm Testing [Insert Name of Software Here], that may not mean very much. It may not mean much to other people if they don't know the name, and it certainly doesn't expose the level of knowledge that I have about the system. What it can do for me is get me thinking in terms of the superficialities, of the first things that come to mind:
- the adverts,
- the basic feature set,
- what general kind of things need to be tested
- basic requirements
If I extensionalise the name and give it some extra meta-tag information (in this case the version number): I'm testing [Name of Software] version A.B. Then I start to think about:
- changes in this version,
- what needs to be tested specifically in this version?
- what the requirements were for this version?
- have all the necessary changes been made?
- Delivery dates and timescales.
When I call the Application a 'System' I start to think about
- an integration of parts,
- data syntax,
- flow through the system
When I call the Application 'Software' I start to think of it as a thing:
- which runs on an operating system (what versions),
- interfaces with hardware (disk),
- data semantics
- common elements to software (instruction manual, box, help file,
When I call the Application a 'Solution', I think:
- for whom?
- for what problem?
And when I say 'Application' I'm thinking:
- apply it to what?
- Use it for what?
- How can I apply it?
- What functionality does it have?
`But "glory" doesn't mean "a nice knock-down argument",' Alice objected.
`When I use a word,' Humpty Dumpty said, in rather a scornful tone, `it means just what I choose it to mean -- neither more nor less.'
`The question is,' said Alice, `whether you can make words mean so many different things.'
`The question is,' said Humpty Dumpty, `which is to be master -- that's all.'
Alice was too much puzzled to say anything; so after a minute Humpty Dumpty began again. `They've a temper, some of them -- particularly verbs: they're the proudest -- adjectives you can do anything with, but not verbs -- however, I can manage the whole lot of them! Impenetrability! That's what I say!'
Through the Looking Glass, by Lewis Carroll, CHAPTER VI, HUMPTY DUMPTY
No Answers, Just ExercisesAs an exercise for the reader... Now, what happens when you add some positive and negative phrases about the software to your descriptions?
- Festering pile of bad code: are you positively motivated to test it yet?
- Fantastic piece of software with just a few minor flaws: are you working hard to stress the software yet?
Answer the following questions and see what happens.
- Can the state that you approach the thinking about software change the way that you think about the testing of it? I think that it can.
- What words are you using to describe software?
- What states are you in when you use those words?
- How linked are the states and the words?