programmatūras paštestēšana
DESCRIPTION
Programmatūras paštestēšana. Šis darbs izstrādāts ar Eiropas Sociālā fonda atbalstu projektā «Atbalsts doktora studijām Latvijas Universitātē». Autors: Edgars Diebelis Vadītājs: Dr. sc. comp. Jānis Bičevskis. Paštestēšana. - PowerPoint PPT PresentationTRANSCRIPT
Autors: Edgars DiebelisVadītājs: Dr. sc. comp. Jānis Bičevskis
Šis darbs izstrādāts ar Eiropas Sociālā fonda atbalstu projektā «Atbalsts doktora studijām Latvijas Universitātē».
Spēja automātiski izpildīt iepriekš sagatavotus testus savas darba spējas pārbaudei.
Testēšanas pieejas◦Manuāla testēšana;◦Testēšana izmantojot atbalsta rīkus;◦Paštestēšana.
2
Problēmas nostādne. Paštestēšanas koncepcija. Paštestēšanas implementācija. Tradicionālo testēšanas rīku salīdzinājums
ar paštestēšanu. Paštestēšanas efektivitātes mērījumi. Secinājumi.
3
„skaitļošanas sistēmu sarežģītība tiecas uz cilvēka iespēju robežām”
(Kephart, J., O., Chess, D., M.). 2001. gadā IBM autonomiskās skaitļošanas
manifests◦ Tiek piedāvātas četras galvenās īpašības, kas
raksturo autonomisko skaitļošanu. 2007. gadā viedtehnoloģijas pieeja
◦ Identificēti septiņi viedtehnoloģiju veidi;◦ Paštestēšana kā viedtehnoloģijas sastāvdaļa.
4
Paštestēšana ietver divus komponentus:◦ Sistēmas kritiskās funkcionalitātes testa piemēri;◦ Programmā iebūvēts automātiskās testēšanas
mehānisms.
6
Etalona testa punktu XML fails
Paštestēšanas rīks
Rezultātu testa punktu XML fails
8
Testu izpildīšanas režīms
Testa punkts ir programmēšanas valodas komanda programmas tekstā, pie kuras tiek izpildītas testēšanas darbības.
Testa punkts nodrošina:◦ konkrētu darbību un lauku vērtību saglabāšanu;◦ programmas izpildes rezultāta piereģistrēšanu pie
testu atkārtotas izpildes. Izmantojot testa punktus, iespējams atkārot
sistēmas notikumu izpildi.
9
Testa punkti
Testa punktu veidi:◦ ievadlauka testa punkti;◦ salīdzināmās vērtības testa punkti;◦ sistēmas paziņojuma testa punkti;◦ SQL vaicājuma rezultāta testa punkti;◦ lietojumprogrammas notikuma testa punkti;◦ testa izpildes kritērija testa punkti;◦ paštestēšanas testa punkti;◦ u.c.
10
Testa punkti
Paštestēšanas programmatūras sastāv no:◦ Paštestēšanas moduļa;◦ paštestēšanas testu pārvaldes moduļa.
12
Paštestēšanas uzbūve
“ATI Automation Honors ” balvas laureāti. Pasniedz uzņēmums “Automated Testing
Institute”. Kopš 2009. gada izdod žurnālu “Automated
Software Testing”. Uztur tīmekļa vietni, kurā uzskaitīti un īsi
aprakstīti 716 automatizēti testēšanas rīki. Katru gadu organizē
automatizētas testēšanas konferenci “Verify/ATI”.
16
Testēšanas rīku izvēle
TestComplete 2010. gada labākais komerciālais automatizētas funkcionālās testēšanas
rīks FitNesse
2010. gada labākais atklātā pirmkoda automatizētas funkcionālās testēšanas rīks apakškategorijā .NET
Ranorex 2010. gada labākais komerciālais automatizētas funkcionālās testēšanas
rīks apakškategorijās .NET un Flash/Flex T-Plan Robot
2010. gada labākais atklātā pirmkoda automatizētas funkcionālās testēšanas rīks apakškategorijā Java
Rational Functional Tester 2009. un 2010. gadā finālists starp labākajiem komerciālajiem
automatizētas funkcionālās un veiktspējas testēšanas rīkiem HP Unified Functional Testing Software
2009. gada labākais komerciālais automatizētas funkcionālās testēšanas rīks
Selenium 2009. un 2010. gada labākais atklātā pirmkoda automatizētas funkcionālās
testēšanas rīks
17
Testēšanas rīki
Testēšanas metode (TM) Testu automatizēšanas pieeja
(TAP) Testu automatizēšanas ietvars
(TAI) Testēšanas stratēģija Testu ierakstīšana un atspēlēšana Darbvirsmas lietojumprogrammu
testēšana Tīmekļa lietojumprogrammu
testēšana Servisu testēšana Datu bāzes testēšana Testēšana produkcijas vidē Sistēmas lietotājs var veidot
testus Vienlaicīga vairāku testu izpilde
Paralēlu darbību veikšana Testējamā objekta noteikšana Testa rezultātu analīze Testu rediģēšana Ekrāna attēli Kontrolpunkti Objektu validēšana Objektu pārlūks Testu žurnāls (log) Testu izpildes laiku plānotājs Komandas izpildes beigu
noteikšana Spraudņi un paplašinājumi u. c.
18
Salīdzināšanas kritēriji
Jauni testu automatizēšanas ietvari. Testu redaktors un žurnāls. Objektu pārlūks un objektu validēšana. Slodzes, stresa u.c. testēšanas līmeņi. Tīmekļa lietojumprogrammu un servisu
testēšana. Papildus platformas. Spraudņi un paplašinājumi.
21
Paštestēšanas attīstība
Testēšana pēc baltās kastes metodes. Testēšana produkcijas vidē. Testu veidošana bez padziļinātām IT
zināšanām. Ārējo saskarņu testēšana. Rīka vienkāršība.
22
Paštestēšanas priekšrocības
Mērījumi veikti, balstoties uz esošas sistēmas kļūdas pieteikumiem.
Mērījumus nebūtu iespējams veikt, iestrādājot paštestēšanas pieeju pašā sistēmā.
Mērījumi veikti analizējot Valūtas un vērtspapīru uzskaites sistēmas kļūdas pieteikumus laika periodā no 2003.07. līdz 2011.08.
Kopējais kļūdu pieteikumu skaits: 1171. Subjektīvs viedoklis, tomēr apjomīgais incidentu
ziņojumu skaits, statistika atspoguļo tendences.
24
Efektivitātes mērījumi
25
Sadalījums pēc pieteikumu veidaPieteikuma veids Skaits % no kopējā Stundas % no kopējā
Dublikāts 68 5.81 23.16 0.47
Lietotāju kļūda 43 3.67 67.46 1.37
Kļūda – nenovēršama 178 15.2 1011.96 20.52
Kļūda – novēršama 736 62.85 3293.74 66.79
Uzlabojums 102 8.71 241.36 4.89
Konsultācija 44 3.76 293.92 5.96
Kopā: 1171 100 4931.6 100
26
Neidentificējamās kļūdasKļūdas veids Skaits % no kopējā
Ārējā saskarnes kļūda 5 2.81
Datoru konfigurācijas kļūda 12 6.74
Datu tipu kļūda 7 3.93
Lietotāja saskarnes kļūdas 25 14.04
Lietotāju paralēlo darbību kļūda 5 2.81
Prasību interpretācijas kļūda 41 23.03
Specifisks gadījums 83 46.63
Kopā: 178 100
27
Identificējamās kļūdasTesta punkts Skaits
% no kopējā Stundas
% no kopējā
Faila rezultāta testa punkts 59 8.02 150.03 4.56
Ievadlauka testa punkts 146 19.84 827.14 25.11
Lietojumprogrammas notikuma testa punkts 105 14.27 364.24 11.06
Salīdzināmās vērtības testa punkts 28 3.8 93.53 2.84
Sistēmas paziņojuma testa punkts 11 1.49 58.84 1.79
SQL vaicājuma rezultāta testa punkts 387 52.58 1799.96 54.65
Kopā: 736 100 3293.74 100
Paštestēšanas piedāvātās iespējas līdzvērtīgas citu pasaulē atzītu testēšanas rīku iespējām. Turklāt piedāvā iespējas, ko citi testēšanas rīki nepiedāvā: ◦ ārējo saskarņu testēšana;◦ testēšanu produkcijas vidē;◦ testēšanu pēc baltās kastes metodes;◦ lietotājiem bez padziļinātām IT zināšanām veikt testu
uzkrāšanu. Testēšanas atbalsts ir izstrādājamo programmu
sastāvdaļa un testēšanas atbalsts ir pieejams visā programmu dzīves cikla laikā.
29
Secinājumi
Paštestēšana maina testēšanas procesu, paplašinot programmētāja lomu programmatūras testēšanā.
Paštestēšana prasa papildus darbu paštestēšanas funkcionalitātes iekļaušanai programmatūrā un kritiskās funkcionalitātes testu izstrādei.
Paštestēšana ietaupa esošās funkcionalitātes atkārtotas (regresa) testēšanas laiku.
Paštestēšanas funkcionalitātes ieviešana ir noderīga inkrementālos sistēmu izstrādes modeļos, īpaši sistēmām, kuras tiek attīstītas pakāpeniski un uzturētas daudzu gadu garumā.
30
Secinājumi II
Diebelis, E., Takeris, V., Bičevskis, J. Self-testing - new approach to software quality assurance. In: Proceedings of the 13th East-European Conference on Advances in Databases and Information Systems, ADBIS 2009, September 7-10, 2009, Riga, Latvia (Grundspenkis, J., Kirikova, M., Manolopoulos, Y., Morzy, T., Novickis, L., Vossen, G., eds.), 2009. pp.62-77
Diebelis, E., Bičevskis, J. An Implementation of Self-Testing. In: Proceedings of the 9th International Baltic Conference on Databases and Information Systems, Baltic DB&IS 2010, July 5-7, 2010, Riga, Latvia (Barzdins, J., Kirikova, M., eds.), 2010. pp.487-502
Diebelis, E., Bičevskis, J. Test Points in Self-Testing. In: Databases and Information Systems VI - Selected papers from 9th International Baltic Conference, DB&IS 2010 (Barzdins, J., Kirikova, M., eds.), IOS Press, vol. 224, 2011. pp.309 – 321
31
Publikācijas
Diebelis, E., Bičevskis, J. Software Self-Testing. In: Proceedings of the 10th International Baltic Conference on Databases and Information Systems, Baltic DB&IS 2012, July 8-11, 2012, Vilnius, Lithuania. (pieņemta publicēšanai)
Diebelis, E. Efficiency Measurements of Self-Testing. In: Scientific Papers University of Latvia. Computer Science and Information Technologies.
Vizulis, V., Diebelis, E. Self-Testing Approach and Testing Tools. In: Scientific Papers University of Latvia. Computer Science and Information Technologies
32
Publikācijas