Метаморфты тестілеу - Metamorphic testing

Метаморфты тестілеу (MT) - меншікке негізделген бағдарламалық жасақтаманы тестілеу шешімі үшін тиімді тәсіл бола алатын әдіс Oracle сынағы проблема және сынақ жағдайын құру проблемасы. Тесттің проблемасы - бұл таңдалған нәтижелерді анықтаудың қиындығы сынақ жағдайлары немесе нақты нәтижелердің күтілетін нәтижелермен сәйкес келетіндігін анықтау.

Метаморфтық қатынастар (MRs) болып табылады қажетті бағдарламалық жасақтаманың мақсатты функционалдық сипаттамалары және қамтуы керек көп бағдарламалық жасақтаманың орындалуы. Мысалы, жүзеге асыратын бағдарламаны қарастырайық күнә х 100-ге дұрыс маңызды сандар; синус функциялары үшін метаморфтық қатынас «күнә (π - х) = күнә х «. Осылайша, күнәнің күтілетін мәні болса да х1 бастапқы тест жағдайы үшін х1 = 1.234 талап етілген дәлдікке дейін дұрыс екендігі белгісіз, кейінгі тестілік жағдай х2 = π - 1.234-ті салуға болады. Біз тексеріліп жатқан бағдарлама мен бастапқы сынақ жағдайынан алынған нақты нәтижелердің қарастырылып отырған MR-мен сәйкес келетіндігін тексере аламыз. Кез келген сәйкессіздік (дөңгелектеу қателіктерін ескергеннен кейін) а сәтсіздік іске асыру.

MR сандық кірістері бар бағдарламалармен ғана шектелмейді теңдік қарым-қатынастар. Мысал ретінде, брондау веб-сайтын тестілеу кезінде, а веб-іздеу Сиднейде, Австралияда тұру үшін, 1671 нәтиже қайтарады; осы іздеу нәтижелері дұрыс және толық па? Бұл тестілеудің проблемасы. Метаморфтық қатынасқа сүйене отырып, біз баға диапазонын немесе жұлдыз рейтингін сүзіп, іздеуді қайтадан қолдана аламыз; ол алдыңғы нәтижелердің жиынтығын қайтаруы керек. Бұл күтудің бұзылуы күдікті болады және жүйеде болуы мүмкін қатені анықтайды.

Метаморфикалық тестілеуді Т.Ы. Чен техникалық есепте [1] 1998 ж. Содан бері 150-ден астам халықаралық зерттеушілер мен практиктер техниканы өмірде қолдана бастады. Кейбір мысалдар келтірілгенвеб-қызметтер [2],компьютерлік графика [3],ендірілген жүйелер [4],модельдеу және модельдеу [5],машиналық оқыту [6],шешімді қолдау [7],биоинформатика [8],компоненттер [9],сандық талдау [10],және құрастырушылар [11].МТ саласындағы алғашқы ірі зерттеу 2016 жылы өткізілді [12].Одан кейін 2018 жылы тағы бір ірі сауалнама жүргізілді [13], бұл қиындықтар мен мүмкіндіктерді бөліп көрсетеді және жалпы түсініспеушіліктерді анықтайды.

MT бастапқыда а ретінде ұсынылғанымен бағдарламалық қамтамасыз етуді тексеру техника, ол кейінірек дамыды а парадигма тексеруді қамтитын, тексеру, және басқа түрлері бағдарламалық жасақтама сапасы бағалау [14]. MT дербес қолданылуы мүмкін, сонымен қатар басқаларымен біріктірілуі мүмкін статикалық және бағдарламалық жасақтаманы динамикалық талдау сияқты техникалар дәлелдеу және түзету [15].

2018 жылдың тамызында, Google бастап GraphicsFuzz сатып алды Лондон императорлық колледжі, графикаға метаморфикалық тестілеуді қолдану құрылғы драйверлері үшін Android смартфондар [16].


Пайдаланылған әдебиеттер

  1. ^ Т.Ы. Чен, С.С.Чеунг және С.М. Йиу, «Метаморфтық тестілеу: келесі сынақ жағдайларын тудырудың жаңа тәсілі», HKUST-CS98-01 техникалық есебі, Информатика кафедрасы, Гонконг ғылым және технологиялар университеті, Гонконг (1998).
  2. ^ Кастро-Кабрера және И.Медина-Було, «WS-BPEL композицияларын метаморфтық сынақтан өткізу тәсілі», Электрондық бизнес бойынша халықаралық конференция материалдары, IEEE (2011).
  3. ^ Р.Гудерлей және Дж.Майер, «Кездейсоқ және метаморфтық тестілеу арқылы бейнелеу бағдарламалық жасақтамасын автоматты түрде сынау жолында», Бағдарламалық жасақтама және білім инженериясының халықаралық журналы 17 (6): 757−781 (2007).
  4. ^ Т.Х. Tse, С.С.Яу, В.К. Чан, Х.Лу және Т.Ю. Чен, «контекстке сезімтал орта бағдарламалық жасақтамаға негізделген бағдарламалық жасақтаманы тексеру», in Компьютерлік бағдарламалық қамтамасыздандыру және қолданбалы бағдарламалар бойынша 28-ші Халықаралық конференция материалдары (COMPSAC '04), т. 1, IEEE Computer Society, 458−465 бб (2004).
  5. ^ С.Сегура, Р.М. Хиеронс, Д.Бенавидес және А.Руис-Кортес, «Мүмкіндік модельдерін талдау бойынша тестілеудің автоматтандырылған деректерін құру: метаморфтық тестілеу тәсілі», Бағдарламалық жасақтаманы тестілеу, растау және растау жөніндегі 3-ші халықаралық конференция материалдары (ICST '10), IEEE Computer Society, 35−44 б. (2010).
  6. ^ Дж.Динг, X.-H. Ху және В.Гудивада, «Массивтік масштабтағы кескін деректерін тексеру және растау үшін машиналық оқыту негіздері», IEEE Транзакциялар Үлкен деректер (2017). doi: 10.1109 / TBDATA.2017.2680460.
  7. ^ F.-C. Куо, З.Қ. Чжоу, Дж. Ма және Г. Чжан, «Шешімдерді қолдау жүйелерін метаморфты түрде сынау: жағдайлық есеп», IET бағдарламалық жасақтамасы 4 (4): 294−301 (2010).
  8. ^ Л.Л.Пуллум және О.Озмен, «Эпидемиологиялық модельдерді метаморфтық сынаудың алғашқы нәтижелері», in Биомедициналық есептеу бойынша 2012 ASE / IEEE Халықаралық конференциясының материалдары (BioMedCom '12), IEEE Computer Society, 62-67 бет (2012).
  9. ^ С.Бейдеда, «Өзіндік метаморфты-тестілеу компоненттері», in Компьютерлік бағдарламалық қамтамасыздандыру және қосымшалар туралы 30-шы Халықаралық конференцияның материалдары (COMPSAC '06), т. 1, IEEE Computer Society, 265−272-бб (2006).
  10. ^ Аруна мен Р.С.Р. Прасад, «Көп дәлдіктегі арифметикалық бағдарламалық жасақтаманың сынақ дәлдігін жақсарту үшін метаморфтық қатынастар», in Есептеу техникасы, байланыс және информатика саласындағы жетістіктер жөніндегі 2014 жылғы халықаралық конференция материалдары (ICACCI '14), IEEE (2014).
  11. ^ Лидбери, А.Ласку, Н.Чонг және А.Ф.Дональдсон, «Көп ядролы компилятор фузинг», 36-ның материалдары Бағдарламалау тілдерін жобалау және енгізу бойынша ACM SIGPLAN конференциясы (PLDI '15), ACM, 65−76 б. (2015).
  12. ^ С. Сегура, Г. Фрейзер, А.Б. Санчес және А.Руис-Кортес, «Метаморфикалық тестілеу туралы сауалнама», Бағдарламалық жасақтама бойынша IEEE транзакциялары 42 (9}: 805-824 (2016).
  13. ^ Т.Ы. Чен, Ф. Куо, Х.Лю, П.Л. Пун, Д.Тоуи, Т.Х. Tse, және Z.Q. Чжоу, «Метаморфикалық тестілеу: қиындықтар мен мүмкіндіктерге шолу», ACM Computing Surveys 51 (1): 4:1-4:27 (2018).
  14. ^ Z.Q. Чжоу, С.Сян және Т.Ы. Чен, «Бағдарламалық жасақтама сапасын бағалауға арналған метаморфтық тестілеу: іздеу жүйелерін зерттеу»,Бағдарламалық жасақтама бойынша IEEE транзакциялары 42 (3): 264-28s4 (2016).
  15. ^ Т.Ы. Чен, Т.Х. Tse, және Z.Q. Чжоу, «Жартылай дәлелдеу: бағдарламаны дәлелдеуге, тестілеуге және отладты түзетуге арналған интеграцияланған әдіс», Бағдарламалық жасақтама бойынша IEEE транзакциялары 37 (1): 109-125 (2011).
  16. ^ «Google сатып алған GraphicsFuzz». империялық жаңалықтар. 6 тамыз 2018. Алынған 15 сәуір 2019.

Сыртқы сілтемелер

  • Сегура, Серхио; Чжоу, Чжи Цуань (2018). «Метаморфтық тестілеу бойынша ICSE 2018 техникалық брифингі». дои:10.5281 / zenodo.1256230. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)
  • Чжоу, Чжи Цуань (2019). «Шынайы өмірдегі өзін-өзі басқаратын жүйелерді автоматтандырылған тестілеу: Z.Q. (Джордж) Чжоудың IEEE AITest-тағы негізгі баяндамасы, Сан-Франциско Ист-Бей, 2019». дои:10.5281 / zenodo.2636979. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)