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. We can increase our ability to test an application by

    using tools and understanding the technology. @EvilTester 3
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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