painting like an engineer

52
Painting like an engineer Skills in testing Alexandra Casapu @coveredinclot h

Upload: alexandra-casapu

Post on 27-Jun-2015

356 views

Category:

Software


0 download

DESCRIPTION

An exploration of my testing skills - presentation for CAST 2014

TRANSCRIPT

Page 1: Painting like an engineer

Painting like an engineer

Skills in testing

Alexandra Casapu

@coveredincloth

Page 2: Painting like an engineer
Page 3: Painting like an engineer
Page 4: Painting like an engineer
Page 5: Painting like an engineer
Page 6: Painting like an engineer

Heuristic!

Heuristic!

Heuristic!

Heuristic!

Heuristic!

Heuristic!

Page 7: Painting like an engineer

The engineering method:

Use heuristics…..to cause the best change....in a poorly understood situation....within the available resources

Page 8: Painting like an engineer
Page 9: Painting like an engineer

The art and science of testing…

Page 10: Painting like an engineer

Engineering vs Science

Page 11: Painting like an engineer

What is science?

Applied engineering

Page 12: Painting like an engineer

Engineering vs Art

Page 13: Painting like an engineer

“At last the mountains of Arcadia and the mist-wrapped mountains of the lonely traveler become one as we realize that what we paint, how we paint, that we paint, and, most importantly, why we paint are all art - all; heuristic.

To be alive is to be an artist; to be conscious of being an artist is to be human; to recognize and to be satisfied that you can only be an artist is to be at peace.“

Page 14: Painting like an engineer

Story structure

How I see skills and skills development

Where can the engineering method help

5 examples from my testing work

Conclusions in terms of skills development

Page 15: Painting like an engineer

Where are the skills?The Knowledge Dimension

The Cognitive Process Dimension

Remember Understand Apply Analyze Evaluate Create

Facts

Concepts

Procedures

Cognitive Strategies

Models

Skills

Attitudes

Metacognition

Page 16: Painting like an engineer

How do I know I have acquired a skill?

Second nature

Page 17: Painting like an engineer

How can I work on my skills?

Cem Kaner :

I think the best way for people to develop skills is to do something,

get feedback on how to do it better, improve it (or do something similar),

get feedback, and keep doing this with problems that are increasingly

difficult or that apply the technique in new ways.

Page 18: Painting like an engineer

The necessary conditions for developing skills

• Predictability of outcomes• Good feedback

• Attitude • Motivation• Deliberate practice• Amount of experience

Page 19: Painting like an engineer

“Most judgments and most choices are made intuitively.”

Maps of bounded rationality: Psychology for behavioral economics – Daniel Kahneman

Page 20: Painting like an engineer

The context of my work

Page 21: Painting like an engineer

A taxonomy of skills

Signatures of the heuristic:

1. A heuristic does not guarantee a solution,

2. It may contradict other heuristics,

3. It reduces the search time for solving a problem, and

4. Its acceptance depends on the immediate context instead of an absolute standard

Page 22: Painting like an engineer

• learn from mistakes• generate functionality flows• analyze information• recognize patterns• read actively• create models• use models• read and write code• write effective bug reports• make logical connections• change how testing is done and seen in the team• collect relevant information from different sources• handle complexity well• evaluate the testing work

Attitude determining skills

• asking questions(in a simple, non-offensive manner)• have an empathetic approach• be appreciative, considerate• have the ability to explain my train of thoughts• collect info effectively• offer my availability

Human-Human Interaction skills

• think critically• use counterfactual reasoning• deal with uncertainty and incompleteness• prioritize• work in a timeboxed manner• decide when to stop

Risk controlling skills

• focus• defocus• break a problem into multiple smaller problems• have diverse view points• stick with a consistent view point• use curiosity• fix variables and vary one at a time• exercise stubbornness• don't use stubbornness• create disconfirmatory experiments

Rule of thumb skills

• describe coverage• make maps of features under test• create valuable documentation

Information visualization skills

My personal testing skills state of the art

Page 23: Painting like an engineer

Examples

Working on new skills (repeatedly) Skills atrophy Skills that work…sometimes

Overlooked skills

Stubborn about using whatever skills needed

1

2

3

4

5

Page 24: Painting like an engineer

Working on new skills (repeatedly)1

Page 25: Painting like an engineer

Let’s introduce some automation..

1

Page 26: Painting like an engineer

On the previous project

Focusing on tasks

Less defocusing

I didn’t use my curiosity

Not so effective at collecting info

Not thinking critically about my testing process

1

Page 27: Painting like an engineer

On the current project

Defocus from my current taskWork in a timeboxed mannerUse my curiosityWrite codeRead codeChange how I do testingChange how testing is seen in the teamCreate valuable documentation

1

Page 28: Painting like an engineer

The ‘repeatedly’ part

1

Page 29: Painting like an engineer

Skills atrophy2

Page 30: Painting like an engineer

On the previous project

2

Working with APIs

Verifying validity output in the DB

Monitoring http requests

Verifying output in json files

Testing social crawlers algorithms

Page 31: Painting like an engineer

Skills that work…sometimes3

Page 32: Painting like an engineer

Not getting invited to meetings

3

Page 33: Painting like an engineer

Getting invited to meetings

3

Change how testing is done and seen in the team

Collect info effectively

Asking questions

Offer my availability

Page 34: Painting like an engineer

Overlooked skills4

Page 35: Painting like an engineer

Logging invalid bugs

4

Page 36: Painting like an engineer

Logging invalid bugs

4

Page 37: Painting like an engineer

Logging invalid bugs

4

Re-evaluate the model

Analyze existing data

Page 38: Painting like an engineer

Stubborn about using whatever skills needed5

Page 39: Painting like an engineer

Learn by digging the needed info

5

Use curiosityCollect info effectivelyRead code Break a problem into multiple smaller problemsExercise stubbornnessHave diverse viewpointsUse counterfactual reasoning

Page 40: Painting like an engineer

Conclusions

Page 41: Painting like an engineer
Page 42: Painting like an engineer
Page 43: Painting like an engineer
Page 44: Painting like an engineer

It’s about skills interaction.An overwhelming accumulation of interactions

Page 45: Painting like an engineer

Learn by doing

Page 46: Painting like an engineer
Page 47: Painting like an engineer

Skills are a procrustean bed

“Each speaks with the accent of his[/her] own sota.”

Page 48: Painting like an engineer

Each with their own experience

“Since one sota cannot be completely translated into another, each person

remains fundamentally isolated. To this sense of uniqueness, inaccessibility,

alienation, and loneliness some philosophers attribute the absurd nature of the

human condition.”

Page 49: Painting like an engineer

Nurturing skills

Choose a few areas which I want to improve

Learn the queues that lead to the mistakes I want to eliminate

When I recognize such a situation, slow myself down

And recognize when I need help

Page 50: Painting like an engineer

Nurturing skills

“Peace comes with the realization that the world in which we live is an acquired taste - one we all, as artists, paint in our own chosen styles.”

Page 51: Painting like an engineer

References

• Discussion of the method - Billy Vaughn Koen

• How to read a book – Mortimer J. Adler, Charles van Doren

• Maps of Bounded Rationality: Psychology for Behavioral Economics – Daniel Kahneman

• Conditions for intuitive expertise: a failure to disagree – D. Kahneman, G. Klein

• http://blog.utest.com/testing-the-limits-with-cem-kaner-author-of-the-domain-testing-workbook/2014/01/

• The BBST courses

• edX Thinking 101 course

Illustrations:• http://catandgirl.com/ (slide 2)• http://studio-ghibli.wikia.com/wiki/Forest_(Mononoke-Hime) (slide 3)• http://theredlist.com/media/database/muses/icon/cinematic_men/1980/john_malkovitch/022_john_malkovitch_theredlist.jpg (slide 6)• http://thingsorganizedneatly.tumblr.com/post/70411190398/submission-torpedo-typewriter-organized-neatly (slide 34)• http://thingsorganizedneatly.tumblr.com/image/67872166549 (slide 35)• http://thingsorganizedneatly.tumblr.com/image/81360232303 (slide 36)• http://4.bp.blogspot.com/-ZtDBcj1VW1A/TlaUP0xdFhI/AAAAAAAACBs/2DhJ_5UVvaM/s1600/Theseus_Procrustes-600x450.jpg (slide 39)

Page 52: Painting like an engineer

@coveredincloth