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

(PL) About software QA role in IT industry - for cognitive science students

(PL) About software QA role in IT industry - for cognitive science students

I was honoured to provide seminary about software quality assurance and tester role for cognitive science students.
Event description and link:
https://www.facebook.com/events/208501380285868/

Aleksandra Kornecka

January 27, 2020
Tweet

More Decks by Aleksandra Kornecka

Other Decks in Education

Transcript

  1. Praca w IT
    z perspektywy
    inżyniera
    ds. jakości
    oprogramowania
    Aleksandra Kornecka
    kognitywistyka UAM 27.01.2020

    View Slide

  2. Agenda
    1. Przykładowa ścieżka kariery.
    2. O oprogramowaniu i jego wytwarzaniu. Web i mobile.
    3. O jakości oprogramowania, programowaniu i testowaniu.
    4. Eksploracja przeglądarki internetowej i aplikacji web,
    zgłaszanie błędu.
    5. Umiejętności pożądane w IT oraz moc kognitywistów.

    View Slide

  3. View Slide

  4. O oprogramowaniu i jego wytwarzaniu.
    Web i mobile

    View Slide

  5. Czym jest oprogramowanie? ● Języki
    programowania
    ● Frameworki
    ● Kod produktu, kod
    testów, kod
    infrastruktury
    ● Konfiguracja
    środowisk
    ● Dane testowe i
    produkcyjne,
    migracje danych
    ● Autoryzacja
    ● Aktualizacje
    ● Integracje
    IDE = środowisko programistyczne wspomagające pisanie kodu

    View Slide

  6. Aplikacja webowa - przykład

    View Slide

  7. Aplikacja webowa - przykład

    View Slide

  8. Czym jest oprogramowanie?
    UI, frontend, wizualność i interakcja z użytkownikiem
    API, komunikacja aplikacji
    Backend, logika aplikacji
    infrastruktura, bazy danych, serwery itp.
    Sieci: internet, intranet, WLAN, WiFi itd.

    View Slide

  9. Działanie aplikacji webowej

    View Slide

  10. Aplikacja mobilna - przykład

    View Slide

  11. View Slide

  12. Kto wytwarza oprogramowanie?

    View Slide

  13. View Slide

  14. Role w IT - przykłady
    scrum master
    Programista (backend, frontend, full-stack)
    DevOps, SRE, admin
    koordynator projektu/ PM / PO
    Quality Assurance,
    tester grafik/designer
    architekt systemu
    marketing, sales
    specjalista social media
    UX researcher,
    UX designer
    analityk biznesowy
    Customer Support
    analityk produktowy
    data scientist

    View Slide

  15. Jak wytwarza się software?

    View Slide

  16. Metodyki zwinne

    View Slide

  17. O jakości oprogramowania,
    programowaniu i testowaniu

    View Slide

  18. Składniki jakości oprogramowania
    ● Spełnienie wymagań technicznych i biznesowych projektu
    ● Działanie zgodnie z najlepszymi praktykami w programowaniu,
    narzędziach, procesach
    ● Wymiary adekwatne do potrzeb takie jak funkcjonalność,
    stabilność, utrzymywalność, użyteczność itd.
    ● Zgodność ze standardami jak ISO, IEEE, PCI, GDPR (...)

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. Warto dbać o jakość

    View Slide

  23. View Slide

  24. Weryfikacja: czy działa?

    View Slide

  25. Walidacja: czy działa zgodnie z potrzebami?

    View Slide

  26. Eksploracja przeglądarki internetowej
    i aplikacji web, zgłaszanie błędu

    View Slide

  27. Przeglądarka internetowa (web browser)
    ● Jakiej przeglądarki używasz?
    ● Jakiej wersji przeglądarki używasz na
    desktopie?
    ● Jakiej wersji przeglądarki używasz na
    telefonie?
    ● Jakiej wersji przeglądarki używasz na ...
    telewizorze? :)
    ● ...

    View Slide

  28. Zobacz co masz w przeglądarce :)
    ● Inspect / Zbadaj element /
    ● zakładka Elements
    ● zakładka Network / Sieć
    ● zakładka Application
    ● zakładka Audits
    ● ...

    View Slide

  29. Przeglądarka internetowa
    Odkryj możliwości przeglądarki i poeksploruj wybraną
    aplikację webową lub stronę internetową,
    np. Wydział Psychologii i Kognitywistyki UAM

    View Slide

  30. Statusy HTTP i kody błędów
    1xx information
    2xx success
    3xx redirection
    4xx client errors
    5xx server errors
    Do podejrzenia np. w przeglądarce, w “devtoolsach” pod “Network” / “Sieć”

    View Slide


  31. eak? :-)

    View Slide

  32. Webowe, darmowe narzędzia do testowania
    aplikacji web (przykłady)
    ● https://jigsaw.w3.org/css-validator/ (poprawność styli)
    ● https://validator.w3.org/checklink (zepsute linkowania)
    ● https://developers.google.com/speed/pagespeed/insights/
    (performance - web & mobile)
    ● https://tools.pingdom.com/ (performance)
    Przykład: http://psychologia.amu.edu.pl/

    View Slide

  33. Zgłaszanie błędu (bug report)
    1. Prosty i zrozumiały dla wszystkich tytuł zgłoszenia.
    2. Opis błędu:
    a. Zaobserwowana nieprawidłowość świadcząca o błędzie
    ("Observed").
    b. Spodziewany stan / sytuacja ("Expected").
    c. Kroki do łatwego odtworzenia błędu ("Steps to reproduce").
    d. Informacje pomocne by zrozumieć błąd i naprawić - np. zrzut
    ekranu, film, dane testowe itp. ("test artifacts").
    3. Środowisko wystąpienia błędu - np. platforma, OS, program,
    wersja ("environment").

    View Slide

  34. Umiejętności pożądane w IT
    oraz moc kognitywistów

    View Slide

  35. Realia Information Technology (IT):
    Ludzie używają maszyn
    by tworzyć programy i przekazywać
    informacje
    dla innych ludzi.

    View Slide

  36. Soft skills
    ● podstawowa wiedza jak
    działa komputer i internet,
    sieci
    ● język angielski min. B1
    ● myślenie algorytmiczne
    i/lub programowanie
    ● wiedza domenowa z tego
    co akurat potrzeba
    (technologie, narzędzia)
    Hard skills
    ● komunikatywność, otwartość
    ● umiejętność znajdowania
    informacji
    ● analityczne myślenie, logiczne
    rozumowanie
    ● sprawne zarządzanie czasem
    ● kreatywność, myślenie
    dywergentne
    ● dokładność
    ● proaktywność, samodzielność

    View Slide

  37. "Odwaga cywilna" i wychodzenie ze swojej
    comfort zone jako QA, tester, dev, UX, PM

    View Slide

  38. Moc kognitywistów: Świadomość + znajomość
    ograniczeń i możliwości percepcji człowieka
    ● Programiści, UX, QA, analitycy, kierownicy projektów (..) = ludzie
    ● Klienci biznesowi = ludzie
    ● Użytkownicy końcowi = ludzie

    View Slide

  39. Znajomość heurystyk
    poznawczych
    39

    View Slide

  40. Świadomość ludzkich
    ograniczeń poznawczych
    vs
    rzeczywistości maszyn

    View Slide

  41. Świadomość biases

    View Slide

  42. Świadomość różnic w funkcjonowaniu
    poznawczym (różnice osobnicze, kulturowe itd.)

    View Slide

  43. Jakość postrzegana vs jakość mierzona

    View Slide

  44. View Slide

  45. Dziękuję za uwagę
    AleksandraKornecka.com
    GirlsWhoTest.pl
    Źródła, obrazki:
    https://goo.gl/Rn2Hri

    View Slide