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

BiałQA meetup (PL): Brain up your testing! Kognitywne podejście do testowania oprogramowania

BiałQA meetup (PL): Brain up your testing! Kognitywne podejście do testowania oprogramowania

https://www.facebook.com/events/248470902507184/

W dobie pędzącego postępu technologicznego zdarza nam się zapomnieć, że nadal jesteśmy ludźmi. Utrata takiej perspektywy jest ze wszech miar niekorzystna, zarówno dla nas samych, jak i dla jakości softu oraz użytkowników końcowych.

Podejście poznawcze do testowania oprogramowania pomaga zadbać o “ludzką stronę technologii”, a co za tym idzie, pomaga ono zadbać o jakość.

W prezentacji znajdą się następujące treści:
-składniki ciągłego zapewnianiu jakości (QA)
-o podejściu poznawczym (kognitywnym)
-zasadzki umysłu czyhające na testera i QA
-trochę teorii naukowych do wykorzystania w praktyce
-jak być “human-friendly”?
-checklisty testera-kognitywisty

Aleksandra Kornecka

October 19, 2018
Tweet

More Decks by Aleksandra Kornecka

Other Decks in Research

Transcript

  1. Brain up your testing!
    Kognitywne podejście do testowania oprogramowania
    Aleksandra Kornecka
    OLX Group
    BiałQA meetup 19.10.2018, Białystok, Polska

    View full-size slide

  2. whoami
    2
    ● software quality assurance engineer
    ● mgr kognitywistyki
    ● sprinter

    View full-size slide

  3. Agenda
    1. Definiowanie jakości oprogramowania.
    2. Wyzwania “ludzi od jakości".
    3. O podejściu kognitywnym.
    4. Teorie kognitywistyki użyteczne w IT.
    5. Wskazówki jak być human-friendly względem użytkownika.
    6. Podsumowanie oraz checklisty testerskie.

    View full-size slide

  4. Definiowanie jakości
    Bo to szerokie zagadnienie ☺

    View full-size slide

  5. Składniki jakości
    ● trafne wymagania biznesowe i techniczne
    ● regularna informacja zwrotna o produkcie
    ● stosowanie standardów kodowania oraz refactoring kodu
    ● stosowanie się do standardów takich jak: ISO, IEEE, GDPR (..)
    ● odpowiedni stopień pokrycia poszczególnych wymiarów jakości –
    funkcjonalność, użyteczność, utrzymywalność, niezawodność itd.
    ● zmotywowanie osób biorących udział w wytwarzaniu oprogramowania
    ● i ... kilka innych

    View full-size slide

  6. Software
    Development
    Life
    Cycle

    View full-size slide

  7. Wyzwania
    człowieka, który pełni rolę testera i QA

    View full-size slide

  8. Weryfikacja
    “Czy to działa?”
    Walidacja
    “Czy to działa tak jak założono?”
    Użyteczność
    ”Czy ludzie wiedzą jak tego
    używać?”

    View full-size slide

  9. Podejmowanie decyzji
    Czy to już błąd czy jeszcze funkcjonalność?

    View full-size slide

  10. Błąd poznawczy konfirmacji (confirmation bias)

    View full-size slide

  11. Odwrócony paradoks pestycydów
    Szczególnie podatne są tu testy regresyjne - jest to argument za
    automatyzacją oraz częstym wykonywaniem “automatów”.

    View full-size slide

  12. Podejście kognitywne
    na przykładach

    View full-size slide

  13. “Kognitywne” oznacza:
    ● zależność od możliwości i ograniczeń ludzkiej percepcji
    ● branie pod uwagę zasad funkcjonowania mózgu i umysłu ludzkiego
    ● branie pod uwagę procesowania bodźców przez zmysły
    ● branie pod uwagę zróżnicowania interfejsów
    (wizualny, dotykowy/haptyczny, słuchowy)

    View full-size slide

  14. Heurystyki kulturowe
    ● W jaki sposób to samo oprogramowanie jest używane w różnych
    częściach świata?
    ● Czym się kierować, testując oprogramowanie dla użytkowników z
    odmiennych kultur?

    View full-size slide

  15. Ograniczenia poznawcze
    Front-end komunikuje się z back-endem.
    Strona „zna” swoją całą zawartość.
    Człowiek nie zna jej całej zawartości.

    View full-size slide

  16. Dlaczego jest to ważne?
    end-user
    Źródło

    View full-size slide

  17. Manifest kognitywnej jakości
    ● jesteśmy istotami ludzkimi (programiści,
    testerzy, koordynatorzy projektów,
    użytkownicy)
    ● jako ludzie wytwarzamy oprogramowanie
    za pomocą technologii
    ● chcemy by inni ludzie, z różnych kultur i o
    różnym obyciu z technologią skutecznie
    używali naszych wytworów
    ● jakość jest ciągła (continuous quality)

    View full-size slide

  18. Teorie kognitywistyki
    użyteczne w IT

    View full-size slide

  19. Rozpiętość
    uwagowa
    Źródło: “Attention spans. Consumer Insights.” Report by Microsoft Canada, 2015

    View full-size slide

  20. Pojemność pamięci roboczej
    Tylko od 2 do 7 ‘jednostek informacji’ na 15-30 sekund (prawo Millera)

    View full-size slide

  21. Ślepota na zmiany
    Silne skupienie na danej czynności czyni nas ślepymi na zmiany.
    Tester kierujący swą uwagę na jedną funkcjonalność jest podatny na
    przeoczenie błędu w innej funkcjonalności.

    View full-size slide

  22. Kontrola poznawcza vs dystraktory uwagi

    View full-size slide

  23. Luka percepcyjna
    Mózg potrzebuje chwili by skonstruować całą scenę wzrokową
    (teoria Marr’a).

    View full-size slide

  24. Myślenie schematami (prawa Gestalt)
    Nasz umysł kocha schematy, i podąża nimi kiedy tylko może.

    View full-size slide

  25. Myślenie schematami (prawa Gestalt)
    Prawo bliskości elementów

    View full-size slide

  26. Myślenie
    schematami
    (prawa Gestalt)
    Prawo podobieństwa

    View full-size slide

  27. Myślenie schematami (prawa Gestalt)
    Prawo podobnego ruchu: drag-and-drop

    View full-size slide

  28. Myślenie
    schematami (prawa
    Gestalt)
    Prawo symetrii

    View full-size slide

  29. Myślenie schematami
    (prawa Gestalt)
    Prawo kontynuacji

    View full-size slide

  30. Myślenie schematami (prawa Gestalt)
    Prawo Prägnanz
    (wydobycie figury z tła)

    View full-size slide

  31. Affordancje Gibsona
    Gdzie może kryć się błąd?

    View full-size slide

  32. Wskazówki
    jak być human-friendly (developer-friendly, user-friendly itd.)

    View full-size slide

  33. Świadomość jest zbawienna

    View full-size slide

  34. Podejście shift-left

    View full-size slide

  35. Heurystyki - Jakob Nielsen
    37

    View full-size slide

  36. Definition of Ready, Definition of Done

    View full-size slide

  37. Metoda
    “5 Why’s”
    jako analiza
    źródłowa

    View full-size slide

  38. Real-time monitoring
    ● rozproszona komunikacja
    ● bramki jakości przy
    wdrożeniach (CI,
    wersjonowanie)
    ● real-time monitoring (np.
    DataDog, New Relic, Fabric)
    ● raporty z incydentów

    View full-size slide

  39. Podsumowanie

    View full-size slide

  40. Cel podejścia kognitywnego = tworzenie
    oprogramowania, które:
    - działa
    - jest “dla ludzi*”
    *ludzie = testerzy, użytkownicy, programiści (...)

    View full-size slide

  41. Najważniejsze wnioski
    ● człowieczeństwo to jedno z wymagań „technicznych” projektu
    ● każdy w SDLC ma swój wkład w jakość, nieważne jaką pełni rolę
    ● testuj zanim powstanie linijka kodu
    ● wymiana informacji (komunikacja) jest kluczowa
    ● świadomość możliwości i ograniczeń poznawczych ma wartość
    biznesową dla całego produktu

    View full-size slide

  42. 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 full-size slide

  43. 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 full-size slide

  44. Inspiracje
    ● kognitywistyka, psychologia poznawcza
    ● doświadczenia własne i rozmowy z różnymi ludźmi z IT
    ● psychologia kliniczna (EEG, fMRI, ERP)
    ● badania użyteczności i user experience
    ● architektura informacji
    ● antropologia kulturowa

    View full-size slide

  45. Źródła
    ● 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 full-size slide

  46. Dziękuję za uwagę!
    AleksandraKornecka.com
    GirlsWhoTest.pl
    OLXgroup.com

    View full-size slide