In a recent discussion with some of my colleagues, we talked about the evolution from user experience (UX) to developer experience (DX) – the latter being increasingly important when building software components and APIs that are to be consumed by developers.
A developer’s experience when adopting your APIs needs to be as positive as possible, which includes everything from great documentation, a quick startup time and technical alignment with their expertise and expectations. It occurred to us that a complementary extension of these concepts would be TX – Tester Experience – aiming at providing testers and QA professionals the best possible experience when tasked with testing and debugging a target system.
We didn’t stop at coining a new cool term though – we actually gave it some more thought.
Let’s try to be a little more formal regarding the three terms we are playing with:
Not surprisingly, these three overlap to a certain extent.
UX and DX are both targeted at external consumers of an IT system or component, but with somewhat different needs and motivations. TX, on the other hand, mainly targets internal resources, and although TX shares some components with both UX and DX – there are several aspects unique to TX:
TX vs Testability
Testability – how easy it is to test a product - is a well-known aspect of system design including things like:
(see this PDF for a more detailed overview).
Although testability definitely has a big part to play in TX, we felt there are some aspects of TX that it doesn’t cover, for example:
Great TX requires the unconditional inclusion of testers and QA in the entire product lifecycle: requirements, architecture/development and operations.
Great TX empowers testers to give special attention to requirements:
Great TX clearly defines the primary persona (target user group) and expected usage of a system – allowing testers to understand for whom the application is intended and challenge if that target is met
Great TX mandates that testers have full insight into a system under test (this is also covered by testability but deserves a special mention), achieved through
Great TX gives testers full access to key people in the team;
Great TX mandates the existence of dedicated testing environments that are
None of these should be seen as unreasonable or unobtainable, and many are in line with common development best practices.
James Bach created an insightful (and entertaining) overlay to “The Towering Inferno” that uses Steve McQueen’s character as a metaphor for the consulting software tester tasked with solving an acute crisis - it’s all about testability and tester experience – don’t hesitate to check it out and relate it to the TX concept – do they align in your mind?
Dude, it's all about attitude
Ultimately, the key to providing great TX is a lot about attitude; value testing and your testers, meet them with openness and respect - just as you would do with your other team members and users, and as an added bonus - great UX or DX is likely to follow.
Have you had that great tester experience? Does the term make sense for you? Please share your thoughts and experiences with us to see if TX is a term worth pursuing – thank you!