SlideShare a Scribd company logo
1 of 52
PODSTAWY TESTOWANIA
OPROGRAMOWANIA
Katarzyna Javaheri-Szpak
2 grudnia 2021
Uniwersytet Warszawski
#podajdalejprogramowanie
O mnie
Katarzyna Javaheri-Szpak
• absolwentka fiolologii orientalnej (2007)
• 2007-2016 – praca związana z Bliskim Wschodem
(nauczanie, konsulting, biznes),
• od 2016 informatyczne studia podyplomowe oraz
pierwsze zlecenia w branży IT
Moja ścieżka do QA Automation Inżyniera
• od 2016 – zlecenia jako WordPress Admin i Junior Developer
• od 2017 – praca w software house jako WordPress Developer i specjalista
bezpieczeństwa WordPressa
• od 2018 – tester manualny i automatyzujący (Python, Selenium, później
i JavaScript)
• obecnie pracuję dla izraelskiego startupu Kaholo oraz krakowskiego
narzędzia do windykacji płatności – FlowMo
• po godzinach robię strony na WordPressie i uczę języka perskiego 
Testowanie oprogramowania
Czym jest testowanie oprogramowania?
Jest to część procesu wytwarzania oprogramowania.
Rozpoczyna się zwykle już w momencie spisywania specyfikacji wymagań (czyli, gdy
wiemy jak ma działać aplikacja).
Praca testera (testowanie) polega na znalezieniu niezgodności w wymaganiach,
wykryciu potencjalnych luk oraz błędów.
Testowanie buduje zaufanie do tworzonego kodu  przetestowany kod = mniej
potencjalnych problemów.
Testowanie oprogramowania
Walidacja i weryfikacja = testowanie
walidacja  sprawdzamy czy oprogramowanie jest zgodne
z oczekiwaniami użytkownika
weryfikacja  sprawdzamy czy oprogramowanie jest zgodne z
wymaganiami, specyfikacją
tester / QA / inżynier ds. jakości
ZAPEWNIANIE JAKOŚCI
TESTOWANIE
QA = Quality Assurance
zapewnianie jakości
testowanie = część procesu
zapewniania jakości
proces wytwarzania oprogramowania
planowanie wykonanie weryfikacja wdrożenie ulepszenie
m.in. testowanie
zapewnianie jakości
Kiedy można powiedzieć,
że jakość została zapewniona?
Gdy projekt jest zakończony sukcesem,
czyli gdy został zrealizowany:
w przyjętym budżecie,
w akceptowalnym terminie
a gotowy produkt spełnia oczekiwania klienta.
Co to jest jakość?
ogół cech i właściwości obiektu decydujących o ich zdolności do
zaspokajania stwierdzonych i przewidywanych potrzeb
(PN-EN ISO 8402:1996. Zarządzanie jakością i zapewnienie jakości. Terminologia.)
zbiór inherentnych* właściwości spełniających wymagania
(PN-EN ISO 9000:2001. Systemy zarządzania jakością. Podstawy i terminologia.)
*nieodłącznych
Cechy dobrego jakościowo oprogramowa
• funkcjonalność (functionality)  przydatne funkcje
• niezawodność (reliability)  bez awarii i opóźnień
• użyteczność (usability)  przyjazne użytkownikowi
• wydajność (efficiency)  szybkość działania
• łatwość utrzymania (maintanability)  zrozumiałe, proste
rozwiązania, łatwe do zrozumienia i naprawienia
• przenośność (portability)  kompatybilność systemu i
danych z wieloma rozwiązaniami, także nowymi
https://memy.jeja.pl/1095,proste-zlecenie.html
BUG / BŁĄD
• bug czyli błąd, który powoduje
nieprawidłowe działanie aplikacji /
oprogramowania.
Bugi najczęściej zgłaszane są:
• przez użytkowników (np. na pierwszej
linii pomocy)
• przez testerów,
• przez programistów,
• przez product ownerów, project
managerów
Dlaczego błąd nazywamy bugiem?
Bug czyli po angielsku
“robak, owad, robal”
W IT (także po polsku): błąd w kodzie
Nazwa pochodzi od prawdziwego
“buga” – ćmy znalezionej w 1947 r.
w komputerze na Harvardzie
Źródło: https://en.Wikipedia.Org/wiki/software_bug
Kiedy pojawia się bug?
błąd człowieka
bug w kodzie
zły kod
nieoczekiwane
działanie
awaria
systemu
Przyczyny błędów ludzkich
w oprogramowaniu (przykłady)
•Wysoki stopień skomplikowania kodu
•Praca pod dużą presją czasu
•Zaawansowana technologia
•Przemęczenie, choroba, “zły dzień”
Zasady testowania – wg ISTQB
7 zasad testowania według ISTQB
Co to jest certyfikat ISTQB?
International Software Testing Qualifications Board = ISTQB
Międzynardowa organizacja działająca od 2002 roku, która ustandaryzowała procesy i techniki
testowania.
Organizacja wydaje certyfikaty na poziomie podstawowym i zaawansowanym (różne ścieżki).
https://www.istqb.org/
Zasady testowania – zasada 1
Testy wykrywają błędy, ale nie jest możliwe znalezienie
WSZYSTKICH błędów
Testy wprawdzie wykrywają błędy, ale nie są w stanie potwierdzić, że
w oprogramowaniu nie ma już żadnych błędów.
Zasady testowania – zasada 2
Nie jest możliwe przetestowanie wszystkiego
Nie jesteśmy w stanie przetestować wszystkiego – wszystkich
przypadków testowych i nietypowych zachowań użytkowników.
Testowanie, w zależności od czasu jaki mamy na testy i od budżetu,
powinno obejmować najbardziej krytyczne funkcje.
Zasady testowania – zasada 3
Rozpoczęcie wczesnych testów oszczędza czas i inne środki
Jeśli zaczniemy testować już na etapie tworzenia wymagań, a
później tworzenia kodu, to koszt usunięcia błędów na wczesnym
etapie będzie niższy niż usunięcie błędów
z produktu już oddanego użytkownikom.
Zasady testowania – zasada 4
Zasada Pareto 80/20 - błędy lubią się kumulować w jednym miejscu
80% wszystkich błędów skupia się w 20% całego kodu
znajdując błąd lub dwa w jakimś komponencie, możemy
przypuszczać, że znajdziemy ich więcej
Zasady testowania – zasada 5
Zasada paradoksu pestycydów – uodparnianie na testy
Jeśli ciągle uruchamiamy te same testy to tracą one zdolność do
znajdywania nowych błędów
Należy ciągle zarządzać testami, ulepszać je, a nie tylko stworzyć
zestaw testów i używać ich bezrefleksyjnie
Zasady testowania – zasada 6
Testowanie zależy od kontekstu
W zależności od tego jakiego typu oprogramowanie testujemy, to
kontekst wyznacza podjęcie odpowiednich kroków.
Należy dopasować podejście do testów do konkretnej aplikacji.
Zasady testowania – zasada 7
Błędne przekonanie o braku błędów 
Samo naprawianie błędów nie sprawi, że aplikacja będzie przyjazna
użytkownikom.
Oprogramowanie powinno być dostowane do oczekiwań osób z
niego korzystających. Jeśli zostało źle zaprojektowane to naprawa
nawet setki błędów nie sprawi, że jego jakość wzrośnie.
Przykłady prostych bugów
ZNAJDŹ BUGA 🐞
Dokumentacja
Strona logowania do konta
Użytkownik wprowadza prawidłowy e-
mail i hasło
Użytkownik klika w przycisk “zaloguj”
Oczekiwany rezultat:
Użytkownik loguje się do konta
ZNAJDŹ BUGA 🐞
Bug:
Brak przycisku “zaloguj”
Użytkownik nie ma jak się zalogować
do konta
ZALOGUJ
Czy to bug?
(przykłady)
CZY TO BUG?
CZY TO BUG?
To nie błąd
Taki komunikat pojawia się na
Facebooku, gdy mamy mało znajomych
i mało obserwowanych stron i zjedziemy
na sam dół “walla”
CZY TO BUG?
CZY TO BUG?
To jest błąd
Taki komunikat pojawia się na Facebooku
w aplikacji mobilnej,
gdy mamy mało znajomych i mało
obserwowanych stron i zjedziemy na sam
dół “walla”
Powinien pojawić się ten sam komunikat co
na komputerze
jakiś czas temu
w apce
bankowej…
“SŁYNNE BUGI”?
Testowe
wiadomości push
od mBanku
mBank wyszedł z
tego obronną ręką

Tzw. millenium bug
Na przełomie 1999/2000 wiele
systemów informatycznych uległo
awarii lub podawało błędną datę
1 stycznia 1900 roku.
Problem ten spowodowany był przez
sposób zapisu daty w programach
komputerowych
Te które miały rok zapisany
np. 00 zamiast 2000
mogły omyłkowo “wrócić” do roku
Pod koniec 1999 roku, prasa
dodatkowo szukała sensacji
Pisano o końcu świata w związku z
wejściem w rok 2000
(Komputery miały przejąć kontrolę nad
ludźmi)
PRACA TESTERA
DZIEŃ Z ŻYCIA TESTERA – NARZĘDZIA
Narzędzia do zarządzania zadaniami (JIRA, Trello)
Narzędzia do pisania scenariuszy testowych
Narzędzia do robienia screenshotów i nagrywania
ekranu
Przeglądarki internetowe z funkcjami
programistycznymi (Chrome, Safari, Mozilla…)
Komunikatory internetowe (Slack, Teams)
Zoom lub Google Meet do spotkań online
Edytory kodu (testerzy automatyzujący)
DZIEŃ Z ŻYCIA TESTERA
– ZADANIA CODZIENNE
o Uczestniczenie w codziennych spotkaniach (daily)
o Uczestniczenie w spotkaniach: planowaniu, prezentacjach
produktu, podsumowaniach
o Wymiana wiedzy z innymi programistami lub testerami
(warsztaty, prezentacje)
o Doszkalanie się, szukanie nowych rozwiązań i ulepszeń
DZIEŃ Z ŻYCIA TESTERA
– ZADANIA CODZIENNE
o Wykonywanie przypisanych zadań, zgodnie z kolejnością wyznaczoną przez
menedżera / product ownera
 Testowanie nowych funkcji lub modułów
 Ponowne testowanie naprawionych bugów
 Testowanie całej aplikacji lub programu, tzw. testowanie regresyjne
 Pisanie dokumentacji testowej (scenariusze, raporty z testów)
 Pomoc obsłudze klienta w rozwiązywaniu problemów zgłoszonych przez
użytkowników
 Pisanie testów automatycznych (programowanie testów)
 Przygotowanie środowisk testowych i danych potrzebnych do
przeprowadzenia testów
 Analiza dokumentacji pod kątem przyszłych testów
TESTOWANIE MANUALNE
I AUTOMATYCZNE
Testowanie manualne (ręczne)
- testy wykonywane są ręcznie
przez wyznaczoną osobę
(testera),
- testerzy manualni
przeprowadzają testy w oparciu
o przypadki testowe,
- dopuszczalne jest również
testowanie ad hoc lub przez
użytkowników końcowych
- mogą być zawodne (pierwiastek
ludzki)
Testowanie automatyczne
- testy wykonują się automatycznie w
oparciu
o wcześniej stworzone skrypty
testowe (w różnych językach
programowania lub narzędziach
low-code),
- ograniczona rola człowieka
i co za tym idzie niezawodność
(skrypty nie chorują i nie są
zmęczone 
TESTOWANIE FUNKCJONALNE
I NIEFUNKCJONALNE
Testowanie funkcjonalne
- testy funkcji, jakie pełni system,
- bazują na wymaganiach,
specyfikacjach
- skupiają się na zewnętrznym
działaniu systemu (to, co widzi
użytkownik)
CO ROBI SYSTEM?
Testowanie niefunkcjonalne
- testy te nie są powiązane
z funkcjonalnością systemu,
- testujemy jak system działa,
- testują: wydajność,
niezawodność, bezpieczeństwo,
użyteczność, dostępność
JAK DZIAŁA SYSTEM?
TESTOWANIE BIAŁO-
I CZARNO- SKRZYNKOWE
Testy białoskrzynkowe
- osoba testująca zna budowę
system, jego strukturę,
- osoba testująca analizuje kod,
- wymagana jest co najmniej
podstawowa wiedza na temat
programowania.
Testowanie czarnoskrzynkowe
- osoba testująca nie wie, jak
skonstruowany został testowany
system
- system jest postrzegany jako „czarna
skrzynka”,
- podstawą tego typu testów jest
dokumentacja – musimy wiedzieć
jakie kroki podjąć i co jest
oczekiwanym rezultatem
TESTY REGRESJI I RE-TESTY
Testy regresji
- sprawdzamy cały system lub
najważniejsze części,
- sprawdzamy czy nowe zmiany
nie zepsuły czegoś
w istniejących
funkcjonalnościach,
- są to testy powtarzalne, najlepiej
jest je zautomatyzować
Re-testy
- sprawdzamy czy zgłoszony bug
został naprawiony
- dotyczą pojedynczych
zagadnień
- zwykle testowane manualnie
PRZYPADEK TESTOWY
(TEST CASE)
To zbiór instrukcji odpowiadający na pytanie “Co testujemy?”
Instrukcje te są nam potrzebne, by sprawdzić poprawność działania danej
funkcjonalności.
Najczęściej składa się z:
- warunków początkowych,
- kroków odtworzenia (czyli co musimy zrobić w systemie),
- oczekiwanego rezultatu (musi być jednoznaczny!),
- dodatkowych informacji: wymagane środowisko, priorytet
PRZYPADEK TESTOWY - PRZYKŁAD
Nazwa: Poprawne dodanie komentarza pod postem
Warunki początkowe:
W systemie istnieje post, który można skomentować
Kroki odtworzenia:
• wpisz swój kometarz w pole pod postem
• kliknij przycisk “Wyślij”
Oczekiwany rezultat:
Komentarz został dodany pod postem.
PRZYPADEK TESTOWY - PRZYKŁAD
Nazwa: Niepoprawna próba dodania komentarza pod postem
Warunki początkowe:
W systemie istnieje post, który można skomentować
Kroki odtworzenia:
• nie wpisuj nic w pole komentarza
• kliknij przycisk “Wyślij”
Oczekiwany rezultat:
Komentarz nie został dodany pod postem.
SCENARIUSZ TESTOWY
W uproszczeniu to zbiór przypadków testowych, który testuje np. daną ścieżkę w
systemie.
Przykład:
- logowanie
- dodanie produktu do koszyka
- sprawdzenie koszyka
- złożenie zamówienia
- sprawdzenie poprawności zamówienia
PRZYKŁAD DOBORU TESTÓW
Produkt: edytor makiet 3D online
Charakterystyka: istnieje od 6 lat, dużo funkcji, niezmienna “baza” funkcji,
3 razy w tygodniu dodawane drobne poprawki, a także nowe funkcjonalności
Testy: oprócz testów nowych funkcjonalności, należy przed każdym wydaniem nowych
zmian, przetestować cały system pod kątem regresji
Nieefektywne podejście:
Testy manualne regresji: zajmują 3-4 godziny, wykonywane co dwa dni, żmudne i
męczące dla testera (po roku pracy wykonuje 156 praktycznie identycznych sesji)
Efektywne podejście: zautomatyzowanie powtarzalnych ścieżek, manualne testowanie
tylko nowych funkcjonalności
PRZYKŁAD DOBORU TESTÓW
Produkt: innowacyjna platforma do inwestycji
Charakterystyka: istnieje od 3 miesięcy, co chwilę zmienia się koncept jej działania,
autorzy poszukują wciąż nowych rozwiązań
Testy: testy nowych funkcjonalności i testy całego systemu po każdej większej zmianie
koncepcji
Nieefektywne podejście:
Automatyzacja każdej nowej funkcjonalności – podejście kosztowne, a bez gwarancji,
że w przyszłości te funkcjonalności będą nadal częścią systemu
Efektywne podejście:
Testowanie manualne, zarówno przez zawodowych testerów, jak i np.
w ramach programu wczesnego dostępu – przez użytkowników
DZIĘKUJĘ ZA UWAGĘ!  PYTANIA
KATARZYNA.JAVAHERI@GMAIL.COM
HTTPS://JAVAHERI.PL
QUIZ
Z NAGRODĄ

More Related Content

What's hot

Cele dydaktyczne
Cele dydaktyczneCele dydaktyczne
Cele dydaktyczneknbb_mat
 
Prezentacja plan daltoński
Prezentacja   plan daltońskiPrezentacja   plan daltoński
Prezentacja plan daltońskiwiosenka
 
Janusz korczak od a do z
Janusz korczak od a do zJanusz korczak od a do z
Janusz korczak od a do zbibliozso6
 
운영이관업무 효율화방안
 운영이관업무 효율화방안 운영이관업무 효율화방안
운영이관업무 효율화방안Eugene Chung
 
Scenariusz zajęć w przedszkolu specjalnym
Scenariusz zajęć w przedszkolu specjalnymScenariusz zajęć w przedszkolu specjalnym
Scenariusz zajęć w przedszkolu specjalnymizaab
 
Samobójstwa prezentacja
Samobójstwa   prezentacjaSamobójstwa   prezentacja
Samobójstwa prezentacjaTofik87
 
Autoprezentacja dla tworzących prezentacje w powerpoint
Autoprezentacja dla tworzących prezentacje w powerpointAutoprezentacja dla tworzących prezentacje w powerpoint
Autoprezentacja dla tworzących prezentacje w powerpointprezentacjepower
 
O misterio de sirius - Robert Temple.pdf
O misterio de sirius - Robert Temple.pdfO misterio de sirius - Robert Temple.pdf
O misterio de sirius - Robert Temple.pdfVIEIRA RESENDE
 
Teoria dramaturgiczna
Teoria dramaturgiczna  Teoria dramaturgiczna
Teoria dramaturgiczna magdalenaki
 
Teoria wychowania w zarysie (1)
Teoria wychowania w zarysie (1)Teoria wychowania w zarysie (1)
Teoria wychowania w zarysie (1)knbb_mat
 

What's hot (11)

Cele dydaktyczne
Cele dydaktyczneCele dydaktyczne
Cele dydaktyczne
 
Prezentacja plan daltoński
Prezentacja   plan daltońskiPrezentacja   plan daltoński
Prezentacja plan daltoński
 
Autoprezentacja
AutoprezentacjaAutoprezentacja
Autoprezentacja
 
Janusz korczak od a do z
Janusz korczak od a do zJanusz korczak od a do z
Janusz korczak od a do z
 
운영이관업무 효율화방안
 운영이관업무 효율화방안 운영이관업무 효율화방안
운영이관업무 효율화방안
 
Scenariusz zajęć w przedszkolu specjalnym
Scenariusz zajęć w przedszkolu specjalnymScenariusz zajęć w przedszkolu specjalnym
Scenariusz zajęć w przedszkolu specjalnym
 
Samobójstwa prezentacja
Samobójstwa   prezentacjaSamobójstwa   prezentacja
Samobójstwa prezentacja
 
Autoprezentacja dla tworzących prezentacje w powerpoint
Autoprezentacja dla tworzących prezentacje w powerpointAutoprezentacja dla tworzących prezentacje w powerpoint
Autoprezentacja dla tworzących prezentacje w powerpoint
 
O misterio de sirius - Robert Temple.pdf
O misterio de sirius - Robert Temple.pdfO misterio de sirius - Robert Temple.pdf
O misterio de sirius - Robert Temple.pdf
 
Teoria dramaturgiczna
Teoria dramaturgiczna  Teoria dramaturgiczna
Teoria dramaturgiczna
 
Teoria wychowania w zarysie (1)
Teoria wychowania w zarysie (1)Teoria wychowania w zarysie (1)
Teoria wychowania w zarysie (1)
 

Similar to Podstawy testowania oprogramowania

Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by raviRavindranath Tagore
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1bhushan Nehete
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingCameron Presley
 
Software testing
Software testingSoftware testing
Software testingSengu Msc
 
Software testing
Software testingSoftware testing
Software testingSengu Msc
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is TestingMateri testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testingdevinta sari
 
7 QA Tests You Should Be Running
7 QA Tests You Should Be Running7 QA Tests You Should Be Running
7 QA Tests You Should Be RunningRainforest QA
 
20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdfDSIVABALASELVAMANIMC
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Manual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxManual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxsai kiran
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2seli purnianda
 
Quality assurance by Sadquain
Quality assurance by Sadquain Quality assurance by Sadquain
Quality assurance by Sadquain Xad Kuain
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experiencedzynofustechnology
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSrikanth Krishnamoorthy
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself ) Globant
 

Similar to Podstawy testowania oprogramowania (20)

Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by ravi
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
Qa Faqs
Qa FaqsQa Faqs
Qa Faqs
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 
Software Testing
 Software Testing  Software Testing
Software Testing
 
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is TestingMateri testing dan Implementasi sistem - Fundamentals of testing-What is Testing
Materi testing dan Implementasi sistem - Fundamentals of testing-What is Testing
 
7 QA Tests You Should Be Running
7 QA Tests You Should Be Running7 QA Tests You Should Be Running
7 QA Tests You Should Be Running
 
20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Manual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docxManual Testing guide by nagula sai kiran.docx
Manual Testing guide by nagula sai kiran.docx
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
 
Quality assurance by Sadquain
Quality assurance by Sadquain Quality assurance by Sadquain
Quality assurance by Sadquain
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 

More from Katarzyna Javaheri-Szpak

BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)
BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)
BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)Katarzyna Javaheri-Szpak
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxKatarzyna Javaheri-Szpak
 
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treścią
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treściąBezpieczeństwo stron opartych na popularnych systemach zarządzania treścią
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treściąKatarzyna Javaheri-Szpak
 
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...Katarzyna Javaheri-Szpak
 

More from Katarzyna Javaheri-Szpak (8)

Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)
BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)
BugHuntFest2024 - Mity o pracy testera (Katarzyna Javaheri)
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
 
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treścią
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treściąBezpieczeństwo stron opartych na popularnych systemach zarządzania treścią
Bezpieczeństwo stron opartych na popularnych systemach zarządzania treścią
 
Codzienna praca testerki oprogramowania
Codzienna praca testerki oprogramowaniaCodzienna praca testerki oprogramowania
Codzienna praca testerki oprogramowania
 
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...
WDI 2021 - Pierwszy duży projekt w Pythonie i Selenium - Katarzyna Javaheri-S...
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 

Podstawy testowania oprogramowania

  • 1. PODSTAWY TESTOWANIA OPROGRAMOWANIA Katarzyna Javaheri-Szpak 2 grudnia 2021 Uniwersytet Warszawski #podajdalejprogramowanie
  • 2. O mnie Katarzyna Javaheri-Szpak • absolwentka fiolologii orientalnej (2007) • 2007-2016 – praca związana z Bliskim Wschodem (nauczanie, konsulting, biznes), • od 2016 informatyczne studia podyplomowe oraz pierwsze zlecenia w branży IT
  • 3. Moja ścieżka do QA Automation Inżyniera • od 2016 – zlecenia jako WordPress Admin i Junior Developer • od 2017 – praca w software house jako WordPress Developer i specjalista bezpieczeństwa WordPressa • od 2018 – tester manualny i automatyzujący (Python, Selenium, później i JavaScript) • obecnie pracuję dla izraelskiego startupu Kaholo oraz krakowskiego narzędzia do windykacji płatności – FlowMo • po godzinach robię strony na WordPressie i uczę języka perskiego 
  • 4. Testowanie oprogramowania Czym jest testowanie oprogramowania? Jest to część procesu wytwarzania oprogramowania. Rozpoczyna się zwykle już w momencie spisywania specyfikacji wymagań (czyli, gdy wiemy jak ma działać aplikacja). Praca testera (testowanie) polega na znalezieniu niezgodności w wymaganiach, wykryciu potencjalnych luk oraz błędów. Testowanie buduje zaufanie do tworzonego kodu  przetestowany kod = mniej potencjalnych problemów.
  • 5. Testowanie oprogramowania Walidacja i weryfikacja = testowanie walidacja  sprawdzamy czy oprogramowanie jest zgodne z oczekiwaniami użytkownika weryfikacja  sprawdzamy czy oprogramowanie jest zgodne z wymaganiami, specyfikacją
  • 6. tester / QA / inżynier ds. jakości ZAPEWNIANIE JAKOŚCI TESTOWANIE QA = Quality Assurance zapewnianie jakości testowanie = część procesu zapewniania jakości
  • 7. proces wytwarzania oprogramowania planowanie wykonanie weryfikacja wdrożenie ulepszenie m.in. testowanie zapewnianie jakości
  • 8. Kiedy można powiedzieć, że jakość została zapewniona? Gdy projekt jest zakończony sukcesem, czyli gdy został zrealizowany: w przyjętym budżecie, w akceptowalnym terminie a gotowy produkt spełnia oczekiwania klienta.
  • 9. Co to jest jakość? ogół cech i właściwości obiektu decydujących o ich zdolności do zaspokajania stwierdzonych i przewidywanych potrzeb (PN-EN ISO 8402:1996. Zarządzanie jakością i zapewnienie jakości. Terminologia.) zbiór inherentnych* właściwości spełniających wymagania (PN-EN ISO 9000:2001. Systemy zarządzania jakością. Podstawy i terminologia.) *nieodłącznych
  • 10. Cechy dobrego jakościowo oprogramowa • funkcjonalność (functionality)  przydatne funkcje • niezawodność (reliability)  bez awarii i opóźnień • użyteczność (usability)  przyjazne użytkownikowi • wydajność (efficiency)  szybkość działania • łatwość utrzymania (maintanability)  zrozumiałe, proste rozwiązania, łatwe do zrozumienia i naprawienia • przenośność (portability)  kompatybilność systemu i danych z wieloma rozwiązaniami, także nowymi
  • 12. BUG / BŁĄD • bug czyli błąd, który powoduje nieprawidłowe działanie aplikacji / oprogramowania. Bugi najczęściej zgłaszane są: • przez użytkowników (np. na pierwszej linii pomocy) • przez testerów, • przez programistów, • przez product ownerów, project managerów
  • 13. Dlaczego błąd nazywamy bugiem? Bug czyli po angielsku “robak, owad, robal” W IT (także po polsku): błąd w kodzie Nazwa pochodzi od prawdziwego “buga” – ćmy znalezionej w 1947 r. w komputerze na Harvardzie Źródło: https://en.Wikipedia.Org/wiki/software_bug
  • 14. Kiedy pojawia się bug? błąd człowieka bug w kodzie zły kod nieoczekiwane działanie awaria systemu
  • 15. Przyczyny błędów ludzkich w oprogramowaniu (przykłady) •Wysoki stopień skomplikowania kodu •Praca pod dużą presją czasu •Zaawansowana technologia •Przemęczenie, choroba, “zły dzień”
  • 16. Zasady testowania – wg ISTQB 7 zasad testowania według ISTQB Co to jest certyfikat ISTQB? International Software Testing Qualifications Board = ISTQB Międzynardowa organizacja działająca od 2002 roku, która ustandaryzowała procesy i techniki testowania. Organizacja wydaje certyfikaty na poziomie podstawowym i zaawansowanym (różne ścieżki). https://www.istqb.org/
  • 17. Zasady testowania – zasada 1 Testy wykrywają błędy, ale nie jest możliwe znalezienie WSZYSTKICH błędów Testy wprawdzie wykrywają błędy, ale nie są w stanie potwierdzić, że w oprogramowaniu nie ma już żadnych błędów.
  • 18. Zasady testowania – zasada 2 Nie jest możliwe przetestowanie wszystkiego Nie jesteśmy w stanie przetestować wszystkiego – wszystkich przypadków testowych i nietypowych zachowań użytkowników. Testowanie, w zależności od czasu jaki mamy na testy i od budżetu, powinno obejmować najbardziej krytyczne funkcje.
  • 19. Zasady testowania – zasada 3 Rozpoczęcie wczesnych testów oszczędza czas i inne środki Jeśli zaczniemy testować już na etapie tworzenia wymagań, a później tworzenia kodu, to koszt usunięcia błędów na wczesnym etapie będzie niższy niż usunięcie błędów z produktu już oddanego użytkownikom.
  • 20. Zasady testowania – zasada 4 Zasada Pareto 80/20 - błędy lubią się kumulować w jednym miejscu 80% wszystkich błędów skupia się w 20% całego kodu znajdując błąd lub dwa w jakimś komponencie, możemy przypuszczać, że znajdziemy ich więcej
  • 21. Zasady testowania – zasada 5 Zasada paradoksu pestycydów – uodparnianie na testy Jeśli ciągle uruchamiamy te same testy to tracą one zdolność do znajdywania nowych błędów Należy ciągle zarządzać testami, ulepszać je, a nie tylko stworzyć zestaw testów i używać ich bezrefleksyjnie
  • 22. Zasady testowania – zasada 6 Testowanie zależy od kontekstu W zależności od tego jakiego typu oprogramowanie testujemy, to kontekst wyznacza podjęcie odpowiednich kroków. Należy dopasować podejście do testów do konkretnej aplikacji.
  • 23. Zasady testowania – zasada 7 Błędne przekonanie o braku błędów  Samo naprawianie błędów nie sprawi, że aplikacja będzie przyjazna użytkownikom. Oprogramowanie powinno być dostowane do oczekiwań osób z niego korzystających. Jeśli zostało źle zaprojektowane to naprawa nawet setki błędów nie sprawi, że jego jakość wzrośnie.
  • 25. ZNAJDŹ BUGA 🐞 Dokumentacja Strona logowania do konta Użytkownik wprowadza prawidłowy e- mail i hasło Użytkownik klika w przycisk “zaloguj” Oczekiwany rezultat: Użytkownik loguje się do konta
  • 26. ZNAJDŹ BUGA 🐞 Bug: Brak przycisku “zaloguj” Użytkownik nie ma jak się zalogować do konta ZALOGUJ
  • 29. CZY TO BUG? To nie błąd Taki komunikat pojawia się na Facebooku, gdy mamy mało znajomych i mało obserwowanych stron i zjedziemy na sam dół “walla”
  • 31. CZY TO BUG? To jest błąd Taki komunikat pojawia się na Facebooku w aplikacji mobilnej, gdy mamy mało znajomych i mało obserwowanych stron i zjedziemy na sam dół “walla” Powinien pojawić się ten sam komunikat co na komputerze
  • 32. jakiś czas temu w apce bankowej…
  • 34. Testowe wiadomości push od mBanku mBank wyszedł z tego obronną ręką 
  • 35. Tzw. millenium bug Na przełomie 1999/2000 wiele systemów informatycznych uległo awarii lub podawało błędną datę 1 stycznia 1900 roku. Problem ten spowodowany był przez sposób zapisu daty w programach komputerowych Te które miały rok zapisany np. 00 zamiast 2000 mogły omyłkowo “wrócić” do roku Pod koniec 1999 roku, prasa dodatkowo szukała sensacji Pisano o końcu świata w związku z wejściem w rok 2000 (Komputery miały przejąć kontrolę nad ludźmi)
  • 37. DZIEŃ Z ŻYCIA TESTERA – NARZĘDZIA Narzędzia do zarządzania zadaniami (JIRA, Trello) Narzędzia do pisania scenariuszy testowych Narzędzia do robienia screenshotów i nagrywania ekranu Przeglądarki internetowe z funkcjami programistycznymi (Chrome, Safari, Mozilla…) Komunikatory internetowe (Slack, Teams) Zoom lub Google Meet do spotkań online Edytory kodu (testerzy automatyzujący)
  • 38. DZIEŃ Z ŻYCIA TESTERA – ZADANIA CODZIENNE o Uczestniczenie w codziennych spotkaniach (daily) o Uczestniczenie w spotkaniach: planowaniu, prezentacjach produktu, podsumowaniach o Wymiana wiedzy z innymi programistami lub testerami (warsztaty, prezentacje) o Doszkalanie się, szukanie nowych rozwiązań i ulepszeń
  • 39. DZIEŃ Z ŻYCIA TESTERA – ZADANIA CODZIENNE o Wykonywanie przypisanych zadań, zgodnie z kolejnością wyznaczoną przez menedżera / product ownera  Testowanie nowych funkcji lub modułów  Ponowne testowanie naprawionych bugów  Testowanie całej aplikacji lub programu, tzw. testowanie regresyjne  Pisanie dokumentacji testowej (scenariusze, raporty z testów)  Pomoc obsłudze klienta w rozwiązywaniu problemów zgłoszonych przez użytkowników  Pisanie testów automatycznych (programowanie testów)  Przygotowanie środowisk testowych i danych potrzebnych do przeprowadzenia testów  Analiza dokumentacji pod kątem przyszłych testów
  • 40. TESTOWANIE MANUALNE I AUTOMATYCZNE Testowanie manualne (ręczne) - testy wykonywane są ręcznie przez wyznaczoną osobę (testera), - testerzy manualni przeprowadzają testy w oparciu o przypadki testowe, - dopuszczalne jest również testowanie ad hoc lub przez użytkowników końcowych - mogą być zawodne (pierwiastek ludzki) Testowanie automatyczne - testy wykonują się automatycznie w oparciu o wcześniej stworzone skrypty testowe (w różnych językach programowania lub narzędziach low-code), - ograniczona rola człowieka i co za tym idzie niezawodność (skrypty nie chorują i nie są zmęczone 
  • 41. TESTOWANIE FUNKCJONALNE I NIEFUNKCJONALNE Testowanie funkcjonalne - testy funkcji, jakie pełni system, - bazują na wymaganiach, specyfikacjach - skupiają się na zewnętrznym działaniu systemu (to, co widzi użytkownik) CO ROBI SYSTEM? Testowanie niefunkcjonalne - testy te nie są powiązane z funkcjonalnością systemu, - testujemy jak system działa, - testują: wydajność, niezawodność, bezpieczeństwo, użyteczność, dostępność JAK DZIAŁA SYSTEM?
  • 42. TESTOWANIE BIAŁO- I CZARNO- SKRZYNKOWE Testy białoskrzynkowe - osoba testująca zna budowę system, jego strukturę, - osoba testująca analizuje kod, - wymagana jest co najmniej podstawowa wiedza na temat programowania. Testowanie czarnoskrzynkowe - osoba testująca nie wie, jak skonstruowany został testowany system - system jest postrzegany jako „czarna skrzynka”, - podstawą tego typu testów jest dokumentacja – musimy wiedzieć jakie kroki podjąć i co jest oczekiwanym rezultatem
  • 43. TESTY REGRESJI I RE-TESTY Testy regresji - sprawdzamy cały system lub najważniejsze części, - sprawdzamy czy nowe zmiany nie zepsuły czegoś w istniejących funkcjonalnościach, - są to testy powtarzalne, najlepiej jest je zautomatyzować Re-testy - sprawdzamy czy zgłoszony bug został naprawiony - dotyczą pojedynczych zagadnień - zwykle testowane manualnie
  • 44. PRZYPADEK TESTOWY (TEST CASE) To zbiór instrukcji odpowiadający na pytanie “Co testujemy?” Instrukcje te są nam potrzebne, by sprawdzić poprawność działania danej funkcjonalności. Najczęściej składa się z: - warunków początkowych, - kroków odtworzenia (czyli co musimy zrobić w systemie), - oczekiwanego rezultatu (musi być jednoznaczny!), - dodatkowych informacji: wymagane środowisko, priorytet
  • 45. PRZYPADEK TESTOWY - PRZYKŁAD Nazwa: Poprawne dodanie komentarza pod postem Warunki początkowe: W systemie istnieje post, który można skomentować Kroki odtworzenia: • wpisz swój kometarz w pole pod postem • kliknij przycisk “Wyślij” Oczekiwany rezultat: Komentarz został dodany pod postem.
  • 46. PRZYPADEK TESTOWY - PRZYKŁAD Nazwa: Niepoprawna próba dodania komentarza pod postem Warunki początkowe: W systemie istnieje post, który można skomentować Kroki odtworzenia: • nie wpisuj nic w pole komentarza • kliknij przycisk “Wyślij” Oczekiwany rezultat: Komentarz nie został dodany pod postem.
  • 47. SCENARIUSZ TESTOWY W uproszczeniu to zbiór przypadków testowych, który testuje np. daną ścieżkę w systemie. Przykład: - logowanie - dodanie produktu do koszyka - sprawdzenie koszyka - złożenie zamówienia - sprawdzenie poprawności zamówienia
  • 48. PRZYKŁAD DOBORU TESTÓW Produkt: edytor makiet 3D online Charakterystyka: istnieje od 6 lat, dużo funkcji, niezmienna “baza” funkcji, 3 razy w tygodniu dodawane drobne poprawki, a także nowe funkcjonalności Testy: oprócz testów nowych funkcjonalności, należy przed każdym wydaniem nowych zmian, przetestować cały system pod kątem regresji Nieefektywne podejście: Testy manualne regresji: zajmują 3-4 godziny, wykonywane co dwa dni, żmudne i męczące dla testera (po roku pracy wykonuje 156 praktycznie identycznych sesji) Efektywne podejście: zautomatyzowanie powtarzalnych ścieżek, manualne testowanie tylko nowych funkcjonalności
  • 49. PRZYKŁAD DOBORU TESTÓW Produkt: innowacyjna platforma do inwestycji Charakterystyka: istnieje od 3 miesięcy, co chwilę zmienia się koncept jej działania, autorzy poszukują wciąż nowych rozwiązań Testy: testy nowych funkcjonalności i testy całego systemu po każdej większej zmianie koncepcji Nieefektywne podejście: Automatyzacja każdej nowej funkcjonalności – podejście kosztowne, a bez gwarancji, że w przyszłości te funkcjonalności będą nadal częścią systemu Efektywne podejście: Testowanie manualne, zarówno przez zawodowych testerów, jak i np. w ramach programu wczesnego dostępu – przez użytkowników
  • 50. DZIĘKUJĘ ZA UWAGĘ!  PYTANIA KATARZYNA.JAVAHERI@GMAIL.COM HTTPS://JAVAHERI.PL
  • 51.