$30 off During Our Annual Pro Sale. View Details »

Soft Skills of Automation

Soft Skills of Automation

Automation starts long before you open your IDE. Before you write the first line of code or inspect the first element, you need to develop a mindset that leads you to create good automation. You need the Soft Skills of Automation.

In this workshop, we will work on creating a framework for ourselves to start thinking about our testing as our framework does. We’ll start by interrogating the manual testing that we do and shaping it to automation. This includes teaching ourselves how to look at a page as a computer would and then determining how we can step through the elements.

We will move on to talking about and creating tests using pseudocode and talking about what kinds of results we can expect from our automation.

When you leave this workshop, you will have a good idea of what it takes to think automation first, what types of testing are appropriate for automation, and what types of information we can get from automation.

Jenny Bramble

January 13, 2022
Tweet

More Decks by Jenny Bramble

Other Decks in Technology

Transcript

  1. Jenny Brambl e @jennydoesthing s Director of Quality Engineerin g

    Papa The Soft Skills o f Automation
  2. Hi, I’m Jenny ! Director of Quality Engineering, Pap a

    My pronouns are she/her . @jennydoesthings
  3. The Plan Expectation s Human/Machine Work Scal e Code Awareness

    Scal e Types of Automatio n Frameworks Part one: Automation is… @jennydoesthings
  4. The Plan Can this be automated ? Should this be

    automated ? How do we automate this? Part two: Soft Skills of Automation @jennydoesthings
  5. I am and have been many things . Mushroom seller,

    tester, speaker, goth, manager, troublemaker … But not a developer. @jennydoesthings
  6. Part one : Automation is… @jennydoesthings

  7. Expectations Find your place in the world . Gain a

    deeper understanding of automation . Start practicing automation-first mindsets . We’re not gonna code today. @jennydoesthings
  8. Expectations What do you want? @jennydoesthings

  9. Expectations Respect the manual tester . You know so much

    . Everything in your career has lead you here. @jennydoesthings
  10. What do you think Automation is? @jennydoesthings

  11. Automation is testing in which machines do most of the

    work. @jennydoesthings
  12. Automation is.. UI test s Unit test s Integration test

    s Security scan s Low code/no code tool s Scripts @jennydoesthings
  13. This is a spectrum, not a binary. @jennydoesthings

  14. I call this the Human/Machine Work Scale. @jennydoesthings

  15. @jennydoesthings Humans do most of the work Machines do most

    of the work Human/Machine Work Scale
  16. @jennydoesthings Humans do most of the work Machines do most

    of the work Human/Machine Work Scale Unit tests Explora - tory testing Access - ibility testing API testing Load testing Pen testing CI/ CD Manual testing
  17. @jennydoesthings Humans do most of the work Machines do most

    of the work Human/Machine Work Scale So, where are you?
  18. The future sees us moving towards more machine-assisted testing. @jennydoesthings

  19. Our next concept is the Code Awareness Scale. @jennydoesthings

  20. @jennydoesthings No knowledge of code Full knowledge of code Code

    Awareness Scale
  21. @jennydoesthings No knowledge of code Full knowledge of code Code

    Awareness Scale Unit testing Black box testing
  22. @jennydoesthings No knowledge of code Full knowledge of code Code

    Awareness Scale Unit testing Black box testing
  23. @jennydoesthings No knowledge of code Full knowledge of code Code

    Awareness Scale API tests Gherkin or cucumber Access - ibility Testing refactors UI tests Unit testing Black box testing
  24. @jennydoesthings No knowledge of code Full knowledge of code Code

    Awareness Scale So, where are you?
  25. The more comfortable we are with the code, the better

    prepared we are to test the code. @jennydoesthings
  26. Moving towards being more code-aware Learn to code…or at least

    read code . Learn the SDLC at your company . Learn Git or other versioning . Get deep into logs and analytics . Review unit tests. @jennydoesthings
  27. If you are already deeply code aware, you may want

    to work on skills that are less code aware. @jennydoesthings
  28. Moving towards being less code-aware Practice strict exploratory testing with

    charter s Run a bug bas h Review manual test case s Get involved in UAT or accessibility testin g Teach someone else to use the app @jennydoesthings
  29. Part two : Soft Skills @jennydoesthings

  30. Principles of Automation • Test design emphasizes reliability, value, and

    speed . • Collaboration determines what types of tests to write . • Features must be written to be testable . • Code reviews are for everyone . • Automation code is production code. @jennydoesthings
  31. What are your goals? • Fulfilling a personal goal or

    professional growt h • Getting regression down from 8 hour s • Increase confidence in our release s • Prevent show stopper bug s • Support the team in working better together @jennydoesthings
  32. Can this be automated? • What are the inputs to

    the system ? • What variables act on the system ? • What data do we need ? • Is it written in a testable way? @jennydoesthings
  33. https://www.saucedemo.com/ @jennydoesthings

  34. This was a very simple example. @jennydoesthings

  35. Sometimes, this is a guess. @jennydoesthings

  36. Can this be automated? • Think about if the UI

    changes dramatically between runs . • Are there elements that are hard to automate ? • Can we tell if it breaks ? • Is it valuable? @jennydoesthings
  37. Should this feature be automated? @jennydoesthings

  38. Should this be automated? • What’s already automated ? •

    Is this a good candidate for automation ? • Is this a good candidate for another type of automation ? • Do we have time and resources? @jennydoesthings
  39. @jennydoesthings Unit tests can hit all the logical branching in

    your code and confirm that given inputs return expected outputs. They can’t speak to the interactions between unrelated code paths or inputs, but in isolation, they tell us a certain unit of code works like we intend. @iamsellek Other types of automation
  40. https://www.saucedemo.com/ @jennydoesthings

  41. What does automating this look like? @jennydoesthings

  42. What does automating this look like? • What elements do

    we need to interact with ? • What steps does a computer need to take beyond what a human does ? • What data does the test need ? • What setup does the test need? @jennydoesthings
  43. https://www.saucedemo.com/ @jennydoesthings

  44. Bonus soft skill : Be lazy. @jennydoesthings

  45. Wait, no. @jennydoesthings

  46. Bonus soft skill : Don’t over- automate. @jennydoesthings

  47. Next Steps • Set a goal to create automation-ready implementations

    . • Write pseudo code and have it reviewed by other testers . • Earmark test cases for automation (include reasoning! ) • Start learning (shout out to TAU! ) • Pair with developers . • Start looking at unit tests. @jennydoesthings
  48. Any questions? @jennydoesthings

  49. Find me online! jenny.bramble@gmail.com http://twitter.com/jennydoesthings https://linkedin.com/in/jennybramble http://jennydoesthings.com Papa!

  50. Credits This is where you give credit to the ones

    who are part of this project . • Presentation template by Slidesgo • Icons by Flaticon • Infographics by Freepik • Images created Freepi k • Author introduction slide photo created by Freepi k • Text & Image slide photo created by Freepik.com