Slide 1

Slide 1 text

@maaretp @[email protected] by Maaret Pyhäjärvi Let’s Do A Thing and Call it Foo

Slide 2

Slide 2 text

@maaretp @[email protected] The terms foobar (/ˈfuːbɑːr/), foo, bar, baz, and others are used as metasyntactic variables and placeholder names in computer programming or computer-related documentation.[1] They have been used to name entities such as variables, functions, and commands whose exact identity is unimportant and serve only to demonstrate a concept. https://en.wikipedia.org/wiki/Foobar

Slide 3

Slide 3 text

@maaretp @[email protected] Stakeholders happy, even delighted –Quality Information Good Team’s Output –Quality Information Less than Good Team’s Output –Quality Information Results Gap Surprise! Results Gap on a Team that thinks Testers == Testing Pick up the pizza boxes… ”Find (some of) What Others May Have Missed”

Slide 4

Slide 4 text

@maaretp @[email protected] Computer Assisted Software Authorship https://github.com/features/copilot/

Slide 5

Slide 5 text

@maaretp @[email protected] CTRL+enter for alternatives

Slide 6

Slide 6 text

@maaretp @[email protected] CTRL+enter for alternatives

Slide 7

Slide 7 text

@maaretp @[email protected] WE are accountable 1. Intent / Implementation 2. Domain for the Layman 3. Domain for the Expert 4. Reference Implementation 5. People Filtering

Slide 8

Slide 8 text

@maaretp @[email protected] Say We Have This… Done?

Slide 9

Slide 9 text

@maaretp @[email protected] Shapes of Approaches Asserts Approvals

Slide 10

Slide 10 text

@maaretp @[email protected] From One to Many Asserts Approvals

Slide 11

Slide 11 text

@maaretp @[email protected] Domain rules: 1V à IIII in clock design as per orders of King Louis XIV of France https://www.amalgamsab.com/iiii-or-is-it-iv.html

Slide 12

Slide 12 text

@maaretp @[email protected] Some Tests Done?

Slide 13

Slide 13 text

@maaretp @[email protected] https://en.wikipedia.org/wiki/Roman_numerals

Slide 14

Slide 14 text

@maaretp @[email protected]

Slide 15

Slide 15 text

@maaretp @[email protected] Upper Boundary?

Slide 16

Slide 16 text

@maaretp @[email protected]

Slide 17

Slide 17 text

@maaretp @[email protected] References…

Slide 18

Slide 18 text

@maaretp @[email protected] References…

Slide 19

Slide 19 text

@maaretp @[email protected] References… Done?

Slide 20

Slide 20 text

@maaretp @[email protected] ApprovalTests

Slide 21

Slide 21 text

@maaretp @[email protected] Hypothesis

Slide 22

Slide 22 text

@maaretp @[email protected] Done.

Slide 23

Slide 23 text

@maaretp @[email protected] Answer Key to Some of the Bugs • Values over 4k don’t work (without extending to line-on-top notation) – Zeros, fractions, large numbers later in scope • Decimal values truncated vs. rounded • *some of the implementations* – Boundary values miscalculated – Infinite loop • Implementing Classic when expecting Simplified • Got someone’s code without license text!

Slide 24

Slide 24 text

@maaretp @[email protected] Insights from 8 rounds of pair/ensemble testing • Unit Exploratory Testing is FAST • Concepts: Parametrized tests, pytest.raises, approvaltests • Selecting vs. oversampling for finding boundaries • Choosing later what is left behind (if dropping tests is worth the investment) • Both valid and invalid values, balance and role-based heuristics • Fooling a domain expert on conflicting domain rules surprising how versatile a simple appearing domain is

Slide 25

Slide 25 text

@maaretp @[email protected] Foo Contemporary Exploratory Testing

Slide 26

Slide 26 text

@maaretp @[email protected] A majority of the production failures (77%) can be reproduced by a unit test. https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf Through https://www.slideshare.net/Kevlin/the-error-of-our-ways

Slide 27

Slide 27 text

@maaretp @[email protected]

Slide 28

Slide 28 text

@maaretp @[email protected] Everything that does not need to be automated gets done while automating. * Programming with thinking – quality of thinking matters

Slide 29

Slide 29 text

@maaretp @[email protected] WE are accountable 1. Intent / Implementation 2. Domain for the Layman 3. Domain for the Expert 4. Reference Implementation 5. People Filtering

Slide 30

Slide 30 text

@maaretp @[email protected] Find (some of) what others may have missed! Testing … and never be bored.

Slide 31

Slide 31 text

@maaretp @[email protected] For pair / ensemble testing this with me <3 Thank You Alex, Elisabeth, Bertold, Thomas, Mirja, Karen, Moroni, Isidro, Benjamin & Testing Dozen #1

Slide 32

Slide 32 text

@maaretp @[email protected] 2020 2016 MIATPP Most Influential Agile Testing Professional Person #PayToSpeak #TechVoices #EnsembleTesting #EnsembleProgramming #StrongStylePairing #ExploratoryTesting #TestAutomation #ModernAgile #AwesomeTesters Maaret Pyhäjärvi (from Finland) Email: [email protected] Twitter: @maaretp Web: maaretp.com Blog: visible-quality.blogspot.fi (please connect with me through Twitter or LinkedIn) 2019 - 2022 https://exploratorytestingacademy.com Ohjelmistotestaus ry https://techvoices.org