減少重復(fù)過(guò)程以節(jié)省時(shí)間、費(fèi)用和工作量。
[0018] 2、本發(fā)明使用Jmeter自動(dòng)化測(cè)試工具和Jenkins持續(xù)集成軟件,能較好的解決自 動(dòng)化測(cè)試結(jié)果保存以及持續(xù)集成能持續(xù)展示自動(dòng)化測(cè)試結(jié)果,實(shí)現(xiàn)隨時(shí)能夠方便對(duì)比測(cè)試 結(jié)果,從測(cè)試結(jié)果對(duì)比中,找出程序代碼的缺陷和提高程序健壯性,實(shí)現(xiàn)了自動(dòng)化測(cè)試結(jié)果 持續(xù)集成整合。
[0019] 3、本發(fā)明在JMeter架構(gòu)下采用正則表達(dá)式創(chuàng)建斷言,通過(guò)帶有斷言的腳本以驗(yàn) 證程序代碼能否返回期望的結(jié)果,使得測(cè)試命令語(yǔ)句簡(jiǎn)單化,實(shí)現(xiàn)了對(duì)應(yīng)用程序的功能測(cè) 試,同時(shí)提高了測(cè)試代碼靈活性。
[0020] 4、本發(fā)明的云測(cè)試服務(wù)平臺(tái)能夠提高開(kāi)發(fā)者的測(cè)試效率,測(cè)試不占用開(kāi)發(fā)者的計(jì) 算資源,并且盡量能夠自動(dòng)進(jìn)行。
[0021] 5、本發(fā)明的云測(cè)試服務(wù)平臺(tái)提高了測(cè)試的安全性,即使測(cè)試失敗,也不會(huì)導(dǎo)致整 個(gè)系統(tǒng)崩潰。
[0022] 6、本發(fā)明的云測(cè)試服務(wù)平臺(tái)使得測(cè)試能夠彈性地改變測(cè)試環(huán)境,即改變測(cè)試的資 源配置。
【附圖說(shuō)明】
[0023] 圖1是本發(fā)明的整體架構(gòu)及功能部件示意圖。
[0024] 圖2是本發(fā)明所述的量子蛙跳算法求解最優(yōu)數(shù)據(jù)生成方法的流程圖。
【具體實(shí)施方式】
[0025] 實(shí)施例1本發(fā)明的總體結(jié)構(gòu)
[0026] 本發(fā)明的一種云計(jì)算環(huán)境下的自動(dòng)化測(cè)試數(shù)據(jù)生成方法,包含測(cè)試計(jì)劃定義、將 待測(cè)試數(shù)據(jù)上傳到云測(cè)試平臺(tái)、測(cè)試執(zhí)行、測(cè)試報(bào)告生成與分析4個(gè)步驟;
[0027] 所述的測(cè)試計(jì)劃定義是,在建立一個(gè)測(cè)試計(jì)劃時(shí),在JMeter的GUI界面上該測(cè)試 計(jì)劃是以樹(shù)形結(jié)構(gòu)顯示的,而其內(nèi)容的存儲(chǔ)格式為xml形式,這個(gè)xml形式存儲(chǔ)的腳本是對(duì) 樹(shù)形測(cè)試計(jì)劃的形式化描述。測(cè)試執(zhí)行模塊執(zhí)行測(cè)試計(jì)劃時(shí),就會(huì)依據(jù)xml文件的描述判 定應(yīng)該在內(nèi)存中建立什么樣的對(duì)象來(lái)反映用戶建立的測(cè)試計(jì)劃,并根據(jù)不同的對(duì)象產(chǎn)生各 自的行為對(duì)待測(cè)試系統(tǒng)進(jìn)行訪問(wèn);
[0028] 所述的將待測(cè)試數(shù)據(jù)上傳到云測(cè)試平臺(tái)是,在云平臺(tái)上實(shí)現(xiàn)對(duì)所有待測(cè)數(shù)據(jù)采用 一種量子蛙跳算法獲得最優(yōu)測(cè)試數(shù)據(jù)進(jìn)行分組測(cè)試,進(jìn)行軟件測(cè)試各table的統(tǒng)計(jì)、關(guān)聯(lián) 分析,然后應(yīng)用大數(shù)據(jù)處理數(shù)據(jù),加快數(shù)據(jù)處理測(cè)試速度,節(jié)省內(nèi)存空間。而云測(cè)試平臺(tái)是 由四個(gè)層次構(gòu)成的,即云資源層、云資源管理層、服務(wù)管理層、用戶管理層。這四層共同構(gòu)成 了云測(cè)試平臺(tái),所有測(cè)試相關(guān)的應(yīng)用程序、測(cè)試工具、測(cè)試用例、測(cè)試環(huán)境等應(yīng)用都必須先 部署到云測(cè)試平臺(tái)上,借助云計(jì)算技術(shù),提高測(cè)試的效率。能夠有效地利用云平臺(tái)動(dòng)態(tài)可擴(kuò) 展的海量資源,節(jié)省測(cè)試時(shí)間和降低測(cè)試成本。
[0029] 所述的測(cè)試執(zhí)行是,當(dāng)測(cè)試執(zhí)行時(shí),將上傳到云測(cè)試平臺(tái)的數(shù)據(jù)通過(guò)JMeter開(kāi)啟 多線程模擬多用戶的操作,其中每個(gè)線程都會(huì)調(diào)用測(cè)試計(jì)劃中的元件對(duì)象并執(zhí)行這些對(duì)象 定義的操作;
[0030] 所述的測(cè)試報(bào)告生成與分析是,在測(cè)試執(zhí)行過(guò)程中實(shí)時(shí)的收集平均響應(yīng)時(shí)間、系 統(tǒng)吞吐量等性能指標(biāo)值,并將結(jié)果以聚合報(bào)告的形式顯示給測(cè)試人員,供其進(jìn)行分析和參 考。
[0031] 實(shí)施例2本發(fā)明的基于量子蛙跳算法的軟件結(jié)構(gòu)測(cè)試數(shù)據(jù)自動(dòng)生成方法
[0032] 對(duì)軟件測(cè)試數(shù)據(jù)生成問(wèn)題進(jìn)行自動(dòng)求解可以有效減少測(cè)試人員的工作,提高軟件 測(cè)試效率,節(jié)省軟件開(kāi)發(fā)成本。本發(fā)明所采用的軟件測(cè)試數(shù)據(jù)生成方法是量子蛙跳算法。該 方法從程序輸入空間(輸入域)中隨機(jī)地選擇輸入數(shù)據(jù),然后將輸入數(shù)據(jù)用于執(zhí)行被測(cè)程 序,再根據(jù)輸入數(shù)據(jù)在程序中的執(zhí)行結(jié)果,結(jié)合量子蛙跳算法生成的新的輸入數(shù)據(jù),繼續(xù)運(yùn) 行和測(cè)試程序進(jìn)行試探,直到發(fā)現(xiàn)最優(yōu)解為止。
[0033] 1、適應(yīng)值函數(shù)的構(gòu)造
[0034] 適應(yīng)值函數(shù)是量子蛙跳算法應(yīng)用于求解問(wèn)題的優(yōu)化目標(biāo),它的構(gòu)造直接影響PSO 在具體問(wèn)題上的效率。本發(fā)明采用"分支函數(shù)疊加法"構(gòu)造適應(yīng)值函數(shù)。分支函數(shù)是一個(gè) 實(shí)值函數(shù),它是分支謂詞到實(shí)值的一個(gè)映射,可以量化地描述在測(cè)試數(shù)據(jù)的驅(qū)動(dòng)下,被測(cè)單 元的實(shí)際執(zhí)行路徑對(duì)選定路徑的覆蓋程度。
[0035] 設(shè)待測(cè)路徑上有m個(gè)分支點(diǎn),η個(gè)參數(shù),則m個(gè)分支函數(shù)分別為:A= (X 1, X2,… ,χη),f2= If2U1, X2,…,χη),…,fm= Kx1, X2,…,χη);而該路徑的分支函數(shù)為
[0036] F = MAX- (F (f!) +F (f2) + …+F (fn))
[0037] 其中
MX為一個(gè)較大整數(shù)。
[0038] 2、測(cè)試數(shù)據(jù)生成算法
[0039] 基于量子蛙跳算法的軟件結(jié)構(gòu)測(cè)試數(shù)據(jù)自動(dòng)生成方法,將測(cè)試數(shù)據(jù)作為青蛙種群 向量X的元素。首先隨機(jī)生成測(cè)試數(shù)據(jù),然后用量子蛙跳算法搜索最佳的測(cè)試數(shù)據(jù),使得適 應(yīng)值函數(shù)的值達(dá)到最大。參照?qǐng)D2所示,其步驟如下:
[0040] (1)分析被測(cè)試程序。根據(jù)測(cè)試覆蓋策略、被測(cè)程序確定適應(yīng)值函數(shù),并對(duì)被測(cè)程 序插裝;
[0041] (2)選定青娃數(shù)m、適應(yīng)值閾值ε、最大允許迭代次數(shù),族群數(shù),初始化青娃的量 子位置和位置;
[0042] ⑶迭代步數(shù) t = 0 ;Fg= 0 ;F p= (0, 0,…,0);
[0043] (4)當(dāng)滿足Fg< ε且t〈Maxiteration條件時(shí),使用青娃種群P中的每個(gè)青娃來(lái) 執(zhí)行打粧后的程序;根據(jù)青蛙運(yùn)行之后的結(jié)果,計(jì)算其適應(yīng)度;
[0044] (5)更新青蛙群的量子位置速度和位置;
[0045] (6)直到達(dá)到最終迭代次數(shù),得到最優(yōu)數(shù)據(jù)生成結(jié)果。
[0046] 以下是可以用于實(shí)施例2進(jìn)行求解的一個(gè)matlab程序:
【主權(quán)項(xiàng)】
1. 一種云計(jì)算環(huán)境下的自動(dòng)化測(cè)試數(shù)據(jù)生成方法,包含測(cè)試計(jì)劃定義、將待測(cè)試數(shù)據(jù) 上傳到云測(cè)試平臺(tái)、測(cè)試執(zhí)行、測(cè)試報(bào)告生成與分析4個(gè)步驟; 所述的測(cè)試計(jì)劃定義是,在建立一個(gè)測(cè)試計(jì)劃時(shí),在JMeter的GUI界面上該測(cè)試計(jì)劃 以樹(shù)形結(jié)構(gòu)顯示,而測(cè)試計(jì)劃的內(nèi)容存儲(chǔ)為一個(gè)xml格式的文件,所述的xml格式的文件是 對(duì)樹(shù)形測(cè)試計(jì)劃的形式化描述;當(dāng)測(cè)試執(zhí)行模塊執(zhí)行測(cè)試計(jì)劃時(shí),就會(huì)依據(jù)所述的xml格 式的文件的描述判定應(yīng)該在內(nèi)存中建立什么樣的對(duì)象來(lái)反映用戶建立的測(cè)試計(jì)劃,并根據(jù) 不同的對(duì)象產(chǎn)生各自的行為對(duì)待測(cè)試系統(tǒng)進(jìn)行訪問(wèn); 所述的將待測(cè)試數(shù)據(jù)上傳到云測(cè)試平臺(tái)是,在云測(cè)試平臺(tái)上實(shí)現(xiàn)對(duì)所有待測(cè)數(shù)據(jù)采用 量子蛙跳算法獲得最優(yōu)測(cè)試數(shù)據(jù)進(jìn)行分組測(cè)試,進(jìn)行軟件測(cè)試各模塊的統(tǒng)計(jì)、關(guān)聯(lián)分析,然 后應(yīng)用大數(shù)據(jù)處理數(shù)據(jù);所有測(cè)試相關(guān)的應(yīng)用程序、測(cè)試工具、測(cè)試用例、測(cè)試環(huán)境都先部 署到云測(cè)試平臺(tái)上,借助云計(jì)算技術(shù)進(jìn)行測(cè)試; 所述的測(cè)試執(zhí)行是,將上傳到云測(cè)試平臺(tái)的數(shù)據(jù)通過(guò)JMeter開(kāi)啟多線程模擬多用戶 的操作,其中每個(gè)線程都調(diào)用測(cè)試計(jì)劃中的元件對(duì)象并執(zhí)行這些對(duì)象定義的操作; 所述的測(cè)試報(bào)告生成與分析是,在測(cè)試執(zhí)行過(guò)程中實(shí)時(shí)的收集平均響應(yīng)時(shí)間、系統(tǒng)吞 吐量,并將結(jié)果以聚合報(bào)告的形式顯示給測(cè)試人員,供其進(jìn)行分析和參考。2. 根據(jù)權(quán)利要求1所述的一種云計(jì)算環(huán)境下的自動(dòng)化測(cè)試數(shù)據(jù)生成方法,其特征在 于,所述的云測(cè)試平臺(tái)是由四個(gè)層次構(gòu)成的,即云資源層、云資源管理層、服務(wù)管理層和用 戶管理層。
【專利摘要】本發(fā)明的一種云計(jì)算環(huán)境下的自動(dòng)化測(cè)試數(shù)據(jù)生成方法屬于性能測(cè)試的技術(shù)領(lǐng)域,包含測(cè)試計(jì)劃定義、將待測(cè)試數(shù)據(jù)上傳到云測(cè)試平臺(tái)、測(cè)試執(zhí)行、測(cè)試報(bào)告生成與分析4個(gè)步驟;本發(fā)明無(wú)需太多的人工干預(yù),可有效減少重復(fù)過(guò)程以節(jié)省時(shí)間、費(fèi)用和工作量,具有數(shù)據(jù)處理測(cè)試速度快,節(jié)省內(nèi)存空間等優(yōu)點(diǎn)。
【IPC分類】G06F11/36
【公開(kāi)號(hào)】CN105045710
【申請(qǐng)?zhí)枴緾N201510373216
【發(fā)明人】于銀輝, 楊蕾, 王玉星, 王達(dá), 田小建
【申請(qǐng)人】吉林大學(xué)
【公開(kāi)日】2015年11月11日
【申請(qǐng)日】2015年6月30日