Education and Training of Highly-skills Software Test Engineers (insights from 20+ years of experience)
By:
Vahid Garousi, PhD, PEng
Queen’s University Belfast, UK
Bahar Software Engineering Consulting Corporation, UK
www.vgarousi.com
Event:
BCS Software Testing specialist group (SIGIST)
https://www.bcs.org/events/2020/november/webinar-testing-apprentice/
Date:
November 3, 2020
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Education and Training of Highly-skills Software Test Engineers
1. 1Dr. Vahid Garousi
Education and Training of Highly-skills
Software Test Engineers
(insights from 20+ years of experience)
Vahid Garousi, PhD, PEng
Queen’s University Belfast, UK
Bahar Software Engineering Consulting Corporation, UK
v.garousi@qub.ac.uk
www.vgarousi.com
@vgarousi
A presentation for:
November 3, 2020
Duration: 20 minutes
2. 2Dr. Vahid Garousi
Outline
Who am I?
State of software-testing education (universities) and
training (industry)
How do we provide the most effective education and
training?
More resources
3. 3Dr. Vahid Garousi
Who am I?
Education:
PhD in Software Engineering, Carleton University, Ottawa, Canada, 2006
MSc in Computer Engineering, University of Waterloo, Canada, 2003
BSc in Software Engineering, Sharif University of Technology, Tehran, Iran, 2000
Work experience:
Academia (Associate Professor), since 2006 in four countries
Managing Consultant, Bahar Software Engineering Consulting, since 2001-
Software Engineer, Offshore office of Corsha Software Inc., Quebec, Canada,
1998-2001
4. 4Dr. Vahid Garousi
My own experience in software testing
I first conducted “systematic” manual testing (using documented test
scenarios-in Word) in 1998
Developed my first automated test suite in 1999, using the tool: IBM
Rational Functional Tester
It was (is) a record-playback tool
Corsha Software Inc., 1999
5. 5Dr. Vahid Garousi
15+ years of experience in providing software-testing education and
training
… since 2005 in both academia and industry, internationally
By a rough estimate, I have trained more than 1,000+ students in
university settings, and more than 200+ employed software testers
(test engineers) in industry
Remote online education and training
during COVID, Summer 2020
(seen above: Teaching model-based
testing)
6. 6Dr. Vahid Garousi
Outline
Who am I?
State of software-testing education (universities) and
training (industry)
How do we provide the most effective education and
training?
More resources
7. 7Dr. Vahid Garousi
State of software-testing education (universities) and training (industry)
There is a HUGE demand, and market for software testing training:
8. 8Dr. Vahid Garousi
State of software-testing education (universities) and training (industry)
People who become software testers have either learned about
software testing in their university and/or via training in industry, self-
learning, etc.
And of course, in our field, everyone has to constantly learn new
things (to keep it), so the picture is very dynamic
May or may not
include testing in
curriculum
Employed
as
Industrial training /
certificates in
software testing
Non-SE/CS/IT
graduates
Higher education
(universities):
Non-SE/CS/IT degrees
Produce
Produce
Software
engineering
professionals
Self-learning
(self-training) in
software testingGraduates Sometimes
get
Sometimes
get
May change jobs
SE/CS/IT graduates:
with varying degrees
of software testing
skill-set
Higher education
(universities):
SE/CS/IT degrees
Sometimes
get
Software
engineering
activities in practice
Engaged in
Such as software
Development, testing
and requirements
engineering
To do a better job in
software testing, and/or to
find better positions
Self-taught
software engineers
Without university
education,
Apprenticeship, ...
9. 9Dr. Vahid Garousi
State of software-testing education (universities) and training (industry)
Many important questions to ask, and to answer:
What testing topics shall we train our trainees?
How we should train?
For trainees with different backgrounds, how should we
answer he above questions?
How much focus on testing “concepts” versus test “tools”?
…
May or may not
include testing in
curriculum
Employed
as
Industrial training /
certificates in
software testing
Non-SE/CS/IT
graduates
Higher education
(universities):
Non-SE/CS/IT degrees
Produce
Produce
Software
engineering
professionals
Self-learning
(self-training) in
software testingGraduates Sometimes
get
Sometimes
get
May change jobs
SE/CS/IT graduates:
with varying degrees
of software testing
skill-set
Higher education
(universities):
SE/CS/IT degrees
Sometimes
get
Software
engineering
activities in practice
Engaged in
Such as software
Development, testing
and requirements
engineering
To do a better job in
software testing, and/or to
find better positions
Self-taught
software engineers
Without university
education,
Apprenticeship, ...
10. 10Dr. Vahid Garousi
Outline
Who am I?
State of software-testing education (universities) and
training (industry)
How do we provide the most effective education and
training?
More resources
11. 11Dr. Vahid Garousi
How do we provide the most effective education and training in testing?
Providing the right training for each trainee based on
her/his background and skill-set. Whether the trainee is in:
Apprenticeship
University program (SE/CS/IT …)
Already in an IT role/position and needs skill “upgrade”
speakerdeck.com/vgarousi/choosing-the-right-testing-tools-and-systems-under-test-suts-for-practical-exercises-in-testing-education
12. 12Dr. Vahid Garousi
How do we provide the most effective education and training in testing?
To learn and conduct proper testing, a trainee needs the “right mix” of:
Fundamentals of testing, concepts such as black-box test techniques
How to choose the “right” tool(s) for a given problem, and “How to apply”
the tools (often under-estimated). Only taking the tool X from the shelf
and using it without a proper skill-set and test strategy, could result in
poor outcomes or project failure
o (books could be written about this!)
13. 13Dr. Vahid Garousi
What I have been doing to provide the most effective
education and training in testing
One ongoing activity: Designing and offering (since
2008) a set of free/open hands-on exercises for Software
Testing (Laboratory Courseware)
Lab 1-Manual testing and using bug tracking systems
Lab 2-Blackbox testing with JUnit
Lab 3-Whitebox testing and code coverage
Lab 4-Mutation testing
Lab 5-GUI testing (web application testing) with Selenium
Lab 6-Static code analysis using FindBugs tool
… and at least 5 more topics
sites.google.com/view/software-testing-labs
14. 14Dr. Vahid Garousi
Free/open hands-on exercises for Software Testing
sites.google.com/view/software-testing-labs
According to many feedbacks
that we have received from
software-testing educators and
students, they find these labs
useful and effective for
learning.
Since its inception in 2008,
the courseware has been
used by over 55
instructors (trainers) in
their software-testing
courses in more than 17
countries worldwide so far.
Feel free to review and use
them.
15. 15Dr. Vahid Garousi
A quick review:
Lab 1-Introduction to Testing and Defect Tracking
Goals:
Getting hands-on experience in ad-hoc, manual and regression
testing
Using industrial defect tracking practices and tools (Bugzilla)
Experiencing that ad-hoc testing is not always very effective
SUT: An ATM simulation system
Testing support tool: Bugzilla
Realistic defects were manually injected in the SUT
16. 16Dr. Vahid Garousi
A quick review:
Lab 1-Introduction to Testing and Defect Tracking
Lab document
(instructions)…
Extensive effort was spent to
prepare clear, concise and
“interesting” lab exercises…
Involving several good
students of mine helped a lot
in this aspect
Also, these training
documents have been used
since 2008 in my training in
both university education and
training in industry
Thus, have been “tuned” for
many years
17. 17Dr. Vahid Garousi
Outline
Who am I?
State of software-testing education (universities) and
training (industry)
How do we provide the most effective education and
training?
More resources
18. 18Dr. Vahid Garousi
More resources
So many people have written about their “experience” and “best
practices” for software-testing education and training
The survey paper below provides a summary of 204 papers, in this
area, published between 1992 and 2019.
PDF: www.bit.ly/SoftwareTestingEducationSurveyPaper
Summarize
Summarize
19. 19Dr. Vahid Garousi
Outline
Who am I?
State of software-testing education (universities) and
training (industry)
How do we provide the most effective education and
training?
More resources
Questions /
Answers