Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Test Dive conference: Cognitive testing in shift-left mindset

Test Dive conference: Cognitive testing in shift-left mindset

Aleksandra Kornecka

October 18, 2018
Tweet

More Decks by Aleksandra Kornecka

Other Decks in Technology

Transcript

  1. Cognitive testing
    in shift-left mindset
    Aleksandra Kornecka
    OLX Group
    Test Dive conference, 18.10.2018 Kraków, Poland

    View Slide

  2. whoami
    ● software quality assurance engineer
    ● MSc. in cognitive science
    ● sprinter

    View Slide

  3. Agenda
    1. Quality in SDLC.
    2. Shift-left approach.
    3. Case studies.
    4. Cognitive testing approach.
    5. Science behind.
    6. Tools, tips & tricks.
    7. Summary.

    View Slide

  4. Quality in Software
    Development Life Cycle
    The true story

    View Slide

  5. Software quality in general
    ● technical & business values
    ● dimensions like functionality, reliability, usability, measurability,
    maintainability, -other abilities
    ● standards like ISO, IEEE, GDPR (...)

    View Slide

  6. SDLC

    View Slide

  7. Where the quality starts for you?

    View Slide

  8. Where the quality starts for you?

    View Slide

  9. Where the quality starts for you?

    View Slide

  10. Where the quality starts for you?

    View Slide

  11. The quality never starts and never ends

    View Slide

  12. … we should care all the time ...

    View Slide

  13. … so it’s time to SHIFT-LEFT!

    View Slide

  14. Shift-left approach
    explained

    View Slide

  15. “Shift-left” is a buzz word, but ...

    View Slide

  16. ..but the stats prove some benefits

    View Slide

  17. Enable awareness & attention early

    View Slide

  18. Shift-left approach definition
    Integrating the quality assurance practices and testing with
    entire software development life cycle:
    - from the very beginning e.g. requirements testing,
    prototype testing etc.
    - into every role e.g. developer, product owner, tester

    View Slide

  19. Source: webinar by Experitest

    View Slide

  20. Source: webinar by Experitest

    View Slide

  21. Other shift-left approach factors
    ● test the requirements, both technical and business
    ● work closely with stakeholders, validate ideas
    ● research often (A/B testing, users insights, tracked data)
    ● no sanctuary code, refactor on daily basis
    ● consider test automation as business value
    ● automate monitoring and alerting to keep focus into goal

    View Slide

  22. Case studies
    shift-left by example

    View Slide

  23. Source: webinar by Experitest

    View Slide

  24. Anti-pattern: never ending business request
    - one feature developed by 3 teams
    - requirements verification in the very end of development
    - unwanted feature from developer invention due to lack of business
    communication
    - 2 days of delay for 7 days marketing campaign
    Lesson learned: communicate with business teams before coding, create
    common calendar, update each other, squash branches
    NOT OK: shift left next time!

    View Slide

  25. Success story: migrating to cloud case
    4 countries, 2 months, 5 DevOps, server > cloud
    - after 1st failure: recovery plan, checklists, backup scenario
    - management supporting the migration team
    - active email, chat and oral communication
    - pair-programming to teach the new technology stack
    Good practice: requirements testing, learn by experience, create
    basic checklists, communicate with business stakeholders not only
    tech team
    OK: attention to quality shifted left on time

    View Slide

  26. Cognitive testing
    approach
    explained

    View Slide

  27. “Cognitive” means ...
    ● respecting human mind and brain capabilities & limitations
    ● respecting sensual processes like seeing, hearing, touching
    ● respecting various interfaces (haptic/tactile, visual, brain)
    ● dependent to perception

    View Slide

  28. Cognitive approach goal = human-friendly &
    working software
    humans = testers, developers, end-users (...)

    View Slide

  29. Perceptual limitations
    ● we are humans
    ● we make mistakes, we miss things
    We cannot see the entire site despite the
    web browser sees it all the time.

    View Slide

  30. Biases-prone

    View Slide

  31. View Slide

  32. Cognitive testing approach manifesto
    ● Developers, testers, QAs, business stakeholders, end-users are
    humans.
    ● Humans have some perceptual limitations we should mind when
    developing software for humans.
    ● There are cultural differences between human using software.

    View Slide

  33. Science behind cognitive
    approach

    View Slide

  34. Attention span
    Source: “Attention spans. Consumer Insights.” Report by Microsoft Canada, 2015

    View Slide

  35. Working memory capacity
    ● just 2+-7 information items at once in 15-30 seconds duration
    (Miller’s law)

    View Slide

  36. Change blindness
    Strong focusing makes us blind to changes.
    Strong focusing on testing one feature can make us blind to bugs in
    another feature.

    View Slide

  37. Attention gap
    Brain constructs the view step by step. (Marr’s theory)

    View Slide

  38. Schemas reasoning (Gestalt theory laws)
    Brain is working on schemas.

    View Slide

  39. Schemas reasoning (Gestalt laws)
    Law of proximity

    View Slide

  40. Schemas reasoning
    (Gestalt laws)
    Law of similarity

    View Slide

  41. Schemas reasoning (Gestalt laws)
    Law of common fate: drag-and-drop interaction

    View Slide

  42. Schemas reasoning
    (Gestalt laws)
    Law of symmetry

    View Slide

  43. Schemas reasoning (Gestalt laws)
    Law of Prägnanz
    (figure-ground)

    View Slide

  44. Gibson affordances
    Where the bug can be?

    View Slide

  45. Tools, tips & tricks
    for daily use

    View Slide

  46. Awareness is a key

    View Slide

  47. Heuristics by Jakob Nielsen
    47

    View Slide

  48. Definition of Ready, Definition of Done

    View Slide

  49. Incident analysis

    View Slide

  50. Real-time monitoring
    ● distributed communication
    ● health-checks in releases
    (CI, versioning)
    ● real-time monitoring (e.g.
    DataDog, New Relic, Fabric)
    ● incident reports

    View Slide

  51. Summary

    View Slide

  52. Cognitive + shift left = future
    quality manifesto
    ● we are humans, we need to communicate
    ● we craft the software, you contribute to the
    quality, no matter what role you have
    ● we want other humans to use our software
    ● quality is a continuous thing
    ● the earlier you shift attention to the quality,
    the better for you

    View Slide

  53. Inspirations
    ● cognitive science, cognitive psychology
    ● clinical psychology research (EEG, fMRI, ERP, experiments)
    ● user experience research
    ● information architecture
    ● anthropology
    ● personal experiences of mates in software development :-)

    View Slide

  54. Thank you for attention!
    aleksandrakornecka.com
    girlswhotest.pl
    joinOLX.com

    View Slide