Description:

Full stack UI driven tests are routinely criticised and shown to be inefficient, wasteful and brittle. But what are the alternatives? How can we successfully move away from full stack tests and develop valuable automated tests? We can achieve this by using our knowledge of our systems along with task analysis techniques to identify opportunities to move away from fill stack tests and towards smaller, focused, tests that are more maintainable, give better feedback and are fast to run.

In this talk, I will introduce and demonstrate task analysis techniques that can help us break down a system. We will identify the different technologies a system is comprised of, the actions each technology carry out and their integration with other parts of the system. From there, we will learn how these actions and integrations can have automated tests run against them using a varied range of automation tools. Examples would include JavaScript unit tests for JS components, Visual comparison tests for rendered HTML and API tests for contract changes between services.

Through the demonstration of task analysis and range of tools, we will learn that by breaking down a complex action, we can identify and create multiple targeted tests that when ran together give us richer feedback and are more maintainable than a full stack test can.

Takeaways

By the end of this session, attendees will be able to:

  • Describe the task analysis process and its value when applied to complex systems
  • Break down a complex system using task analysis to identify specific system actions
  • Review specific system actions to help identify different automated testing activities
  • Produce automated tests that run against specific system actions that when combined give us a wider view of our systems current state