Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is Testability vs Automatability? How to improve your Software Testing.

What is Testability vs Automatability? How to improve your Software Testing.

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.

You can watch the video that explains this all in more detail at https://youtu.be/gL8hmAH4ZGM

Alan Richardson

January 12, 2018
Tweet

More Decks by Alan Richardson

Other Decks in Programming

Transcript

  1. Testability vs Automatability
    Alan Richardson
    www.eviltester.com
    www.compendiumdev.co.uk
    @eviltester
    @EvilTester 1

    View Slide

  2. If we can test an application then it is
    testable.
    @EvilTester 2

    View Slide

  3. We can increase our ability to test an
    application by using tools and
    understanding the technology.
    @EvilTester 3

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  10. End
    Alan Richardson www.compendiumdev.co.uk
    Linkedin ‐ @eviltester
    Twitter ‐ @eviltester
    Instagram ‐ @eviltester
    Facebook ‐ @eviltester
    Youtube ‐ EvilTesterVideos
    Pinterest ‐ @eviltester
    Github ‐ @eviltester
    Slideshare ‐ @eviltester
    @EvilTester 10

    View Slide

  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

    View Slide