340 likes | 557 Views
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.
E N D
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 • 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.
Saturs • 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.
Problēmas nostādne • „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.
Paštestēšanas funkcionalitāte • 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.
Rezultātu testa punktu XML fails Testu uzkrāšanas režīms 1. 2. 3.
Etalona testa punktu XML fails Rezultātu testa punktu XML fails Paštestēšanas rīks Testu izpildīšanas režīms 1. 2. 4. 6. 3. 5.
Testa punkti • 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.
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
Paštestēšanas uzbūve • Paštestēšanas programmatūras sastāv no: • Paštestēšanas moduļa; • paštestēšanas testu pārvaldes moduļa. 12
Tradicionālo testēšanas rīku salīdzinājums ar paštestēšanu
Testēšanas rīku izvēle • “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”.
Testēšanas rīki • 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
Salīdzināšanas kritēriji • 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.
Paštestēšanas attīstība • 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.
Paštestēšanas priekšrocības • 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.
Efektivitātes mērījumi 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
Secinājumi • 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ā.
Secinājumi II • 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ā.
Publikācijas Diebelis, E., Takeris, V., Bičevskis, J. Self-testing - newapproach to softwarequalityassurance. In:Proceedingsofthe 13th East-EuropeanConferenceonAdvancesinDatabasesandInformationSystems, 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.AnImplementationofSelf-Testing.In: Proceedingsofthe 9th InternationalBalticConferenceonDatabasesandInformationSystems, Baltic DB&IS 2010, July 5-7, 2010, Riga, Latvia (Barzdins, J., Kirikova, M., eds.), 2010. pp.487-502 Diebelis, E., Bičevskis, J.TestPointsinSelf-Testing.In: DatabasesandInformationSystems VI -Selectedpapersfrom 9th InternationalBalticConference, 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