16.06.2011

Automated Combinatorial Testing for Software (ACTS)

* Source text URL: http://www.nist.gov/itl/csd/set/acts.cfm





Рэзюмэ:

Эмпірычныя дадзеныя сведчаць аб тым, што амаль усе памылкі праграмнага забеспячэння выклікаюцца ўзаемадзеяннем ад аднаго да шасці параметраў. Гэтыя вынікі маюць важнае значэнне для тэставання. Калі ўсе няспраўнасці ў сістэме могуць быць выкліканыя спалучэннем N або меншымі параметрамі, то тэсціраванне ўсіх N-Way камбінацый параметраў можа забяспечыць высокі давер, што амаль усе недахопы будуць выяўленыя. Мы вырабляем метады і прылады для стварэння тэстаў для ўсіх N-Way спалучэнняў значэнняў параметраў з выкарыстаннем удасканаленых камбінаторных алгарытмаў тэсціравання для пабудовы пакрыцця масіваў і аўтаматызаванай генерацыі тэставых аракулаў з выкарыстаннем мадэлі праверкі. Гэтая праца будзе мець прымяненне ў высокай надзейнасці праграмнага забеспячэння, аховы і бяспекі і камбінаторных тэсціраванняў. Наша ўвага засяроджана на эмпірычных выніках і рэальных праблемах.

Апісанне:

Ужыванне камбінаторнага тэставання да рэальнага ў свеце праграмнага забеспячэння ўяўляе сабой шэраг праблем. Для аднаго з лепшых алгарытмаў колькасць тэстаў неабходна для камбінаторнага ахопу N параметраў з V значэннем кожнага прапарцыйна V ^ T часопіс N, дзе T з’яўляецца ўзаемадзеяннем сіл. Напрыклад, модульнае тэставанне -невялікі модуль з 12 параметрамі, якому патрабуецца толькі некалькі дзесяткаў выпрабаванняў для 2-хадавых камбінацый, але каля 12.000 для 6-ці камбінацый. Але вялікая колькасць тэстаў не будзе перашкодай, калі яны могуць быць выраблены з трохі чалавечым ўмяшаннем, тым самым памяншаючы выдаткі. Каб ужыць камбінаторнае тэставанне, неабходна знайсці мноства тэставых уздзеянняў, якія ахопліваюць усе Т-спосабы спалучэння значэнняў параметраў, і, каб адпавядаць кожны набор уваходаў з чаканым для гэтых уваходных значэнняў. Гэта складаныя праблемы, але зараз яны могуць быць вырашаны з дапамогай новых алгарытмаў, наяўнага ў цяперашні час абсталявання.

Нашы даследаванні ў цяперашні час уключаюць у сябе:

паляпшэнне пакрыцця алгарытмаў масіва

лакалізацыя памылак

размеркаванне ўзаемадзеяння няспраўнасцяў

інтэграцыі ў працэс развіцця

прымяненне да мадэлявання і сімуляцыя.

Асноўныя дасягненні:

Шырока цытуецца (два з трох вядучых) дакументы, якія ахопліваюць эмпірычныя даследаванні па камбінаторнаму тэсціраванню.

Свабодна даступныя інструменты тэсціравання, якія былі атрыманы ад больш чым 170 арганізацый, у тым ліку большасць найбуйнейшых распрацовак праграмнага забеспячэння фірмаў і іншых кампаній са спісу Fortune 500.

ok ok