Soft Skills You Need Are Not Always Taught in Class

23
BT8 Concurrent Session 11/12/15 1:30pm “Soft Skills You Need Are Not Always Taught in Class” Presented by: Jon Hagar Independent Consultant Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888&268&8770 I 904&278&0524 I [email protected] I www.sqe

Transcript of Soft Skills You Need Are Not Always Taught in Class

Page 1: Soft Skills You Need Are Not Always Taught in Class

!

!

BT8 Concurrent!Session!11/12/15!1:30pm!

!!!

“Soft Skills You Need Are Not Always Taught in Class”

!!

Presented by:

Jon Hagar Independent Consultant

!!!!

Brought(to(you(by:(!

!!

340!Corporate!Way,!Suite!300,!Orange!Park,!FL!32073!888&268&8770!I!904&278&[email protected]!I!www.sqe

Page 2: Soft Skills You Need Are Not Always Taught in Class

!!!!!

!

Jon Hagar is an independent consultant working in software product integrity, testing, verification, and validation. For more than thirty-five years Jon has worked in software engineering, particularly testing, supporting projects which include control systems (avionics and auto), spacecraft, IoT, mobile-smart devices, and attack testing for smart phones. He authored Software Test Attacks to Break Mobile and Embedded Devices; has presented hundreds of classes and more than fifty conference presentations; and written numerous articles. Jon is an editor for ISO, IEEE, and OMG standards. !

Jon Hagar Independent Consultant

Page 3: Soft Skills You Need Are Not Always Taught in Class

So#$Skills$You$Need,$Are$Not$Always$Taught$in$Class$

Jon$D.$Hagar,$Consultant,$Grand$So#[email protected]$

1$

Got bugs?

Get a tester with great skills. $Copyright$Jon$Hagar$2014$

•  What$does$it$take$to$be$a$GOOD$Tester?$

$•  Knowledge?$$

•  Skill?$

–  Do$you$want$to$be$a$GREAT$.$.$.$

Copyright$2015$$Jon$D.$Hagar$$P$“So#ware$Test$ARacks$to$Break$Mobile$and$Embedded$Devices”$

2

Your%Opportunity%

Page 4: Soft Skills You Need Are Not Always Taught in Class

The%Subjects%at%Hand%

•  Schools$of$tes?ng$

•  Sampling$of$skill$lists$

•  Knowledge$vs$Skill$$

•  Sampling$of$test$skills$you$may$have$missed$in$other$classes$

•  How$to$become$a$beRer$tester$

$$$$$$$$$$$Note:$These$are$my$opinions$3$$Copyright$Jon$Hagar$2014$

Schools$of$Tes?ngPPA$Debate$that$Impacts$Skills$

•  ContextPdriven$–$“it$depends”$and$tes?ng$is$highly$skilled$

•  ProcessPdriven$(aka$Factory)$–$knowledge,$standards$&$procedures$

•  Quality$Assurance$(aka$Checking)$–$following$a$defined$process$

•  Academic$–$tes?ng$is$a$problem$for$techniques$and$tools$

•  Agile$–$focus$small$teams$doing$TDD$and$ATDD$with$explora?on$

4$$Copyright$Jon$Hagar$2014$

Page 5: Soft Skills You Need Are Not Always Taught in Class

A$Test$Industry$Ques?on$

•  What$does$it$take$to$be$a$“good”$tester?$

•  A$debate$exists$and$is$associated$with$the$“schools:$of$tes?ng$$Part$of$the$debate$is$$$P$$$$$–  Knowledge$or$$–  Skill$or$$–  Procedures$(wriRen$or$automated)$

• What$is$tes?ng$based$in$

5$Copyright$Jon$Hagar$2014$

KnowledgePbased$Tes?ng$$

•  Books$of$knowledge$in $$–  QAI,$ISTQB,$ASQ,$IIST,$and$others$$

•  IEEE$has$®SWEBOK$–  So#ware$including$tes?ng$–  Systems$and$computer$science$

•  General$understanding$can$be$a$benefit,$from$–  Discipline(s)$–$various$college$degrees$can$come$into$tes?ng$

–  Art$and$music$–$these$are$disciplines$

•  To$some$extent$the$academics$view$tes?ng$as$“knowledge”$$$ 6$$Copyright$Jon$Hagar$2014$

Page 6: Soft Skills You Need Are Not Always Taught in Class

ProcedurePbased$Tes?ng$

•  Plans$and$scripts$designed$into$documents$–  e.g.,$$ISO$29119$

•  O#en$can$be$Automated$with$tools$– ModelPbased$–  KeywordPbased$

•  The$thought$is$that$“anyone$can$be$a$tester”,$except$–  The$test$automa?on$person$–  The$test$architect$$–  The$test$designer$–  Analyst$or$systems$person$–  These$are$“test”$related$too$$ 7$$Copyright$Jon$Hagar$2014$

SkillPbased$Context$Tes?ng$

•  For$me,$requires$the$previous$knowledge$bases$and……$

•  Other$skills:$–  Skill$list$in$work$by$Associa?on$of$So#ware$Tes?ng$(AST)$– Millions$of$Google$hits$–  Sampling$on$next$pages$

•  Prac?ce,$Prac?ce,$Prac?ce$

•  Also,$there$are$many$different$levels$of$any$skill$

8$

Can we have testers at different levels? $Copyright$Jon$Hagar$2014$

Page 7: Soft Skills You Need Are Not Always Taught in Class

$$Distribu?on$Curve$(if$testers$were$normal)$

9$Copyright$2014,$Jon$D.$Hagar$$$$$Grand$So#ware$Tes?ng$

More$Likely$Tester$Distribu?on$Curve$

10$Copyright$2014,$Jon$D.$Hagar$$$$$Grand$So#ware$Tes?ng$

The newbie tester -> Thinking tester ------------------------------------------Context tester (it depends) ->Pragmatic Tester-> The Few

Page 8: Soft Skills You Need Are Not Always Taught in Class

Sampling$of$Tester$$Skills$

MANY$MANY$$MANY$Test$skill$=$22$million$Hits$on$Google$

$And$most$taught$in$class$

$

11$$Copyright$Jon$Hagar$2014$

Basic$From$blog.inf.ed.ac.uk$$

12$blog.inf.ed.ac.uk

Page 9: Soft Skills You Need Are Not Always Taught in Class

From$Novosas$

13$

novosas.com

From$Ministry$of$So#ware$Tes?ng$$

hRp://www.ministryo#es?ng.com/$ 14$

Page 10: Soft Skills You Need Are Not Always Taught in Class

Tester$Skill$List$(long)$

15$List © 2001 by Bernie Berger

Cross-functional effectiveness Test environment set-up Version control/change mgmt. Industry knowledge TQM/CMM/ISO Sigma/IEEE Quality economics Statistics and probability Professional affiliation/certification Efficiency implementation Metrics and measurement Risk analysis Root cause analysis Incremental test strategies Quality advocacy Macintosh user skills Energetic Sense of humor Persuasive Good judgment Problem solver Detail-oriented/meticulous Enthusiastic Assertive Articulate Inquisitive Organized Thorough Team Player Honesty

Basic testing Software life-cycle Basic technical aptitude and awareness Basic/Advanced Internet Manual black box testing MS Windows user skills Communication written/oral Test planning Test documentation Defect reporting Basic programming concepts Basic software engineering Basic system architecture Basic database Basic comm protocol Quality control/quality assurance Process improvement/methodology Software testing phases Software testing concepts Automated test scripting Evaluation of automated test results Record/playback Editing automated scripts Analytical skills UNIX user skills SQL user skills Web testing skills

James$Bach’s$$List$of$What$Tes?ng$is$

16$

Page 11: Soft Skills You Need Are Not Always Taught in Class

Even$Some$Funny$Skill$Lists$

17$

blog.smartbear.com

Most$of$the$items$listed$can$be$taught$in$classes$

$But$real%skill%must%be%prac:ced%

$

18$

Page 12: Soft Skills You Need Are Not Always Taught in Class

The$Pragma?c$Tester$(an$accep?ng$context$tester)$$

•  Like$so#ware$programming$•  Like$prac?cing$medicine$$•  Like$sports$(skiing)$

•  All$of$these$“bases”$are$needed$for$the$pragma?c$testers$–  Knowledge$–  Tools$$–  Skill$–  ContextPthinking$–  Procedures$(following$some$rules,$standards,$or$guidelines)$–  Techniques$and$quality$–  Agility$

$$$$19$

Testing skills work to address the most Interesting problems in software

$Copyright$Jon$Hagar$2014$

20$

You may have the Talent to get or gain knowledge, but.. You still do NOT have Skill, until you practice

Page 13: Soft Skills You Need Are Not Always Taught in Class

$$$$$$Let’s$Consider$a$Downhill$Skiing$Analogy$

•  Skiing$requires$skill$with$different$levels$of$skiing$

•  Skiing$requires$some$knowledge$

•  Skiing$requires$some$talent$and$much$prac?ce$

•  Skiing$requires$procedures$as$well$as$tools$

•  There$are$“rules”$and$guidelines$for$skiers$to$consider$

•  Skiing$has$many$different$contexts$(condi?ons)$

$$$$You$can$read$a$book$on$it,$but$does$that$make$you$a$tester?$

21$$Copyright$Jon$Hagar$2014$

Skiing$has$Many$Skill$Levels$(each$must$be$prac?ced$for$hours,$days,$years?)$

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$You$may$die$(Expert)$

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Expert$(Advanced)$

$$$$$$$$$$ $ $ $$$$$$$Intermediate$

$ $ $$$$$$$Beginner$$• Then$there$is$a$�neverPever�$$$$$$(never$been$on$snow$or$skis$before)$• Anyone$can$read$a$book$or$a$magazine$on$skiing,$perhaps$even$pass$wriRen$tests$on$skiing$but,$they$would$NOT$$have$the$skill$to$ski$any$run$listed$on$the$right—hence,$they$are$a$�never$ever�$

22$$Copyright$Jon$Hagar$2014$

Page 14: Soft Skills You Need Are Not Always Taught in Class

Skill$example:$What$about$the$Planning$Guidelines?$(here$is$a$plan$(a$map)$of$where$to$ski)$

•  But$the$plan$(or$map)$is$nothing,$the$planning$is$everything$and,$without$skiing%SKILL%you$had$beRer$plan$on$staying$on$the$bunny$slope$or$else$

23$$Copyright$Jon$Hagar$2014$

$$$$$$$$$$$$$$$$$$$Without$skiing$skill,$if$you$get$on$a$“not$for$beginner”$hill….$

24$$Copyright$Jon$Hagar$2014$

Page 15: Soft Skills You Need Are Not Always Taught in Class

….$Bad$Things$May$Happen$–$OUCH!$

25$

Moral of the Story

To$handle$the$“cliff”$slope$or$“steep$and$deep”$stuff$and$to$avoid$crashing$

you$must$prac:ce$.$.$.$$just$as$your$teacher$and$Will$Smith$$

speak$about$

26$$Copyright$Jon$Hagar$2014$

Page 16: Soft Skills You Need Are Not Always Taught in Class

How$to$Start$Knowledge:$on$the$Bunny$Slope$$$$$$$$$$$$$$$$$$$$$$$$$$$(and$con?nual$learning)$

•  Bunny$star?ng$$tester$

–  Cer?fica?on$

–  Standards$

–  Test$books$$$–$I$have$over$100$test$books$

–  Classes$$P$Many$colleges,$AST,$and$professional$classes$

–  Conferences$•  Where$you$are$now$

27$

I still go to “class” to gain knowledge from other “schools” and styles of testing

$Copyright$Jon$Hagar$2014$

Example$2$:$Tools$to$Handle$Snow$(for$skiing)$$What$tools$do$you$need?$

28$

You thought of this, but you probably did not think of these

$Copyright$Jon$Hagar$2014$

Page 17: Soft Skills You Need Are Not Always Taught in Class

What$do$the$Examples$Show?$

•  In$my$view,$the$classes$and$training$do$NOT$teach$skills$$

•  We$must$prac?ce$tes?ng$$

29$$Copyright$Jon$Hagar$2014$

$$$$$$$$$Pragma?c$Skills$You$Might$Be$Missing$

$•  Risk$Taking$

–  In$skiing:$If$you$are$not$falling,$you$are$not%learning%

–  Testers$doing$the$same$things$over$and$over$and$expec?ng$different$results$(One$defini?on$of$insanity)$

$Copyright$Jon$Hagar$2014$

Page 18: Soft Skills You Need Are Not Always Taught in Class

$$$$$$$$$$What$else?$

$• Skill$to$avoid$drinking$the$KoolPaid$$

– Standard$–$ISO29119$$

– Test$automa?on$

–  Unthinking$monkey$and$regression$tes?ng$

31$

Use tailoring and apply in only appropriate contexts (educate management)

Use automation when “advantages” are realized but do not expect “magic bullets”

Use other test techniques and concepts such as data or behavior driven testing

$Copyright$Jon$Hagar$2014$

One$defini?on$of$tes?ng:$$$$$$$$$$$$$$$$$$$$$$$$$$$$Ac?vi?es$to$provide$informa?on$(data)$about$a$product$

$$$$$$$$$$$$$$$$$$$$$$s$=$Data$

•  History$of$computers$

•  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$There$is$an$App$for$That$$$$$$$$$$$$$$$$$$$$$$????????????????$SODA$

Limited$Data$$PPPPP$$Personal$Data$PPPPPP$Massive$Web$Data$PPPP$App$Sliced$Data$PPPP$SelfPOrganizing$Data$Associa?ons$$

•  Bug$Data$Analy?cs$P$$PaRerns$of$bugs$=>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$Model$paRerns$for$exploratory$test$

32$

$$$$$$$$$$$Learn$From$and$Use$Your$Test$Error$Data$

$Copyright$Jon$Hagar$2014$

Page 19: Soft Skills You Need Are Not Always Taught in Class

$•  Honesty$$

– Do$people$trust$you?$$$– Can$you$deliver$informa?on$without$it$becoming$“personal”$(see$poli?cs)?$

•  Avtude$$– Are$you$happy$at$work?$$$– When$you$find$a$bug$and$report$it,$does$the$developer$get$happy$too?$How$about$management—do$they$get$happy?$

•  Poli?cal$– Being$nice—no$maRer$the$circumstance$(a$skill)$– Dealing$with$difficult$people$posi?vely$(a$skill)$– Dealing$with$bad$situa?ons$$posi?vely$(a$skill)$

33$

$$$$$$$$$$$More$Traits$You$Might$Be$Missing$

$Copyright$Jon$Hagar$2014$

And$More$Things$I$Build$Skills$In$

•  NonPso#ware$sciences$and$disciplines$

•  Successful$coaching$and/or$mentoring$$$•  Triage$$

•  Real$management$$•  Of$teams$•  Of$managers$•  Of$self$

•  Passion$

34$

(number 1 for me) Cheers

Don’t Care Testers

Hard Work Testers

Obsessed Testers

$Copyright$Jon$Hagar$2014$

Page 20: Soft Skills You Need Are Not Always Taught in Class

Brainstorm$a$skill$you$have$that$isn’t$taught$

Name$some$other$skills$that$you$feel$are$important$for$testers$to$have$and$demonstrate$that$I$may$have$missed$.$.$.$$

35$$Copyright$Jon$Hagar$2014$

Expecta?ons$about$Knowledge$and$Skill$

•  Seek$knowledge$and$build$skill$–  Time$–  Cer?fica?ons$–  Take$risks$in$new$jobs$

•  I$am$asked$$$“How$did$$you$get$your$job?”$$–  35$years$$P$I$am$s?ll$learning$and$prac?cing$

–  Prac:ce.$Prac?ce.$PRACTICE$

36$$Copyright$Jon$Hagar$2014$

Page 21: Soft Skills You Need Are Not Always Taught in Class

When$you$get$home:$Assess$Your$Skills$

•  Conduct$a$personal$assessment$every$few$months$or$so$

•  Compare$against$“benchmarks”$(skill$lists)$

•  Capture$the$assessment$in$a$career$plan$

37$

Be Honest with yourself

$Copyright$Jon$Hagar$2014$

Road$map$of$many$paths$to$get$to$a$goal$(no$wrong$path$but$some$may$be$beRer$for$one’s$skill$set)$

38$$Copyright$Jon$Hagar$2014$

Page 22: Soft Skills You Need Are Not Always Taught in Class

Many$Skills$&$Study$

Hard%Work%

Tes?ng$Skill$Trails$(of$infinite$paths)$

39$

No$Formal$School$

Become%Expert%

College%

Cert%

%OJT%

%Standards%%Gain%

Knowledge%Prac?ce%

%Skilled%Tester%

Prac?ce$

$Copyright$Jon$Hagar$2014$

Summary$

•  To$be$good$testers,$we$need$–  Knowledge$–  Skill$–  Prac?ce$with$passion$$

•  Classes,$references,$and$conferences$give$you$some$of$these$%

•  Tes?ng$is$a$prac?ce$that$takes$years.$$

•  Be$a$pragma?c$tester–$know$all$schools$

•  Learn$from$the$DATA$

40$$Copyright$Jon$Hagar$2014$

Page 23: Soft Skills You Need Are Not Always Taught in Class

References$and$Pointers$

•  Colorado$Ski$Country$

•  ISTQB$•  IEEE$•  ISO$•  AST$•  Google$

•  Special$Thank$you$–$James$Bach$and$Bernie Berger$$

41$$Copyright$Jon$Hagar$2014$