$30 off During Our Annual Pro Sale. View Details »

(PL) QArantanna - Cognitive approach to software quality

(PL) QArantanna - Cognitive approach to software quality

YouTube recording: https://www.youtube.com/watch?v=GPpL5FbHIoo

(EN) About presentation
There are many kinds of software in rapid technology landscape progress. It is easier and easier to forget we all are still human beings :) Both software engineers and customers.
Loosing the human perspective is totally destroying for ourselves and for software quality aswell.
The cognitive approach to software quality and testing helps to care a "human face of the technology", therefore it helps to care of the quality, too.

In presentation you will see:
-a word about cognitive approach
-tricks that your mind makes you when testing
-about continuous quality
-some scientific theories for use in practice
-how to be a "human-friendly" engineer
-cognitve tester checklist

(PL) O prezentacji:

Przy mnogości technologii oraz pędzącym postępie technologicznym łatwo zapomnieć, że nadal jesteśmy ludźmi 🙂 Zarówno twórcy oprogramowania jak i użytkownicy. Utrata takiej perspektywy jest ze wszech miar niekorzystna, zarówno dla nas samych, jak i dla jakości softu oraz użytkowników.
Podejście poznawcze do testowania oprogramowania pomaga zadbać o "ludzką stronę technologii", a co za tym idzie, pomaga ono zadbać też o jakość.

W prezentacji między innymi:
-słowo o podejściu poznawczym (cognitive approach)
-zasadzki umysłu czyhające na testera i QA
-o ciągłym zapewnianiu jakości (continuous quality)
-trochę teorii naukowych do wykorzystania w praktyce
-jak być "human-friendly" inżynierem?
-checklista testera-kognitywisty

Aleksandra Kornecka

May 05, 2020
Tweet

More Decks by Aleksandra Kornecka

Other Decks in Education

Transcript

  1. Aleksandra Kornecka
    Girls Who Test, OLX Group

    View Slide

  2. whoami

    View Slide

  3. Cognitive quality
    software
    approach to
    Cognitive
    approach to
    Cognitive software
    approach to
    Cognitive software quality
    Cognitive quality

    View Slide

  4. Humans use the machines
    to create software
    for other humans.

    View Slide

  5. Humanity

    View Slide

  6. We, human software users.
    We, human software development team.
    Machines and software product, non-humans.

    View Slide

  7. Humanity means
    ● error-prone
    ● biased, having beliefs
    ● unstable, emotional
    ● interested in other humans
    ● unique, non-deterministic
    ● creative

    View Slide

  8. View Slide

  9. We, human development team

    View Slide

  10. Cognitive diversity, neurodiversity

    View Slide

  11. Machines, non-humans

    View Slide

  12. Cognitive science

    View Slide

  13. “Cognitive” means
    ● human mind and brain capabilities & limitations
    ● perceptual processes like seeing, hearing, touching
    ● cultural variety

    View Slide

  14. View Slide

  15. Biases

    View Slide

  16. We humans.
    The biases-prone
    ones.

    View Slide

  17. Heuristics and schemas reasoning

    View Slide

  18. Heuristics (not) applied
    (e.g. the ones by Jacob Nielsen)
    18

    View Slide

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

    View Slide

  20. Attention gap
    Brain constructs the view step by step (Marr’s theory).
    Make your software product perceptible for your users.

    View Slide

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

    View Slide

  22. Selective attention vs perceptual overload
    When there are many same-relevant items, it is impossible to process
    them all at once.

    View Slide

  23. Perceptual limitations

    View Slide

  24. Confirmation bias

    View Slide

  25. Gibson affordances
    Where the bug can be hiding?..

    View Slide

  26. Quality engineering
    - how to tackle

    View Slide

  27. We, human software users.
    We, human software development team.
    Machines and software product, non-humans.

    View Slide

  28. Software quality ingredients
    ● technical & business requirements validation
    ● best practices in coding, tools, processes
    ● dimensions like functionality, reliability, usability, measurability,
    maintainability, -other abilities (e.g. pointed in ISTQB)
    ● standards like PCI, ISO, IEEE, GDPR (...)

    View Slide

  29. Software means
    ● logic
    ● (rather) deterministic
    ● conditionable
    ● no emotions, no beliefs (until high-end AI!)
    ● errorless until touched by the human
    ● ignoring humans and their perception characteristics

    View Slide

  30. Be yourself, but mind the differences.

    View Slide

  31. Perceived quality vs measured quality

    View Slide

  32. Decision making
    Bug or feature?

    View Slide

  33. dev-QA pairing

    View Slide

  34. Explainability

    View Slide

  35. Quality-aware earliest you can

    View Slide

  36. Quality-aware all time long

    View Slide

  37. Cognitive quality
    = working software which is human-friendly
    WHERE humans = {testers, developers, end-users, ...}

    View Slide

  38. Humans use the machines
    to create software
    for other humans.

    View Slide

  39. Take away
    Humanity is
    the technical requirement
    for each good software project.

    View Slide

  40. Przykładowa checklista testera-kognitywisty
    ● Czy wiesz czego potrzebuje użytkownik?
    ● Czy starasz się uzyskać informację zwrotną od użytkownika?
    ● Czy obsługujesz różne kody błędów zarówno po stronie klienta przeglądarki
    jak i po stronie serwera?
    ● Czy Twoja aplikacja jest dostosowana do osób z niepełnosprawnościami?
    ● Czy aplikacja jest zabezpieczona przed złośliwymi skryptami, iframe’ami,
    pop-upami?
    ● Czy od razu wiadomo jak używać Twojej aplikacji?
    ● Czy Twoja aplikacja posiada formularz kontaktowy?
    ● Czy wraz z aktualizacją wersji aplikacji, aktualizujesz też Pomoc itp.?

    View Slide

  41. Przykładowa checklista mobilnego
    testera-kognitywisty
    ● Czy Twoja aplikacja mobilna jest odporna na nagłe połączenie głosowe do
    użytkownika?
    ● Czy Twoja aplikacja radzi sobie z zanikiem połączenia z internetem?
    ● Czy Twoja aplikacja radzi sobie z zanikiem usługi geolokacji?
    ● Czy Twoja aplikacja radzi sobie z różnymi rozmiarami ekranu,
    rozdzielczością, schematami obsługi gestów?
    ● Czy wspierasz zarówno widok wertykalny, jak i horyzontalny aplikacji oraz
    przejście między nimi?

    View Slide

  42. Thank you for attention!
    AleksandraKornecka.com
    GirlsWhoTest.pl
    OLXgroup.com

    View Slide

  43. Źródła / Sources
    ● Lista błędów poznawczych
    ● Pułapki przy podejmowaniu decyzji, analiza
    ● Heurystyki kulturowe , krótki opis , kolejna książka
    ● IBM badania nad kosztem błędów w oprogramowaniu
    ● Microsoft Research attention span
    ● Prawo Millera - pojemność pamięci roboczej
    ● Eksperyment “change blindness” z gorylem, Simons & Chabris, 1999
    ● Kontrola poznawcza a dystraktory
    ● Teoria D. Marra, afordancje J.J.Gibsona, teoria Gestalt
    ● Heurystyki Jakoba Nielsena, artykuły o usability oraz UX
    ● Metoda 5 WHYs na przykładzie inżynierii jakości produkcji

    View Slide