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

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

    View full-size slide

  2. Hi, I’m Jenny
    !

    Director of Quality Engineering, Pap
    a

    My pronouns are she/her
    .

    @jennydoesthings

    View full-size slide

  3. The Plan
    Expectation
    s

    Human/Machine Work Scal
    e

    Code Awareness Scal
    e

    Types of Automatio
    n

    Frameworks
    Part one: Automation is…
    @jennydoesthings

    View full-size slide

  4. The Plan
    Can this be automated
    ?

    Should this be automated
    ?

    How do we automate this?
    Part two: Soft Skills of Automation
    @jennydoesthings

    View full-size slide

  5. I am and have been many things
    .

    Mushroom seller, tester, speaker,
    goth, manager, troublemaker


    But not a developer.
    @jennydoesthings

    View full-size slide

  6. Part one
    :

    Automation is…
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  8. Expectations
    What do you want?
    @jennydoesthings

    View full-size slide

  9. Expectations
    Respect the manual tester
    .

    You know so much
    .

    Everything in your career has
    lead you here.
    @jennydoesthings

    View full-size slide

  10. What do you think
    Automation is?
    @jennydoesthings

    View full-size slide

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

    View full-size slide

  12. Automation is..
    UI test
    s

    Unit test
    s

    Integration test
    s

    Security scan
    s

    Low code/no code tool
    s

    Scripts
    @jennydoesthings

    View full-size slide

  13. This is a spectrum,
    not a binary.
    @jennydoesthings

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  17. @jennydoesthings
    Humans
    do most
    of the
    work
    Machines
    do most
    of the
    work
    Human/Machine Work Scale
    So, where are you?

    View full-size slide

  18. The future sees us
    moving towards more
    machine-assisted
    testing.
    @jennydoesthings

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

  24. @jennydoesthings
    No
    knowledge
    of code
    Full
    knowledge
    of code
    Code Awareness Scale
    So, where are you?

    View full-size slide

  25. The more comfortable
    we are with the code, the
    better prepared we are to
    test the code.
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  27. If you are already deeply
    code aware, you may
    want to work on skills
    that are less code aware.
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  29. Part two
    :

    Soft Skills
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  33. https://www.saucedemo.com/
    @jennydoesthings

    View full-size slide

  34. This was a very
    simple example.
    @jennydoesthings

    View full-size slide

  35. Sometimes,
    this is a guess.
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  37. Should this feature
    be automated?
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  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

    View full-size slide

  40. https://www.saucedemo.com/
    @jennydoesthings

    View full-size slide

  41. What does
    automating this
    look like?
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  43. https://www.saucedemo.com/
    @jennydoesthings

    View full-size slide

  44. Bonus soft skill
    :

    Be lazy.
    @jennydoesthings

    View full-size slide

  45. Wait, no.
    @jennydoesthings

    View full-size slide

  46. Bonus soft skill
    :

    Don’t over-
    automate.
    @jennydoesthings

    View full-size slide

  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

    View full-size slide

  48. Any questions?
    @jennydoesthings

    View full-size slide

  49. Find me online!
    [email protected]
    http://twitter.com/jennydoesthings
    https://linkedin.com/in/jennybramble
    http://jennydoesthings.com
    Papa!

    View full-size slide

  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

    View full-size slide