Testability is different from Automatability.
- Testability - does the application have features that make it easier for a human to test?
- Automatizability (Automatability) - does the application have features that make it easier to control and interrogate by another application.
You will learn:
- What is Testability?
- What is automatability?
- What is automatizability?
- Adding testability features can introduce risk.
- Features that aid automated execution, can overlap with features that aid testing, but they are not the same.
2. If we can test an application then it is
testable.
@EvilTester 2
3. We can increase our ability to test an
application by using tools and
understanding the technology.
@EvilTester 3
4. Some technologies are easier to test
than others, they have a higher intrinsic
testability.
This is a subjective assessment.
I find a web app more testable than a mobile app or a green
screen app.
more tools support my testing of the web technology and
mobile technology
ergonomics and usability of the web technology are easier
for me to test than the mobile app
etc.
@EvilTester 4
5. We can increase the testability of an
application by adding features to help us
test it more easily.
This makes the application more testable.
Some of the features might help usability.
@EvilTester 5
6. Testability is not Automatizability
Testability ‐ does the application have features that make it
easier for a human to test?
Automatizability ﴾Automatability﴿ ‐ does the application have
features that make it easier to control and interrogate by
another application.
@EvilTester 6
7. The features we add to make it more
testable are not necessarily the same
features that we add to make it more
automatable.
e.g. logging
Improved testability by logging that shows hard to observe
messages or internal state transitions or variables
the logging might improve Automatizability if it is parsable
and accessible by another program
@EvilTester 7
8. The features we add might come with
Risks.
It might impact Usability if it clutters the screen or confuses the
user so the user needs to be able to choose if they see it or not
It might impact security if it gives away too much information
so we need to be able to switch it off the ability to see it for
specific users, or environments
It might impact performance, so we might need to only have it
run on specific environments
@EvilTester 8
9. Summary:
Testability is not Automatizability ﴾Automatability﴿
Testability relates to Human interaction
Automatizability relates to application interaction
Some technologies are more testable than others because of
tool support and usability
Application testability can be increased by adding specific
features to support testing
Testability features might overlap Automatizability features
Application automatizability supports programmable
observation, interrogation and manipulation
@EvilTester 9
11. BIO
Alan is a Software Development and Testing Coach/Consultant who
enjoys testing at a technical level using techniques from
psychotherapy and computer science. In his spare time Alan is
currently programming a Twitter client called ChatterScan, and
multi‐user text adventure game. Alan is the author of the books
"Dear Evil Tester", "Java For Testers" and "Automating and Testing a
REST API". Alan's main website is compendiumdev.co.uk and he
blogs at blog.eviltester.com
@EvilTester 11