Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Exploratory and Unit Testing


Published on

Slides from TeshBash Brighton 2016 Workshop

Published in: Software
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ ◀ ◀ ◀ ◀
    Are you sure you want to  Yes  No
    Your message goes here

Exploratory and Unit Testing

  1. 1. Collaborative Exploratory and Unit Testing Maaret Pyhäjärvi & Llewellyn Falco @maaretp & @LlewellynFalco
  2. 2. COURSE VISION Exploratory Tester Extreme Programmer MOB PROGRAMMING
  3. 3. Strong Style Pairing “For an idea to go from your head to the computer it must go though someone else’s hands” *
  4. 4. THINGS TO LEARN TODAY What is Unit Testing (Llewellyn way) What is Exploratory Testing (Maaret way) Collaboration of two different skill sets Types of Insights Doing Exploratory Testing Doing Unit Testing Tools: Mindmup & Approvals
  5. 5. Quality Power of Collaboration
  6. 6. Quality Power of Collaboration “It’s about getting the best (not the most) out of everyone”
  7. 7. Mob Programming Rules for Exploratory Testing Activity • No thinking as the driver • Yes, and… • Kindness, consideration and respect
  8. 8. Testing as Performance (Exploring) vs. Testing as Artifact Creation
  9. 9. Explore with Intent Mission Charter Other Charters Details INTENT LEARNINGS
  10. 10. Structure Function Data Platform Operations Time
  11. 11. Certainty “I know what I know” Exploit Caution “I know what I don’t know” Explore Amnesia “I don’t know what I know” Expose Ignorance “I don’t know what I don’t know” Experiment Looking at World from Different Angles UnitTesting ExploratoryTesting Builder view Tester view
  12. 12. What Testing Gives Us UnitTesting ExploratoryTesting SPEC FEEDBACK REGRESSION GRANULARITY GUIDANCE UNDERSTANDING MODELS SERENDIPITY Testing as artifact creation Testing as performanc e
  13. 13. Exploration Skills Source: Adapted from James Bach, Jon Bach, Michael Bolton. Exploratory Testing Dynamics. v.2.2. 2009 Self- managemen t Developing ideas Examining product Done To Do Issues Coverage All sources available Best use of time – effective and efficient work Making models Tool support – creative solutions Risk-based testing – scientific approach Keeping one’s eyes open 17
  14. 14. Exploratory Testing: Frame of Management ”A day’s work” Vision (“Sandbox”) Current Charter Other Charters Details Bug Reports Perception of quality and coverage Quality ReportDebriefing Tester Test Manager Past Results Obstacles Outlook Feelings ? # xCharter backlog of the future testing Out of budget Next in importance! #, ?, x, + 20:20:60 Session sheets of the past testing Idea of exploration Metrics summary Coachin g 18 Playbooks Coverage outlines
  15. 15. Functional Deterministic All inputs in All results out
  16. 16. NON-Functional Get inputs as needed (global state, file, database…) Result vary (dates, random, environment) Store results (global, disk, database, transient)
  17. 17. WHY FUNCTIONAL IS EASIER FOR TESTS Unit Test Production Code Do Verify
  18. 18. WHY FUNCTIONAL IS EASIER FOR TESTS Unit Test Production Code Do Verify Functional Harness
  19. 19. public static Output function(inputs)
  20. 20. SEPARATING FUNCTIONAL PIECES Non-Functional Functional List
  21. 21. SEPARATING FUNCTIONAL PIECES Non-Functional Functional List List2
  22. 22. PEEL *
  23. 23. SLICE return sample *
  24. 24. Why is Testing Hard? 1. XPath 2. Finding Elements 3. Global state 4. Dates 5. Failure cases 6. Wait Times 7. Mobile 8. Setup 9. Lot’s of paths 10.Environment 11.Uncontrollabl e Variables 12.UI 13.Money 14.Dates 15.Database 16.Integration 17.Finding Elements 18.Timing
  25. 25. MobTimer
  26. 26. #MobProgrammingGuidebook
  27. 27. Maaret Pyhäjärvi Email: Twitter: @maaretp Blog: Get in Touch Llewellyn Falco Email: Twitter: @LlewellynFalco Blog:
  28. 28. Question, Thoughts? Feedback?
  29. 29. Getting the Software to Test •  Download the jar • •  Download as zip
  30. 30. The App: Dark Function Editor • Eclipse: – Open dfEditorApp (Ctrl+Shift+T) – Run (Ctrl+F11) • A 2D sprite and animation tool for game developer • Two main uses: – Sprite sheet creator: Create sprite sheets by adding coordinates or by putting together individual sprites (New / Sprite sheet) – Image animator: Create animations from sprite sheets (New / Animation set) • Test data to start from: – In darkFunction- Editor/TestingResources/StarWarsImages/SWAll.sprites