優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例_第1頁(yè)
優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例_第2頁(yè)
優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例_第3頁(yè)
優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例_第4頁(yè)
優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、優(yōu)化教育軟件的自動(dòng)化測(cè)試:以一門在線STEM科目為例導(dǎo)讀:長(zhǎng)期以來(lái), 信息技術(shù)與教育的深度融合是一個(gè)熱點(diǎn)問 題。然而,從目前的情況看, 這種融合似乎仍然缺乏應(yīng)有的深度, 也還沒有達(dá)成預(yù)期目標(biāo)。 2017年 12月 13日,中國(guó)教育報(bào) 刊登該報(bào)記者張貴勇撰寫的一篇題為“新技術(shù)進(jìn)課堂不等于媒 介教育”的文章, 文中提到有些課堂“教師利用令人眼花繚亂的 電子課件上課, 課堂看似熱鬧”, 甚至是“課堂上學(xué)生全部使用 平板電腦等新媒介設(shè)備來(lái)上課”,他認(rèn)為“盡管電子教材也好, 多媒體課件也好,其以數(shù)字化、交互化、多媒化的形式,將教學(xué) 內(nèi)容以科學(xué)直觀的視頻、音頻、圖形、文本等展現(xiàn)出來(lái),對(duì)學(xué)生 的知識(shí)學(xué)習(xí)有幫

2、助, 但沒有改變傳統(tǒng)的灌輸式學(xué)習(xí)方式, 沒有真 正提升學(xué)生對(duì)各種媒介的解讀、運(yùn)用能力”。在我看來(lái),這就是 典型的“偽融合”。本期“國(guó)際論壇”四位作者分別來(lái)自西班牙和印度的遠(yuǎn)程 在線教學(xué)大學(xué)和普通高校(研究院),均在技術(shù)與教育的融合領(lǐng) 域頗有建樹,其中通信作者丹尼爾 ?布爾戈斯教授是西班牙拉里 奧哈國(guó)際大學(xué)主管研究和技術(shù)的副校長(zhǎng), 也是聯(lián)合國(guó)教科文組織 e-learning 教席和國(guó)際遠(yuǎn)程開放教育理事會(huì)開放教育資源 (OER) 教席, 一個(gè)真正具有跨學(xué)科學(xué)術(shù)背景的學(xué)者。 他曾經(jīng)在我們的通 信中闡述他的教育科研理念。他認(rèn)為作為在線教學(xué)機(jī)構(gòu)的一員, 自己的研究責(zé)無(wú)旁貸應(yīng)該扎根具體教育實(shí)踐, 以解決實(shí)

3、際教育教 學(xué)問題為首要目的。 他說學(xué)術(shù)研究應(yīng)該接地氣, 應(yīng)該能夠賦權(quán)于 教師, 就技術(shù)的教育用途而言, 研究成果應(yīng)該能為并非技術(shù)行家 的教師所用,而且能提高教學(xué)效果、達(dá)成預(yù)期學(xué)習(xí)目標(biāo),否則談 不上“融合”。 他本人一直身體力行, 比如有關(guān)適合大規(guī)模招生 的e-learning 推薦模型的研究,也許正因?yàn)樗羞@樣的理念 而且又取得了豐碩成果, 所以才被聯(lián)合國(guó)教科文組織和國(guó)際遠(yuǎn)程 開放教育理事會(huì)委以要職。本文介紹他們的一項(xiàng)新研究成果,即教育軟件的自動(dòng)化測(cè) 試。在今天這個(gè)信息時(shí)代,教育軟件無(wú)處不在,從某種意義上講 已經(jīng)成為當(dāng)今教育教學(xué)不可或缺的組成部分, 甚至可以說很多學(xué) 科的教學(xué)離不開教育軟件的應(yīng)

4、用。 比如在生物、 醫(yī)學(xué)和護(hù)理等專 業(yè)的學(xué)習(xí)中, 教育軟件能給學(xué)習(xí)者提供虛擬現(xiàn)實(shí)或增強(qiáng)現(xiàn)實(shí), 大 大提高學(xué)習(xí)活動(dòng)的真實(shí)性, 完成很多在傳統(tǒng)教學(xué)環(huán)境下很難開展 的學(xué)習(xí)任務(wù);而在機(jī)械、工程和建筑等專業(yè)的學(xué)習(xí)中,學(xué)習(xí)者使 用這些軟件開展設(shè)計(jì)、運(yùn)算、建模、試驗(yàn)等活動(dòng),即使失敗了也 不會(huì)造成任何經(jīng)濟(jì)損失或傷害。 對(duì)于遠(yuǎn)程在線學(xué)習(xí)來(lái)講, 教育軟 件的用途更是非常廣泛, 其對(duì)提高學(xué)習(xí)效果、 保證教學(xué)質(zhì)量的重 要性更是自不待言。隨著用途越來(lái)越廣泛,教育軟件也越來(lái)越大、越來(lái)越復(fù)雜, 因此,“改進(jìn)教育軟件開發(fā)技術(shù), 加快開發(fā)過程, 提高開發(fā)效率, 這些都勢(shì)在必行。高效的軟件開發(fā)過程應(yīng)該是快捷、容易操作、 穩(wěn)健和低

5、成本的”。 這其中便涉及軟件測(cè)試, 這是“教育軟件開 發(fā)最具挑戰(zhàn)性的階段”。 “教育軟件測(cè)試在軟件開發(fā)生命周期的 早期進(jìn)行,越是往后才發(fā)現(xiàn)的錯(cuò)誤,修復(fù)的成本越高”,但是這 也是一項(xiàng)非常復(fù)雜的工作,手工操作費(fèi)時(shí)耗力、成本高昂,且不 說可行性的問題。因此,本研究在系統(tǒng)回顧(教育)軟件測(cè)試研 究成果的基礎(chǔ)上, 研發(fā)一種自動(dòng)化測(cè)試工具, 即測(cè)試套件生成和 測(cè)試套件優(yōu)化。本研究提出的自動(dòng)化測(cè)試工具自身配備四種黑盒技術(shù) (即邊 界值測(cè)試、穩(wěn)健性測(cè)試、最壞情況測(cè)試和穩(wěn)健最壞情況測(cè)試)以 及隨機(jī)測(cè)試技術(shù)。 可以用其中任何一種技術(shù)生成測(cè)試對(duì)象教育軟 件的測(cè)試數(shù)據(jù), 然后用人工蜂群算法和布谷鳥搜索算法優(yōu)化這些 數(shù)

6、據(jù),再把優(yōu)化的測(cè)試套件應(yīng)用于測(cè)試對(duì)象軟件上以生成實(shí)際輸 出,而測(cè)試對(duì)象軟件的控制流圖則會(huì)產(chǎn)生預(yù)期輸出, 如果實(shí)際輸 出和預(yù)期輸出不一致, 則說明這個(gè)軟件有錯(cuò)誤。 在闡明這種自動(dòng) 化測(cè)試工具的工作原理之后, 文章還介紹了人工蜂群算法和布谷 鳥搜索算法。本研究用這個(gè)自動(dòng)化測(cè)試工具對(duì) 20 個(gè)教育軟件應(yīng)用程序進(jìn) 行測(cè)試。軟件測(cè)試是在西班牙拉里奧哈國(guó)際大學(xué)工程 ?c 技術(shù)學(xué) 院的 e-learning 和社交網(wǎng)絡(luò)碩士學(xué)位課程中進(jìn)行的, 有 44 名學(xué) 生參加。限于篇幅,本文以三角形分類問題的軟件應(yīng)用程序?yàn)槔?介紹自動(dòng)化測(cè)試工具的運(yùn)作和實(shí)際效果。 測(cè)試結(jié)果表明, 這個(gè)自 動(dòng)化測(cè)試工具在人工蜂群算法和布

7、谷鳥搜索算法的幫助下能以 最少的測(cè)試用例覆蓋最多的路徑, 減少測(cè)試時(shí)間, 降低測(cè)試費(fèi)用, 換言之,大大提高測(cè)試效率。研究還發(fā)現(xiàn),兩種算法有各自的優(yōu) 點(diǎn),布谷鳥搜索算法的結(jié)果更加穩(wěn)定但路徑覆蓋率較低, 而人工 蜂群算法的路徑覆蓋率更好,但結(jié)果不如布谷鳥搜索算法穩(wěn)定。 考慮到路徑覆蓋率是選擇測(cè)試套件算法更加可靠的決定因素, 因 此,在本研究中,與布谷鳥搜索算法相比,人工蜂群算法是一個(gè) 更好的選擇。文章最后還指出本研究的局限和今后研究方向。這篇文章的意義不僅體現(xiàn)在研發(fā)一種教育軟件自動(dòng)化測(cè)試 工具上,也是技術(shù)與教育融合的一個(gè)很好的例子。 對(duì)遠(yuǎn)程(在線) 教育工作者而言,它更是布爾戈斯教授的教育科研觀的

8、具體體 現(xiàn)。我認(rèn)為這也是值得遠(yuǎn)程(在線)教育機(jī)構(gòu)和實(shí)踐者認(rèn)真謀劃 和努力的一個(gè)科研方向把技術(shù)與教育的融合扎根于遠(yuǎn)程 (在 線)教育實(shí)踐中,旨在解決實(shí)際教學(xué)問題,達(dá)成具體教學(xué)目標(biāo)。 最后,衷心感謝四位國(guó)際同行對(duì)本刊的支持!(肖俊洪)引言 過去五十年,教育軟件無(wú)所不在,對(duì)教育的影響越來(lái)越大, 因此,人們對(duì)可靠教育軟件的需求與日俱增。 教育軟件的用途廣 泛,幾乎涉及我們生活的每一個(gè)方面,因此軟件越來(lái)越復(fù)雜、越 來(lái)越大。在這種背景下, 改進(jìn)教育軟件開發(fā)技術(shù), 加快開發(fā)過程, 提高開發(fā)效率, 這些都勢(shì)在必行。 高效的軟件開發(fā)過程應(yīng)該是快 捷、容易操作、穩(wěn)健和低成本的。教育軟件的質(zhì)量通過在軟件開發(fā)生命周期

9、( Software Development Lifecycle )的每一個(gè)層面對(duì)該軟件進(jìn)行嚴(yán)格測(cè)試 得以保證( Bertolino , 2007 ; Burnstein , 2006 )。經(jīng)常升 級(jí)導(dǎo)致軟件修改的次數(shù)增加, 軟件的整體可靠性會(huì)隨著降低。 一 種應(yīng)對(duì)措施是增加測(cè)試量( Marciniak , 1994 )。教育軟件測(cè)試 是軟件開發(fā)生命周期一個(gè)不可或缺的階段。 沒有經(jīng)過嚴(yán)格測(cè)試的 軟件和錯(cuò)誤代碼每年給教育軟件開發(fā)組織造成數(shù)十億美元的損 失,很多缺陷是用戶發(fā)現(xiàn)的( Burnstein , 2006 )。測(cè)試不僅是 保證教育軟件系統(tǒng)質(zhì)量的有效措施( Miller , 1981 ),也

10、是教 育軟件工程最復(fù)雜和較不為人所了解的領(lǐng)域之一( Whittaker , 2000)。一些研究闡述了為什么要開展教育軟件測(cè)試( Alba & Chicano , 2008; Alshraideh & Bottaci , 2006; Bertolino , 2007;Harman,Mansouri ,& Zhang,2009 ; Korel & Al-Yami , 1998; Markman, McMullen , & Elizaga , 2008 ; Pressman , 2005;Ricca & Tonella ,2001 ;Sommerville ,2001 ;Sthamer , 199

11、5),原因包括檢測(cè)故障、最大限度降低與教育軟件殘余錯(cuò)誤 相關(guān)的風(fēng)險(xiǎn)( Askarunisa , Prameela , & Ramraj , 2009 )和 對(duì)軟件進(jìn)行全面徹底測(cè)試( Huang & Kuo, 2002 )等。在測(cè)試階 段發(fā)現(xiàn)的系統(tǒng)錯(cuò)誤多數(shù)產(chǎn)生自軟件開發(fā)生命周期的早期 ( Beizer , 1990 ),因此,教育軟件測(cè)試應(yīng)在軟件開發(fā)生命周 期的早期進(jìn)行,越是往后才發(fā)現(xiàn)的錯(cuò)誤,修復(fù)的成本越高。測(cè)試 被認(rèn)為是教育軟件開發(fā)最具挑戰(zhàn)性的階段, 占用全部開發(fā)時(shí)間和費(fèi)用的 50%- 60% (Bertoli no , 2007 )。教育軟件測(cè)試可以手工進(jìn)行,也可以通過自動(dòng)化方式進(jìn)行, 目的

12、是驗(yàn)證該軟件是否符合工作或客戶要求, 也用于檢查實(shí)際結(jié) 果與預(yù)期輸出是否一致( Radatz , Geraci , & Katki , 1990 )。 這種測(cè)試通過使用合適的測(cè)試用例( test case )檢驗(yàn)軟件是否 符合要求, 以此評(píng)估其質(zhì)量。 有些錯(cuò)誤是在設(shè)計(jì)階段因疏忽而引 起的,這些錯(cuò)誤應(yīng)該立即得到修復(fù)。 教育軟件測(cè)試的目標(biāo)是生成 包含精確測(cè)試用例并能達(dá)成最大覆蓋率和盡可能發(fā)現(xiàn)更多錯(cuò)誤 的最小測(cè)試套件( test suite )( Sthamer , 1995 )。在此過程 中,每一個(gè)測(cè)試用例都是不同的; 每一個(gè)測(cè)試用例都配上一組輸 入和一系列預(yù)期輸出。測(cè)試的另一個(gè)任務(wù)是生成合適的測(cè)

13、試套 件,以滿足測(cè)試標(biāo)準(zhǔn),比如代碼覆蓋( code coverage )( Sakti , Pesant,& Gue he neuc,2015 )、路徑覆蓋(path coverage )、分支覆蓋( branch coverage )( Sthamer, 1995 )和語(yǔ)句覆蓋( statement coverage )( Clarke , 1976 )。這方面已經(jīng)有一 些測(cè)試標(biāo)準(zhǔn), 必須滿足相關(guān)標(biāo)準(zhǔn)才能保證所測(cè)試的教育軟件的質(zhì) 量( Ghiduk & Girgis , 2010)。教育軟件的全面測(cè)試很難手工 進(jìn)行,有些方面必須實(shí)現(xiàn)自動(dòng)化。手工生成測(cè)試套件更加耗時(shí)耗力, 這是一個(gè)勞動(dòng)密集型而

14、又 昂貴的過程, 因此必須減少人工測(cè)試量 (Poon, Tse, Tang, & Kuo, 2011 )。自動(dòng)化測(cè)試能加快測(cè)試過程,節(jié)省時(shí)間和成本, 達(dá)成最大覆蓋率。 此外, 測(cè)試過程的自動(dòng)化還能顯著降低軟件開發(fā)維護(hù)費(fèi)用,提高其可靠性。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院( National Institute of Standards and Technology )的研究表明,軟件測(cè)試基礎(chǔ)設(shè)施不 完善所造成的損失每年估計(jì)在 222億到 595億美元之間( Tassey, 2002)。由此可見,必須優(yōu)化測(cè)試過程,才能既減少對(duì)資源的要 求(時(shí)間、經(jīng)費(fèi)和人力等)又保證質(zhì)量。早期的教育軟件技術(shù)開 發(fā)采用爬山(

15、 hill climbing )算法(屬于梯度下降算法 gradient descent algorithms 一族)生成測(cè)試用例和測(cè)試套件( Korel , 1990)。這些方法很耗時(shí)且無(wú)法避免搜索空間的局部最優(yōu)解 ( local optima )。后來(lái),人們使用元啟發(fā)式搜索算法 ( metaheuristic search algorithms)解決這個(gè)問題( Edvardsson ,1999 ;Wegener,Baresel ,& Sthamer ,2001 ), 比如禁忌搜索算法(Tabu Search) (Di az, Tuya , Bia neo , & Dolado, 2008

16、;Glover , 1997 ;Zamli , Alkazemi , & Kendall , 2016)、模擬退火算法 ( Simuiated Anneaiing )( Lim, Rodrigues , & Zhang, 2006 )、遺傳算法( Genetic Aigorithm , GA( Aiander , Mantere , & Turunen , 1998 ; Hermadi , Lokan , & Sarker , 2010; Maia , Mohan, & Kamaiapriya , 2010 )、粒子群優(yōu)化 算法( Particie Swarm Optimization , P

17、SO)( Ahmed & Zamii, 2011; Jiang , Shi , Zhang , & Han , 2015 )和蟻群優(yōu)化算 法(Ant Colony Optimization , ACO (Li & Lam, 2004 ; Markman, McMuiien, & Eiizaga , 2008)。每一種算法都有自己的優(yōu)缺點(diǎn)。工程界不同領(lǐng)域?qū)谒阉鞯乃惴ㄒ??開展了廣泛研究、實(shí) 驗(yàn)和應(yīng)用( Afzal , Torkar , & Feldt , 2009 ; Harman, Mansouri , & Zhang, 2009 )。測(cè)試邊界值不足以確保教育軟件的準(zhǔn)確, 因?yàn)樗锌赡艿闹?/p>

18、都必須測(cè)試和驗(yàn)證, 但這是 行不通的。要對(duì)一種教育 ICT 軟件應(yīng)用程序進(jìn)行全面測(cè)試, 只增 加兩個(gè) 32-bits 整數(shù)輸入就要求測(cè)試 264 個(gè)不同測(cè)試用例,即 使每秒鐘完成數(shù)千次測(cè)試, 這個(gè)量的測(cè)試也需要數(shù)百年時(shí)間才能 做完。因此,必須實(shí)現(xiàn)測(cè)試套件優(yōu)化 ( Test Suite Optimization , TSO。TSO是去除不必要、多余的測(cè)試用例,把優(yōu)質(zhì)測(cè)試用例 納入測(cè)試套件中的過程,在這里,優(yōu)質(zhì)指的是在路徑覆蓋率、錯(cuò) 誤檢測(cè)和代碼覆蓋率方面表現(xiàn)好。TSO從其測(cè)試用例母集中發(fā)現(xiàn)最好的子集。 本研究采用人工蜂群算法 (ArtificialBee ColonyAlgorithm , AB

19、C 和布谷鳥搜索算法(Cuckoo Search Algorithm , CSA實(shí)現(xiàn)TSO這兩種算法都是受到大自然啟發(fā)的算法(Karaboga, 2005; Yang & Deb , 2009 ) 。研究背景符號(hào)和術(shù)語(yǔ) 被測(cè)試的教育軟件( Educational Software Under Test , SUT的控制流或邏輯可以通過控制流圖(flow graph )表示。 控制流圖由節(jié)點(diǎn)(N和邊(E)組成,即G (N, E )。用控制 流圖表示SUT邏輯,節(jié)點(diǎn)代表語(yǔ)句塊,邊代表從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移到 另一個(gè)節(jié)點(diǎn)的流向,形成一條路徑?;诳刂屏鲌D有限的節(jié)點(diǎn), 可以發(fā)現(xiàn)獨(dú)立路徑(independent

20、 path )。控制流圖與SUT的實(shí) 際邏 ?相似。因此,對(duì)一個(gè)控制流圖的測(cè)試數(shù)據(jù)進(jìn)行的運(yùn)算被看 作對(duì)教育 ICT 軟件應(yīng)用程序的運(yùn)算。 這個(gè)軟件應(yīng)用程序的特點(diǎn)應(yīng) 該體現(xiàn)在其控制流圖中。路徑測(cè)試標(biāo)準(zhǔn) 一般而言,路徑測(cè)試包括挑選一組合適的路徑并用測(cè)試數(shù)據(jù) 檢測(cè)這些路徑。 這是一個(gè)迭代過程, 直至完成對(duì)所有路徑的測(cè)試。 但是,一個(gè)控制流圖的所有路徑并非都能通過遍歷, 這些路徑被 稱為“不可行路徑”。 路徑覆蓋率即被成功遍歷的路徑除以全部 路徑所得之百分比,如方程式( 1)所示: 路徑覆蓋率 %=被成功遍歷的獨(dú)立路徑數(shù)獨(dú)立路徑總數(shù)x 100% eq. ( 1)文獻(xiàn)回顧科瑞爾( Korel , 199

21、0 )根據(jù)路徑覆蓋測(cè)試標(biāo)準(zhǔn),采用包含 各種可能的測(cè)試數(shù)據(jù)的動(dòng)態(tài)路徑測(cè)試技術(shù)生成教育軟件測(cè)試數(shù) 據(jù),目的是獲取執(zhí)行期望路徑的測(cè)試用例值。迪森等(Deason,Brown, Chang, & Cross , 1991 )提出基于規(guī)則的測(cè)試數(shù)據(jù)生 成方法,采用路徑 / 謂詞分析或隨機(jī)測(cè)試數(shù)據(jù)生成法。他們認(rèn)為 因?yàn)闇y(cè)試用例可能無(wú)法覆蓋所有路徑,應(yīng)該對(duì)測(cè)試套件進(jìn)行優(yōu) 化??ɡ┘? Karaboga, 2005 )根據(jù)蜜蜂群智能覓食行為, 提出一種新的人工蜂群算法解決多維度和多模態(tài)問題。 卡拉博加 和巴斯圖爾克( Karaboga & Basturk , 2007 )后來(lái)又提出 ABC算法解決約束優(yōu)化問

22、題。羅等(Luo, Liu , Yang , Li , Chen, & Cao, 2016 )提出一種稱為ABCS蓋陣列生成器(covering array generator )的新算法,生成覆蓋陣列和結(jié)對(duì)測(cè)試的混合 覆蓋陣列。測(cè)試用例優(yōu)先級(jí)排序( Test case prioritization ) 指的是重新排列測(cè)試用例執(zhí)行順序, 以在某一特定時(shí)間段盡可能 發(fā)現(xiàn)更多錯(cuò)誤。 作者們還進(jìn)一步提出一種高效的多目標(biāo)蟻群優(yōu)化 方法( multi-objective ant colony optimization)解決多目標(biāo)和高維多目標(biāo)問題( multi-objective and many-obj

23、ective problems )。這種技術(shù)基于帕累托占優(yōu)和偏好指標(biāo)( Pareto dominance and preference indicators ),使外部包( external archives )在每一次生成中產(chǎn)生一種有效的解。楊和戴布(Yang & Deb,2015 )提出CSA算法解決包括 NP-hard 問題的優(yōu)化問題,而甘多米等( Gandomi, Yang, & Alavi,2013)則用CSA在沒有調(diào)整測(cè)試參數(shù)的情況下解決結(jié)構(gòu) 問題,使CSA成為像PSO-樣的穩(wěn)健且更加通用的應(yīng)用程序(Meza, Espitia , Montenegro , Gime nez, &G

24、onzd lez-Crespo , 2016 )。庫(kù)瑪和查克拉瓦蒂(Kumar & Chakarverty , 2011 )使用GA和 CSA設(shè)計(jì)嵌入式系統(tǒng)空間探索 問題。CSA無(wú)需對(duì)參數(shù)調(diào)整進(jìn)行過多試驗(yàn)便能夠在更短時(shí)間內(nèi)產(chǎn) 生更好的種群。在對(duì)SUT更長(zhǎng)時(shí)間運(yùn)算之后通過 GA獲得最佳解。 因此,CSA能在更短運(yùn)算時(shí)間內(nèi)高效生成某一個(gè)問題的多種解, 而GA則在求最佳解方面效果最好。拉姆鄒恩等( RamchounAmine, Idrissi , Ghanou, & Ettaouil , 2016 )采用 GA, 用反向傳播算法( back-propagation algorithm )訓(xùn)練網(wǎng)絡(luò)以優(yōu)

25、 化網(wǎng)絡(luò)問題。馬拉等( Mala, Mohan, & Kamalapriya , 2010 )提出一 種新的教育軟件測(cè)試優(yōu)化范式, 采用基于混合智能的搜索方法達(dá) 成教育軟件測(cè)試最優(yōu)化。這個(gè)框架的優(yōu)點(diǎn)是自動(dòng)生成測(cè)試用例, 發(fā)現(xiàn)最優(yōu)測(cè)試順序,減少測(cè)試用例數(shù)量和把測(cè)試次數(shù)降到最低。邁克爾等(Michael , McGraw, Schatz , & Walton, 1997) 提出基于啟發(fā)式搜索技術(shù)的方法解決教育軟件測(cè)試的各種問題, 他們通過在各種軟件應(yīng)用程序中使用GA和隨機(jī)測(cè)試技術(shù)生成測(cè)試數(shù)據(jù),比較這兩種技術(shù),發(fā)現(xiàn) GA 生成更有效的測(cè)試數(shù)據(jù)??ɡ锖蛶?kù)瑪(Khari & Kumar,2016 )提出

26、基于TSO搜索的 方法,把局部搜索和全局搜索結(jié)合起來(lái),在更短時(shí)間、迭代次數(shù) 更少而空間復(fù)雜性的增加可以忽略不計(jì)的情況下獲得最優(yōu)結(jié)果。 辛格(Singh,2015)的結(jié)論肯定自動(dòng)化生成預(yù)期輸出的重要性, 因?yàn)榕c人工操作相比,這樣能夠大大降低費(fèi)用和時(shí)間。但是,目 前還沒有合適、完整和穩(wěn)健的技術(shù)。巴朗等(Bar o n,Crespo, Espada ,& Mart i nez, 2015 )提出一個(gè)學(xué)習(xí)考核框架,該框架包括結(jié)構(gòu)方程模型和模糊認(rèn)知圖,旨在促進(jìn)智慧環(huán)境下的學(xué)習(xí)評(píng)價(jià)。森沃爾等(Semwal, Singha , Sharma, Chauhan , & Behera , 2016 )使用不同機(jī)

27、器學(xué)習(xí)技術(shù)(如支持向量機(jī)、人 工神經(jīng)網(wǎng)絡(luò)、KNN分類算法和分類器融合等)發(fā)現(xiàn)機(jī)器學(xué)習(xí)的原 理和分類步態(tài)數(shù)據(jù)。 梅扎等( Meza, Espitia , Montenegro , & Crespo, 2015 )提出像旋轉(zhuǎn)和直線運(yùn)動(dòng)這樣的多目標(biāo)優(yōu)化(multi-objective optimizatio n )策略,該策略建立在 PSO和 探索與利用(E &E)結(jié)果的基礎(chǔ)上。查克里等(Chakri , Khelif , Benouaret , & Yang , 2017 )提出一種修改的蝙蝠算法( bat algorithm )解決某些情況下基礎(chǔ)蝙蝠算法探索能力低所引起的 優(yōu)化問題,提高該算法在

28、探索和利用方面的效率。本文嘗試從不同角度研發(fā)一種自動(dòng)化測(cè)試工具, 即測(cè)試套件 生成(Test Suite Generation ,TSG 和測(cè)試套件優(yōu)化(Test Suite Optimization , TSO)。自動(dòng)化測(cè)試工具的框架 自動(dòng)化測(cè)試模型 本模型的測(cè)試套件生成包含四種黑盒技術(shù),即邊界值測(cè)試( boundary value testing )、穩(wěn)健性測(cè)試( robustness testing )、最壞情況測(cè)試( worst case testing )和穩(wěn)健最壞 情況測(cè)試( robustness worst case testing ),以及隨機(jī)測(cè)試( random testin

29、g )。圖 1 是其完整框架。我們可以用其中任何 一種技術(shù)生成SUT的測(cè)試數(shù)據(jù),然后用ABC或CSA寸這些數(shù)據(jù)進(jìn) 行優(yōu)化,將優(yōu)化的測(cè)試套件應(yīng)用于SUT上會(huì)生成實(shí)際輸出,而SUT的控制流圖則會(huì)產(chǎn)生預(yù)期輸出,通過比較實(shí)際輸出和預(yù)期輸 出發(fā)現(xiàn)SUT的錯(cuò)誤。這個(gè)框架的組成部分如下:?輸入:控制流圖和 SUT。?處理模塊:采用上述測(cè)試技術(shù)完成TSG由于所生成的測(cè)試套件可能會(huì)也可能不會(huì)對(duì) SUT有 100%勺路徑覆蓋,因此將其 輸入第二階段,即TSQ這個(gè)階段是在ABC和CSA幫助下完成的, 最終獲得優(yōu)化測(cè)試套件。?錯(cuò)誤檢測(cè):將生成的測(cè)試套件與控制流圖和SUT一起使用,分?e獲得預(yù)期輸出和實(shí)際輸出。如果兩種

30、輸出不一致,則說明 SUT有錯(cuò)誤。ith 測(cè)試用例的方程式如下:xi=ti1 , ti2 , ti3 ,tik ,tiNwhere i=1 , 2,SN eq. ( 2)在方程式(2)中,每一個(gè)測(cè)試用例xi有N個(gè)值,N等于包 含教育ICT軟件應(yīng)用程序代碼的源文件的變量數(shù)目,tik代表每一個(gè)變量的獨(dú)立值集( individual set of values ), SN 表示 每個(gè)變量的每一個(gè)獨(dú)立 tik 集( each individual set of tik for each variable )包含的值的數(shù)目。已存在的測(cè)試用例發(fā)生位變異( mutation of bits )時(shí)產(chǎn)生 新的隨

31、機(jī)測(cè)試用例。變異函數(shù)從這些位中選擇一個(gè)并加以擾動(dòng)。 在方程式( 3)中, xi 是輸入的測(cè)試用例, yi 是變異測(cè)試用例:yi= mutate ( xi ) eq. ( 3)如果已存在和變異測(cè)試用例的獨(dú)立路徑相同, 那么根據(jù)馬提 亞斯( Matyas )目標(biāo)函數(shù)的值選擇其中一個(gè)測(cè)試用例( Jamil & Yang, 2013 ),如方程式( 4)和( 5)所示:* j=1Ntij ) eq.For xi , p = ( 0.26 * i=1Nt2ij-0.48 (4)For yi , q = (0.26 * i=1Nt2ij-0.48 * j=1Ntij ) eq.(5)如果 p q , 那么

32、xi 是比 yi 更好的測(cè)試用例否則,yi 是比 xi 更好的測(cè)試用例結(jié)束分支。ABC算 法ABC算法基于蜜蜂群的智能行為,包括三種平行工作的蜂: 雇傭蜂、觀察蜂和偵察蜂。雇傭蜂的數(shù)量與觀察蜂的數(shù)量相同, 等于SM我們必須界定該算法的終止條件,通過重復(fù)以下步驟 尋找每一個(gè)食物源 ai :1. 隨機(jī)確定食物源 ai 以外的鄰居食物源 ai。2用目標(biāo)函數(shù)評(píng)估鄰居食物源ai,如果ai優(yōu)于ai, 則用其代替 ai 。否則,把嘗試次數(shù)增加一次。在偵察蜂時(shí)期, 放棄嘗試次數(shù)多于終止條件值的食物源, 改 用另一個(gè)隨機(jī)食物源。ABC算法提供全局搜索,最終把有最佳目 標(biāo)函數(shù)值的食物源儲(chǔ)存在記憶中。ABC算法用于

33、測(cè)試的完整偽代碼如下:第1步:初始化ABC空制參數(shù)。第 2 步:用本測(cè)試工具的任何測(cè)試技術(shù)初始化初始種群。第 3 步:評(píng)估這個(gè)種群并把通過新獨(dú)立路徑的測(cè)試用例添加 到結(jié)果集。第 4 步: cycle=1第 5 步: Do【雇傭蜂和觀察蜂時(shí)期】a. 用方程式 (3)隨機(jī)確定 ai 以外的鄰居測(cè)試用例 aib. 用方程式( 4)和( 5)評(píng)估食物源 ai ;如果 ai 優(yōu) 于 ai ,則用其代替 ai 。如果沒有更好的解,則增加嘗試次數(shù)?!緜刹旆鋾r(shí)期】c. 確定嘗試次數(shù)多于終止條件值的測(cè)試用例并通過方程式 (3)用新的隨機(jī)測(cè)試用例取代它們。d. cycle = cycle + 1第6步:While

34、 cycle !=終止條件CSA算法CSA算法基于布谷鳥下蛋的方法。布谷鳥是在其他鳥的巢下 蛋的(Yang & Deb,2015 )。在教育軟件測(cè)試中使用 CSA布 谷鳥的蛋代表測(cè)試用例, 巢代表教育軟件的獨(dú)立路徑, 蛋的適應(yīng) 值( fitness )代表測(cè)試用例的目標(biāo)函數(shù)值。每一只布谷鳥隨機(jī) 選擇其他鳥的一巢, 判斷已經(jīng)存放在里面的蛋的適應(yīng)值。 在這里, 適應(yīng)值代表布谷鳥的蛋與巢里原來(lái)的蛋的差別。 如果布谷鳥的蛋 的適應(yīng)值優(yōu)于原來(lái)的蛋, 布谷鳥就會(huì)把那個(gè)蛋扔掉, 用自己的蛋 取而代之。否則,它會(huì)繼續(xù)尋找另一個(gè)巢。CSA算法用于測(cè)試的完整偽代碼如下:第 1 步:初始化終止條件的控制參數(shù)。第 2

35、 步:用本測(cè)試工具的任何測(cè)試技術(shù)初始化初始種群。第 3 步:評(píng)估這個(gè)種群并把通過新獨(dú)立路徑的測(cè)試用例添加 到結(jié)果集。第 4 步: cycle=1第 5 步: Do【布谷鳥時(shí)期】e. 用方程式( 3)隨機(jī)確定一只準(zhǔn)備下蛋的布谷鳥(測(cè)試用 例) ci 。f. 隨機(jī)找一個(gè)巢,即檢查測(cè)試用例通過哪條獨(dú)立路徑?!緭Q/ 扔蛋時(shí)期】g. 用方程式( 4)和( 5)評(píng)估 ci ;如果 ci 優(yōu)于原 來(lái)的蛋(測(cè)試用例) ci ,則用其代替 ci 。如果沒有更好的 解,則尋找另一個(gè)巢。h. cycle = cycle + 1第 6 步: While cycle ! =終止條件STEM案例:三角形分類問題雖然我們對(duì)

36、研發(fā)的 20個(gè)教育 ICT 軟件應(yīng)用程序都進(jìn)行了測(cè) 試,限于篇幅,本文以其中一個(gè)作為案例,介紹自動(dòng)化測(cè)試工具 的運(yùn)作。三角形分類問題這是STEM中數(shù)學(xué)科目的基礎(chǔ)問題,涉及辨識(shí)三角形的性質(zhì),即是直角三角形、鈍角三角形、銳角三角形或不是三角形。 2017 年初,我們?cè)谖靼嘌览飱W哈國(guó)際大學(xué)( Universidad Internacional de La Rioja)工程與技術(shù)學(xué)院的 e-learning 和社交網(wǎng)絡(luò)碩士學(xué)位課程中進(jìn)行軟件測(cè)試, 共有 48 名學(xué)生參加, 4 名后來(lái)退出,實(shí)際有 44 人參加本研究。拉里奧哈國(guó)際大學(xué)是一 所在線大學(xué),工程與技術(shù)學(xué)院有 3, 000 多名學(xué)生,因此能否

37、用 合適的教育軟件開展 STEM科目的教學(xué)對(duì)學(xué)習(xí)結(jié)果會(huì)有重要影 響。另一方面, 這也與歐洲委員會(huì)和經(jīng)濟(jì)合作與發(fā)展組織有 關(guān)這個(gè)問題的指導(dǎo)原則相一致。我們用三角形分類問題展示 ABC和CSA算法的使用。我們首 先將這個(gè)問題的控制流圖和 SUT俞入測(cè)試工具,據(jù)此生成測(cè)試套 件并對(duì)所生成的測(cè)試套件進(jìn)行優(yōu)化。 如上所述, 這個(gè)工具有四種 黑盒技術(shù)和隨機(jī)測(cè)試技術(shù),這些技術(shù)用于生成測(cè)試套件。TSO則是用ABC或CSA進(jìn)行運(yùn)算。優(yōu)化的測(cè)試套件分別與控制流圖和 SUT一起生成預(yù)期輸出和實(shí)際輸出,通過對(duì)這兩種輸出的比較發(fā) 現(xiàn)SUT的錯(cuò)誤。整個(gè)過程如圖1所示??刂屏鲌D控制流圖以圖形表示 SUT的預(yù)期輸出。本案例的

38、控制流圖是 手工制作的, 然后輸入測(cè)試工具 (見圖 2)。 C0, C1 , C2, C3, C4, C5 是這個(gè)軟件應(yīng)用程序的條件,這些條件導(dǎo)致不同路徑的 出現(xiàn)。 N0, N1, N2, N3, N4, N5, N6, N7, N8, N9, N10 和N11代表代碼的節(jié)點(diǎn)。圖2是手工制作的控制流圖, 圖3則是 自動(dòng)化測(cè)試工具顯示的控制流圖。獨(dú)立路徑:獨(dú)立路徑指的是在控制流圖中至少遍歷一條沒有 被其他任何路徑遍歷過的邊的路徑。 根據(jù)圖 2的控制流圖, 三角 形分類問題的所有獨(dú)立路徑如表 1 所示。ABC運(yùn)算初始種群 可以用上述任何一種黑盒技術(shù)或隨機(jī)測(cè)試生成初始種群。 本 案例用的是隨機(jī)技術(shù),

39、規(guī)定測(cè)試用例數(shù)目等于10(隨機(jī)選擇),測(cè)試用例和它們的目標(biāo)值見表 2。表中測(cè)試用例的三個(gè)值 a、b 和 c 表示三角形三條邊的值,目標(biāo)值表示的是函數(shù)最小化的值。雇傭蜂第一次迭代 雇傭蜂第一次迭代之后, 每一條獨(dú)立路徑只剩下一個(gè)測(cè)試用 例,這是對(duì)所有通過相同路徑的測(cè)試用例的目標(biāo)值進(jìn)行比較的結(jié) 果。目標(biāo)值最小的測(cè)試用例被認(rèn)為是這條路徑最佳的測(cè)試用例。以通過路徑NO-N1-N2的兩個(gè)測(cè)試用例為例,它們分別是測(cè)試用例 1(目標(biāo)值 -189175.5 )和測(cè)試用例 8(目標(biāo)值 -226215.86 ) (見表 2),測(cè)試用例 8 的目標(biāo)值比測(cè)試用例 1 小,它三邊的值 分別是a=235, b=65, c

40、=33,被認(rèn)為比測(cè)試用例1更好,因此被 儲(chǔ)存在記憶中。表 3 是第一次迭代的結(jié)果。雇傭蜂第二次迭代 在雇傭蜂的第二次迭代中, 對(duì)第一次迭代保留下來(lái)的優(yōu)化測(cè) 試用例進(jìn)行變異。這些測(cè)試用例的變異導(dǎo)致新測(cè)試用例的產(chǎn)生, 雇傭蜂對(duì)新測(cè)試用例做進(jìn)一步運(yùn)算。 如果任何測(cè)試用例攔截到還 沒有被其他測(cè)試用例遍歷過的路徑, 那么這個(gè)測(cè)試用例就被保存 在與之相應(yīng)的記憶中。 如果發(fā)現(xiàn)任何測(cè)試用例遍歷已經(jīng)有測(cè)試用 例通過的路徑, 那么比較這兩個(gè)測(cè)試用例的目標(biāo)值, 把目標(biāo)值較 小的測(cè)試用例儲(chǔ)存在記憶中。測(cè)試用例的變異和比較用方程式 (4)和( 5)進(jìn)行。以表3通過路徑N0-N1-N2的測(cè)試用例(a=235, b=65

41、, c=33 )為例。用XOR運(yùn)算對(duì)該測(cè)試用例的一個(gè)值進(jìn)行變異:(235) 10 =(11101011) 211101011 XOR 10000000 = 01101011(01101011) 2 = (107) 10產(chǎn)生變異測(cè)試用例 a=107, b=65, c=33 。這個(gè)測(cè)試用例通過路徑NO-N1-N3-N5-N7-N8-N11,因此相應(yīng)路徑的記憶中就增加 了這個(gè)變異測(cè)試用例。表 4 是第二次迭代的結(jié)果。以此類推,更多的迭代會(huì)增強(qiáng)其記憶。 圖4是用ABC優(yōu)化測(cè) 試套件的截圖。CSA運(yùn)算初始種群 可以用上述任何一種黑盒技術(shù)或隨機(jī)測(cè)試生成初始種群。 本 案例用的是隨機(jī)技術(shù),規(guī)定測(cè)試用例數(shù)目等

42、于10,測(cè)試用例和它們的目標(biāo)值見表 5。CSA第 一次循環(huán)CSA 第一次循環(huán)之后, 每一條獨(dú)立路徑只剩下一個(gè)測(cè) ?用例, 這是對(duì)所有通過相同路徑的測(cè)試用例的目標(biāo)值進(jìn)行比較的結(jié)果。 目標(biāo)值最小的測(cè)試用例被認(rèn)為是這條路徑最佳的測(cè)試用例。以通過路徑 N0-N1-N2 的三個(gè)測(cè)試用例為例,它們分別是測(cè) 試用例 2(目標(biāo)值 -838870.2 )、 4(目標(biāo)值 -798429.0 )和 6(目 標(biāo)值-1499877.56 )(見表 5)。這三個(gè)測(cè)試用例中,測(cè)試用例 6 的目標(biāo)值最小,它三邊的值分別是 a=912, b=5, c=857。這個(gè)測(cè) 試用例被認(rèn)為比其他兩個(gè)測(cè)試用例更好,因此被儲(chǔ)存在記憶中。 表 6 是第一次循環(huán)的結(jié)果。CSA第二次循環(huán)CSA第二次循環(huán)中,測(cè)試工具隨機(jī)從搜索空間選取一個(gè)新測(cè) 試用例。如果發(fā)現(xiàn)這個(gè)測(cè)試用例遍歷已經(jīng)有測(cè)試用例通過的路 徑,那么比較這兩個(gè)測(cè)試用例的目標(biāo)值, 把目標(biāo)值較小的測(cè)試用 例儲(chǔ)存在記憶中。 否則, 這個(gè)測(cè)試用例便保存在與這條路徑相應(yīng) 的記憶中。表 7 是第二次循環(huán)的更新數(shù)據(jù)。在第二次循環(huán)中,隨機(jī)生成的一個(gè)新測(cè)試用例遍歷路徑2。新的循環(huán)又發(fā)現(xiàn)新測(cè)試用例,一旦發(fā)現(xiàn)更好的測(cè)試用例, 表格會(huì)隨著持續(xù)更新。 更多的循環(huán)會(huì)增強(qiáng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論