Ең жылдам - Fastest

Ең жылдам Бұл модельдік тестілеу ішінде жазылған сипаттамалармен жұмыс істейтін құрал Z белгісі. Құрал іске асырады (Кристия және Родригес Монетти 2009 ж ) Тест шаблонының құрылымы (TTF) Фил Стокс пен Дэвид Каррингтон ұсынған (Акциялар және Каррингтон 1996 ж ).

Пайдалану

Жылдамдығы командалық интерфейсті ұсынады. Пайдаланушыға алдымен жазылған Z сипаттамасын жүктеу қажет LaTeX форматты растайтын формат ISO стандартты (Z стандарты 2002 ж ). Содан кейін, пайдаланушы сонымен қатар тестілеу үшін операциялардың тізімін енгізуі керек тестілеу тактикасы олардың әрқайсысына қолдану. Үшінші қадамда жылдам жылдамдықты жасайды сынақ ағашы әр операцияның. Тексеруден кейін ағаштар пайда болды, пайдаланушылар оларды және олардың шолуын жасай алады тест сабақтары, және, ең бастысы, олар мүмкін алхоры кез-келген тест сыныбы автоматты түрде немесе қолмен. Тестілеуден өткен ағаштар кесілгеннен кейін, пайдаланушылар жылдам табуға нұсқау бере алады реферат тест жағдайы әрбір сынақ ағашындағы әр жапырақ үшін. (Кристия, Родригес Монетти және Альбертенго 2009 ж )

Fastest қолдайтын тактиканы тексеру

Қазіргі уақытта,[қашан? ] Fastest келесі тестілеу тактикасын қолдайды:

Ең жылдам ағаштарды кесу

Ең жылдам ағаштарды кесудің екі әдісін ұсынады (Кристия, Родригес Монетти және Альбертенго 2010 ):

  • Автоматты кесу.
Сынақ ағашын кесу үшін Fastest әр жапырақтың предикатын талдап, предикаттың қарама-қайшылықты екендігін анықтайды. Бұл проблема болғандықтан шешілмейтін, құрал қолданушылар жақсартуы мүмкін көп күш жұмсау алгоритмін жүзеге асырады. Алгоритмнің маңызды аспектісі деп аталатын кітапхана болып табылады жою теоремалары олардың әрқайсысы қайшылықтар отбасын білдіреді. Бұл кітапхананы пайдаланушылар мәтіндік файлды жай редакциялау арқылы кеңейте алады. Жою теоремалары параметрлік Z атомдық предикаттарының қосылыстары болып табылады.
  • Қолмен кесу.
Ең жылдам пайдаланушылар екі команданы беру арқылы ағаштарды немесе ағаштарды тестілеудің жеке жапырақтарын кесе алады. Бұл командалар бос немесе бос болмауына қарамастан кіші ағаштағы барлық тестілік сабақтарды кеседі. Бұл командалардың негізгі мақсаты - инженерлерге маңызды емес жағдайларды азайтуға немесе жоюға мүмкіндік беру.

Тесттің абстрактілі жағдайларын қалай жылдам табады

Құрал табады реферат тест жағдайлары сынақ ағашындағы әр жапырақ үшін ақырлы модельді есептеу арқылы (Кристия және Родригес Монетти 2009 ж ). Соңғы модельдер әрқайсысының түрін шектеу арқылы есептеледі VIS ақырлы жиынға айнымалы, содан кейін Декарттық өнім осы жиындар арасында. Әрбір жапырақ предикаты осы декарттық өнімнің әрбір элементінде предикатты қанағаттандырғанға дейін (абстрактілі сынақ ісі табылғандығын білдіреді) немесе ол біткенге дейін (тест сыныбы немесе қанағаттанарлықсыз немесе ақырлы модель жеткіліксіз). Соңғы жағдайда, пайдаланушының құралға дұрыс ақырлы модельді табуға немесе тест-классты кесуге көмектесу мүмкіндігі бар, себебі ол құпия емес.

Сәулет және технология

Ең жылдам Java негізіндегі қолдану Қоғамдық Z құралдары (CZT) жоба. Құралды екі режимнің біреуінде пайдалануға болады (Кристия және Родригес Монетти 2009 ж ):

  • Жылы үлестірілген режим Ең жылдам жұмыс істейді клиент-сервер қолдану. Қосымшаны әрқайсысы клиент, сервер немесе екеуінің рөлін атқаратын бірнеше компьютерлерге орнатуға болады. Пайдаланушылар қосымшаны жіберетін клиенттер арқылы алады тест сабақтары серверлерге (деп аталады серверлерді тестілеу) табуға тырысатын реферат тест жағдайы олардың ішінен. Осылайша ең ауыр тапсырма мүмкіндігінше көп компьютерлерге таратылады. Тест сыныбынан дерексіз тест жағдайын есептеу бір-біріне мүлдем тәуелсіз болғандықтан, бұл архитектура барлық процесті тестілеу серверлерінің санына қатысты пропорционалды түрде жеделдетеді.
  • Жылы қолдану режимі Fastest-тің әр данасы бір-біріне мүлдем тәуелсіз. Барлық тапсырмалар жергілікті компьютерде есептеледі.

Жаңа тестілеу тактикасын қосу

Көріп отырғанымыздай TTF презентация, тестілеу тактикасы әдіс үшін өте маңызды. Бұл мүмкін болатын ең көп ашылатын сынақ жағдайларын жасау үшін инженерлер қолдануы керек құралдар. Сонда инженерлер үшін дыбыстық тестілеу тактикасы неғұрлым жақсы болса.

Жылдам пайдаланушыларға тактиканы енгізу арқылы тестілеу тактикасын қосуға болады интерфейс құралмен қамтамасыз етілген. Бұл интерфейсте тестілеу тактикасын конфигурациялау және қолдану әдістері бар. Интерфейстің анықтамасы келесідей:

пакет клиент.blogic.testing.ttree.tactics;импорт java.util. *;импорт net.sourceforge.czt.z.ast.Spec;импорт common.z.TClass;импорт жалпы.z.OpScheme;/** * Тестілеу тактикасын тұжырымдайтын интерфейс (сынақ ағаштарын құру үшін қажет) және * жаңаларын құру үшін оны тест сыныбына қолдануға мүмкіндік береді. */қоғамдық интерфейс Тактикалық {        /**     * Бұл тактиканы көрсетілген тест сыныбында қолданады және тізімді бірге қайтарады     * құрылған тестілік сабақтар.     * @param tClass     * @ return     */    қоғамдық Тізім<TClass> қолдануТактикалық(TClass tClass);        /**     * Сыналатын жүйенің спецификациясын орнатады.     * @param opScheme     */    қоғамдық жарамсыз setSpec(Spec сипаттама);        /**     * Зерттелетін операцияның Z схема өрісін алады.     * @ return     */    қоғамдық Spec getSpec();          /**     * Зерттелетін операцияның Z схема өрісін орнатады.     * @param opScheme     */    қоғамдық жарамсыз setOriginalOp(OpScheme opScheme);        /**     * Зерттелетін операцияның Z схема өрісін алады.     * @ return     */    қоғамдық OpScheme getOriginalOp();        /**     * Осы тактиканың параметрлерін қарастырады.     * @param көшесі     * @ return     */    қоғамдық логикалық parseArgs(Жол str);        /**     * Осы объектімен байланысты TacticInfo данасын орнатады.     * @param tacticInfo     */    қоғамдық жарамсыз setTacticInfo(TacticInfo ақпарат);        /**     * Осы объектімен байланысты TacticInfo данасын алады.     * @ return     */    қоғамдық TacticInfo getTacticInfo();        /**     * Осы тактиканың сипаттамасын алады.     * осы тактиканың сипаттамасымен жолды @return.     */        қоғамдық Жол getDescription();        /**     * Осы тактиканың сипаттамасын орнатады.     * @param сипаттамасы     */    қоғамдық жарамсыз setDescription(Жол сипаттама);}

Сондай-ақ қараңыз

Ескертулер

Әдебиеттер тізімі

  • Кристия, Максимилиано; Родригес Монетти, Пабло (2009). «Модельдік тестілеуге арналған акциялар-каррингтон шеңберін енгізу және қолдану». Ресми әдістер және бағдарламалық қамтамасыздандыру, 11-халықаралық конференция, формалды инженерия әдістері, ICFEM 2009. Рио-де-Жанейро, Бразилия: Шпрингер-Верлаг.
  • Акциялар, Фил; Каррингтон, Дэвид (1996), «Ерекшеліктерге негізделген тестілеу негізі», Бағдарламалық жасақтама бойынша IEEE транзакциялары, 22 (11): 777–793, дои:10.1109/32.553698.
  • Ақпараттық технологиялар - Z формальды спецификациясы - Синтаксис, тип жүйесі және семантикасы (1 МБ PDF) (ISO / IEC 13568: 2002 ред.), 2002, 196 бет.
  • Кристия, Максимилиано; Альбертенго, Пабло; Родригес Монетти, Пабло (2010). «Математикалық қарама-қайшылықтарды анықтау арқылы тест үлгілері шеңберінде тестілеу ағаштарын кесу». Бағдарламалық жасақтама және формальды әдістер (SEFM) бойынша 8-ші IEEE Халықаралық конференциясы, 2010 ж. Пиза, Италия: IEEE.