Top Banner
Testowanie nauka, czy sztuka? łagodne wprowadzenie do testowania oprogramowania na przykładzie epickich awarii Adam Roman Instytut Informatyki UJ Women in Technology Kraków, sierpień 2015
21

Testowanie- nauka czy sztuka? - Adam Roman

Aug 16, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Testowanie- nauka czy sztuka? - Adam Roman

Testowanie – nauka, czy sztuka? łagodne wprowadzenie do testowania oprogramowania na przykładzie epickich awarii Adam Roman Instytut Informatyki UJ Women in Technology Kraków, sierpień 2015

Page 2: Testowanie- nauka czy sztuka? - Adam Roman

Testowanie integracyjne

system komunikacja system pokładowy kontroli naziemnej

Page 3: Testowanie- nauka czy sztuka? - Adam Roman

projekt statku $ 193 000 000 orbiter $ 125 000 000 lądownik $ 202 000 000 wystrzelenie $ 91 000 000 operacje $ 42 000 000 RAZEM $ 653 000 000

Page 4: Testowanie- nauka czy sztuka? - Adam Roman

Techniki pokrycia grafowego pokrycie instrukcyjne

Ile przypadków testowych potrzeba?

Page 5: Testowanie- nauka czy sztuka? - Adam Roman

Syberia czerwiec, 1982

Page 6: Testowanie- nauka czy sztuka? - Adam Roman

Race condition

A

B

B

A

Page 7: Testowanie- nauka czy sztuka? - Adam Roman

Therac-6: 6 MeV Therac-20: 20 MeV Therac-25: 25 MeV

Page 8: Testowanie- nauka czy sztuka? - Adam Roman

Analiza statyczna

#include <stdio.h>

int main() {

char c;

while (c!='x'); {

c=getchar();

if (c='x') return 0;

switch(c) {

case '\n':

case '\r':

printf("Newline\n");

default:

printf("%c",c);

}

}

Page 9: Testowanie- nauka czy sztuka? - Adam Roman

Therac-6: 6 MeV Therac-20: 20 MeV Therac-25: 25 MeV

Ariane 5 koszt misji: $ 7 000 000 000, w tym rakieta $ 500 000 000 czas projektu: 10 lat czas lotu: 40 sekund…

Page 10: Testowanie- nauka czy sztuka? - Adam Roman

Przeglądy i inspekcje

Page 11: Testowanie- nauka czy sztuka? - Adam Roman

AT&T blackout

1 while (bufor odbieranych połączeń niepusty and

bufor pomocniczy niepusty) do

2 inicjalizuj wskaźnik na pierwszy komunikat w

buforze pomocniczym lub buforze połączeń

3 pobierz kopię bufora

4 switch (komunikat)

5 case (incoming_message):

6 if (przekźnik nie działa) then

7 if (bufor zapisu pusty) then

8 wyślij komunikat "in service"

9 else

10 break

11 end if

12 end if

13 przetwórz przychodzący komunikat,

ustaw wskaźniki na opcjonalne parametry

14 break

15 end switch

16 przetwórz opcjonalne parametry

Page 12: Testowanie- nauka czy sztuka? - Adam Roman

Analiza wymagań

Funkcja X musi działać szybko W sytuacji X system musi

wykonać Y. Jeśli tego nie zrobi, to Z

System powinien być dostępny 24/7

Page 13: Testowanie- nauka czy sztuka? - Adam Roman

Rakiety Patriot

„Reboot the system every so often to reset the clocks”

Page 14: Testowanie- nauka czy sztuka? - Adam Roman

Gry Wojenne (film)

Page 15: Testowanie- nauka czy sztuka? - Adam Roman

Gry Wojenne (tyle, że naprawdę)

płk. Stanisław Pietrow

Page 16: Testowanie- nauka czy sztuka? - Adam Roman

Testowanie kombinatoryczne

tc system operacyjny komputer procesor

1 Win95 IBM Thinkpad AMD

2 Win95 Dell Intel

3 Win95 Sony VAIO Intel

4 Win98 IBM ThinkPad Intel

5 Win98 Dell AMD

6 Win98 Sony VAIO AMD

2 systemy operacyjne x 3 typy komputerów x 2 typy procesora = 12 możliwych kombinacji Minimalna liczba testów spełniająca kryterium pairwise = ?

Page 17: Testowanie- nauka czy sztuka? - Adam Roman
Page 18: Testowanie- nauka czy sztuka? - Adam Roman

Inne przykłady:

• przepełnienie bufora w unixowym fingerd • błąd w Excel 2007 (850 * 77.1 = 65535, ale wg Excela 100000) • błąd w procesorze Pentium (arytmetyka) • katastrofa sondy Mariner I (przez kreskę we wzorze) • Cobalt-60 (historia podobna do Therac-25, 15 lat później)

i wiele, wiele, wieeeeeeele innych…!

Page 19: Testowanie- nauka czy sztuka? - Adam Roman

Podsumowanie

TECHNIKI TESTOWANIA

(umowny podział)

czarnoskrzynkowe białoskrzynkowe

„sztuka” „nauka”

w testowaniu każdy może znaleźć coś dla siebie (swoją niszę) !

Page 20: Testowanie- nauka czy sztuka? - Adam Roman

Testowanie się opłaca Bycie testerem też się opłaca

Page 21: Testowanie- nauka czy sztuka? - Adam Roman

KONIEC ?