Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
198 views
23 slides
Jun 21, 2024
Slide 1 of 23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
About This Presentation
So… you want to become a Test Automation Engineer (or hire and develop one)? While there’s quite a bit of information available about important technical and tool skills to master, there’s not enough discussion around the path to becoming an effective Test Automation Engineer that knows how to...
So… you want to become a Test Automation Engineer (or hire and develop one)? While there’s quite a bit of information available about important technical and tool skills to master, there’s not enough discussion around the path to becoming an effective Test Automation Engineer that knows how to add VALUE. In my experience this had led to a proliferation of engineers who are proficient with tools and building frameworks but have skill and knowledge gaps, especially in software testing, that reduce the value they deliver with test automation.
In this talk, Lee will share his lessons learned from over 30 years of working with, and mentoring, hundreds of Test Automation Engineers. Whether you’re looking to get started in test automation or just want to improve your trade, this talk will give you a solid foundation and roadmap for ensuring your test automation efforts continuously add value. This talk is equally valuable for both aspiring Test Automation Engineers and those managing them! All attendees will take away a set of key foundational knowledge and a high-level learning path for leveling up test automation skills and ensuring they add value to their organizations.
Size: 593.69 KB
Language: en
Added: Jun 21, 2024
Slides: 23 pages
Slide Content
Path to Becoming an Effective Test
Automation Engineer
Lee Barnes
Chief Quality Officer, Forte Group
About Me…
•Chief Quality Officer of Forte Group
•Involved in software quality and testing for over 30 years
•Most of that time focused on test automation and performance
testing
•Passionate about helping organizations build quality into their
applications
Email: [email protected]
Twitter: @USI_LeeBarnes
LinkedIn: linkedin.com/in/leebarnes
@USI_LeeBarnes 2
Current State of Test Automation
Image Source: 2022-23 World Quality Report
Three most important factors in determining test automation approach
@USI_LeeBarnes 3
What Does Effective Test Automation Look Like?
•Supports software development and business objectives
•Includes high value activities / tests
•Reliable and provides fast feedback
•Continuous improvement
•Allows testers to focus on high-value testing tasks finding problems
@USI_LeeBarnes 4
Testing Techniques | Test Design | Domain
Knowledge | Application Knowledge
Programming | Design Techniques | Automated
Test Design | General Tech Skills
Test Automation Technology / Tooling
What is an Effective Test Automation Engineer?
@USI_LeeBarnes 5
“Show me an effective SDET and I’ll show you a developer with the heart of a tester” – Scott Moore
Curious | Analytical | Intuition
Effective Communicator | Love of Learning
Foundational Characteristics & Skills
Software Testing Skills
Technical Skills
Tooling
Programming | Design Techniques |
Automated Test Design | General
Tech Skills
Test Automation Technology / Tooling
What’s the Reality?
@USI_LeeBarnes 6
Tooling
Technical Skills
7
How Do We Get
There from Here?
@USI_LeeBarnes
Finding Your Starting Point
@USI_LeeBarnes 8
Self
Assessment
Mind Map
Test
Automation
Skills
Automated
Test Design
Tooling
Landscape
UI
Automation
API
Automation
General Tech
Skills
CI/CD
Technologies
Web
Technologies
Test Data
Management
Database
Basics
Operating
Systems
Programming
Skills
Version
Control
Object
Oriented
Programming
Software
Design
Patterns
Software
Testing
Skills
Risk
Assessment
Test Types
Test Design
Techniques
Value
Assessment
Plotting Your Path
@USI_LeeBarnes 9
Start at YOUR
beginning
Keep Focus on the Northstar…
Adding Value!
Software Testing
Skills
General Tech
Skills
Programming
Skills
Test Automation
Skills
10
How Do We Get
There from Here?
@USI_LeeBarnes
Software Testing
Skills
Typical Approach to Software Testing
@USI_LeeBarnes 11
Requirements Tests Execution
•Created in a vacuum
•Missing acceptance
criteria
•Incomplete
•Ambiguous
•Scripted test steps
•Shallow verification
•UI heavy
•Executed / automated by
someone other than the
test author
•Shallow results analysis
Maximum Work and Minimum Value
Learn the Craft of Software Testing
•Understand the importance of viewing testing as a craft that requires
specialized skills
•Learn the levels of testing (unit, integration, etc.) and how they
complement each other
•Learn a variety of testing techniques and when to use them
•Understand how to add value throughout the software delivery cycle
•Learn how to communicate the value of testing to product
stakeholders
@USI_LeeBarnes 12
Software Testing Learning Path
@USI_LeeBarnes 13
Books
•Software Testing Techniques (Beizer)
•The Craft of Software Testing (Marick)
•Software Testing: A Craftsman’s Approach
(Jorgensen)
•Testing Computer Software (Kaner)
•Perfect Software and Other Illusions About
Testing (Weinberg)
•Pragmatic Unit Testing (Langr, Hunt and
Thomas)
•Testing Object Oriented Systems (Binder)
Software Testing Fundamentals and Techniques
Online
•Ministry of Testing (testing community)
•Thinking Tester (testing focused blog)
•Visible Quality (testing & QA focused blog)
•Developsense Blog (testing focused blog)
•Satisfice Blog (testing focused blog)
•Google Testing Blog (testing focused blog)
Software Testing Learning Path
@USI_LeeBarnes 14
Books
•Practical Guide to Testing in DevOps (Clokie)
•Agile Testing: A Practical Guide for Testers in
Agile Teams (Crispin and Gregory)
•More Agile Testing (Crispin and Gregory)
Software Testing in Modern Software Development
Online
•Lisa Crispin blog (Agile testing focused blog)
•Katrina the Tester (DevOps testing focused
blog)
•Continuous Testing and DevOps (DevOps
testing focused blog)
•Agile Testing Fellowship (Agile testing
focused community with blog & training
courses)
15
How Do We Get
There from Here?
@USI_LeeBarnes
Test Automation
Skills
Typical Approach to Test Automation
@USI_LeeBarnes 16
Tool / Framework Automate Tests Execution
•Start with tool /
framework focus
•Over engineer
•Ignore important
foundational factors for
success
•Automate existing
scripted test steps
verbatim
•Scope limited to
executing tests
•UI heavy
•Executed late in the sprint
(or next sprint)
•Flaky execution /
irrelevant failures
•Inefficient results triage
Maximum Work and Minimum Value
Learn the Craft of Test Automation
•Understand that test automation is a process, NOT a tool or
framework
•Automate testing activities to further software development goals,
not for the sake of automation
•Learn how to assess your readiness to succeed with test automation
•Learn test automation design techniques to ensure reliability and
maintainability
•Learn how to communicate the value of test automation to product
stakeholders
@USI_LeeBarnes 17
Are You Ready to Succeed?
Purpose Dependencies Constraints Pipeline / ExecutionEnvironment / Data
What business goal
does this test suite
support?
What business risk
does this test suite
mitigate?
What systems or
tools must be in
place for this test
suite to run
successfully?
What can prevent us
from implementing
this test suite in an
ideal way?
Will this test suite be
part of a pipeline?
When will it be
triggered?
How often will it
run?
What environment
will the test suite run
in?
How will test data be
managed?
Ownership and Response Maintainability Effectiveness
Who will create the test suite?
Who should own it?
Who will address test failures and
how?
What will the process be to review
code?
What documentation needs to
exist?
How will we know the test suite is
effective?
Test Suite Canvas – questions to help you think critically about test automation readiness
- Ashley Hunsberger (adapted from original concept by Katrina Clokie)
@USI_LeeBarnes 18
Automated Test Design
•Interact with the application in the most direct way
•UI level for testing UI mechanics
•API / component level for testing variations on the backend components
•Consider contract style tests vs. end-to-end automation across
systems
•Avoid automating existing test steps verbatim – find the most
efficient way satisfy test objectives with automation
•Provide actionable feedback to facilitate test failure analysis
@USI_LeeBarnes 19
Take a Context-Driven Approach
•Don’t let your current tools / knowledge be your hammer and make
every automation opportunity look like a nail
•Consider all testing activities for automation – not just scripted test
steps
•Broaden your definition of what a test automation “tool” is – use the
right tool for the job
•Think critically about your automation scope – focus on high-value
tests
@USI_LeeBarnes 20
Test Automation Learning Path
@USI_LeeBarnes 21
Online
•Automation In Testing (test automation
focused site with training, practice site, and
blog)
•On Test Automation (test automation
focused site with training, free workshops
and blog)
•Test Automation University (site with a
wide variety of free test automation
courses)
•Test Guild (online community dedicated to
test automation)
•Evil Tester (testing and test automation
focused site with many resources)
Test Automation Fundamentals and Techniques
•Automation Panda (a software
development, testing and test automation
focused site – includes a current list of sites
to practice your test automation skills)
Key Takeaways
•There is not a single path to becoming an Effective Test Automation
Engineer
•Effective test automation is built on a foundation of software testing
expertise
•Keep focused on adding value as you progress down your path
•Continuously improve!
•Understand that test automation (and software testing!) is much
more than executing scripted test steps
@USI_LeeBarnes 22
Continuing the Conversation
Lee Barnes
Chief Quality Officer
Forte Group
Email: [email protected]
Twitter: @USI_LeeBarnes
LinkedIn: linkedin.com/in/leebarnes
@USI_LeeBarnes 23