欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種測試工具的生成方法和終端設備的制造方法

文檔序號:9826202閱讀:566來源:國知局
一種測試工具的生成方法和終端設備的制造方法
【技術領域】
[0001] 本申請涉及計算機領域,特別是涉及一種測試工具的生成方法和終端設備。
【背景技術】
[0002] 數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,其 主要功能是進行分析型處理。隨著網(wǎng)絡技術和計算機應用的發(fā)展,互聯(lián)網(wǎng)、電信和銀行等行 業(yè)的企業(yè)在運營過程中產(chǎn)生的數(shù)據(jù)量快速膨脹,對數(shù)據(jù)倉庫的性能、可擴展性等有著巨大 影響。傳統(tǒng)的集中式數(shù)據(jù)倉庫架構已經(jīng)無法滿足大型企業(yè)的經(jīng)營分析系統(tǒng)在數(shù)據(jù)集成性、 及時性和查詢響應時間等各方面的要求。
[0003] 當前的很多第三方工具,都是針對數(shù)據(jù)庫的,而現(xiàn)有的數(shù)據(jù)倉庫的測試方法又多 是針對傳統(tǒng)的集中型數(shù)據(jù)倉庫提出的。大數(shù)據(jù)時代的信息爆炸,使得分布式/并行處理變 得如此重要。無論是傳統(tǒng)行業(yè),還是新興行業(yè),特別是互聯(lián)網(wǎng)行業(yè),日常業(yè)務運行所產(chǎn)生的 海量用戶和服務數(shù)據(jù)都需要更大的硬件資源來處理。SQL (Structured Query Language, 結構化查詢語言)是一種數(shù)據(jù)倉庫查詢和程序設計語言,用于數(shù)據(jù)的存取以及查詢、更新 和管理,SQL測試是數(shù)據(jù)倉庫產(chǎn)品測試的一個重要而繁瑣的部分。目前,業(yè)界普遍利用第 三方提供的測試工具直接進行基準測試,例如,Sysbench、Supersmach、Benchmark SQL和 Jmeter 等測試工具以及業(yè)界廣泛使用的 TPC_H(Transaction Processing Performance Council-H,數(shù)據(jù)倉庫決策支持能力的測試基準)標準。
[0004] 在實現(xiàn)本申請的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在如下問題:
[0005] SQL語法很復雜,手工寫SQL語法成本很大,且很容易產(chǎn)生錯誤,并且手寫產(chǎn)生的 SQL語法也可能存在不能使用的情況,一般采用語法模板推導來生成SQL測試集,但是利用 推導來生成SQL測試集,只能生成簡單的SQL語法,對于復雜的需要進行分支組合的場景不 能勝任,很可能不能遍歷所有的分支路徑的所有組合,并且使用起來較為復雜。第三方提供 的測試工具中框架復雜,組件繁多,移植性較差,無法模擬實際場景下實際數(shù)據(jù)的測試。傳 統(tǒng)的數(shù)據(jù)倉庫的測試工具與大數(shù)據(jù)的數(shù)據(jù)倉庫平臺的測試并不能很好地結合。

【發(fā)明內(nèi)容】

[0006] 本申請的目的在于提供一種測試工具的生成方法和終端設備,以已有程序語句 測試集為基準,以程序指紋為測試用例識別規(guī)則,將線上真實的用戶數(shù)據(jù)訪問的程序語句 持續(xù)地補充到已有測試集,以期最大化地覆蓋程序功能測試,為此,本申請采用如下技術方 案:
[0007] -種測試工具的生成方法,其特征在于,包括以下步驟:
[0008] 終端設備獲取服務器中的工作日志,并提取所述工作日志中對應執(zhí)行狀態(tài)為成功 的程序語句;
[0009] 所述終端設備根據(jù)所述程序語句生成程序指紋;
[0010] 所述終端設備將所述程序指紋與程序語句測試集中已有的程序指紋進行匹配,如 果存在相同程序指紋,則將所述程序指紋及其所對應的程序語句丟棄;
[0011] 如果不存在相同程序指紋,則將所述程序指紋及其所對應的程序語句添加到所述 程序語句測試集中。
[0012] 所述終端設備獲取所述服務器中的工作日志,具體為:
[0013] 所述終端設備周期性獲取所述服務器中的工作日志;或,
[0014] 所述終端設備獲取所述服務器推送的工作日志。
[0015] 所述工作日志,具體為:
[0016] 所述終端設備使用程序語句訪問服務器時的實時訪問日志;或,
[0017] 歷史訪問日志。
[0018] 所述終端設備根據(jù)所述程序語句生成所述程序指紋,具體為:
[0019] 所述終端設備將所述程序語句解析為抽象語法樹;
[0020] 所述終端設備將所述抽象語法樹轉換為操作算子樹;
[0021] 所述終端設備根據(jù)所述操作算子樹生成數(shù)據(jù)流的執(zhí)行單元;
[0022] 所述終端設備提取所述數(shù)據(jù)流的執(zhí)行單元中的特征字符串,將所述特征字符串作 為所述程序語句的程序指紋。
[0023] 所述特征字符串,具體為:
[0024] 根據(jù)所述數(shù)據(jù)流的執(zhí)行單元各層級的名稱所生成。
[0025] -種測試工具的生成終端設備,其特征在于,包括:
[0026] 數(shù)據(jù)獲取模塊,用于獲取服務器中的工作日志,并提取所述工作日志中對應執(zhí)行 狀態(tài)為成功的程序語句;
[0027] 指紋生成模塊,用于根據(jù)所述程序語句生成一個程序指紋;
[0028] 測試反饋模塊,用于將所述程序指紋與程序語句測試集中已有的程序指紋進行匹 配,如果存在相同程序指紋,則將所述程序指紋及其所對應的程序語句丟棄;
[0029] 如果不存在相同程序指紋,則將所述程序指紋及其所對應的程序語句添加到所述 程序語句測試集中。
[0030] 所述數(shù)據(jù)獲取模塊獲取所述服務器中的工作日志,具體為:
[0031] 所述數(shù)據(jù)獲取模塊周期性獲取所述服務器中的工作日志;或,
[0032] 所述數(shù)據(jù)獲取模塊獲取所述服務器推送的工作日志。
[0033] 所述終端設備,還包括:
[0034] 訪問模塊,用于使用程序語句訪問所述服務器;
[0035] 所述工作日志,具體為:
[0036] 所述訪問模塊業(yè)務請求訪問所述服務器時的實時訪問日志;或,
[0037] 歷史訪問日志。
[0038] 所述指紋生成模塊,具體用于:
[0039] 將所述程序語句解析為抽象語法樹;
[0040] 將所述抽象語法樹轉換為操作算子樹;
[0041] 根據(jù)所述操作算子樹生成數(shù)據(jù)流的執(zhí)行單元;
[0042] 提取所述數(shù)據(jù)流的執(zhí)行單元中的特征字符串,將所述特征字符串作為所述程序語 句的程序指紋。
[0043] 所述特征字符串,具體為:
[0044] 根據(jù)所述數(shù)據(jù)流的執(zhí)行單元各層級的名稱所生成。
[0045] 本申請的實施例包括以下優(yōu)點,以SQL指紋為測試用例的基準,收集線上真實執(zhí) 行的SQL語句并補充到數(shù)據(jù)倉庫平臺產(chǎn)品的測試集,這樣不僅可以避免大量的手寫工作和 手寫過程中產(chǎn)生的錯誤,節(jié)省了工作人員的時間,還能適用于復雜的需要進行分值組合的 場景,且能夠盡可能地覆蓋所有的分支路徑的所有組合,使SQL測試集更加準確、完善,從 而保證數(shù)據(jù)倉庫平臺的可靠性、可用性以及穩(wěn)定性。
【附圖說明】
[0046] 圖1為本申請實施例中的測試工具的生成方法流程圖;
[0047] 圖2為本申請實施例中的測試工具的生成終端設備結構示意圖。
【具體實施方式】
[0048] 本申請實施例提供的技術方案中,依據(jù)服務器線上的實際提交并成功執(zhí)行的程序 語句來補充測試集,設備終端獲取到所述服務器的工作日志,并從獲取到的工作日志中提 取對應執(zhí)行狀態(tài)為成功的程序語句,將所述程序語句解析為抽象語法樹,再將所述抽象語 法樹轉換為操作算子樹后生成相應的數(shù)據(jù)流的執(zhí)行單元,然后遍歷所述數(shù)據(jù)流的執(zhí)行單元 組成的特征樹,提取所述特征樹中的特征字符串,將所述特征字符串作為所述程序語句的 程序指紋,基于新得到的程序指紋,在程序測試集中已有的程序指紋中驗證是否存在指紋 一樣的程序語句,如果不存在,則將所述程序指紋及其所對應的程序語句添加到程序測試 集中,如果存在,則將所述程序指紋及其所對應的程序語句丟棄,以達
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永昌县| 武穴市| 洛隆县| 闵行区| 平山县| 哈巴河县| 呼图壁县| 固阳县| 松原市| 安国市| 竹北市| 英超| 新乡市| 滨海县| 城固县| 澎湖县| 都安| 青州市| 南召县| 寿阳县| 巨鹿县| 鸡西市| 沾化县| 张掖市| 翼城县| 高州市| 思茅市| 昌图县| 清远市| 连平县| 房山区| 旬阳县| 双鸭山市| 交口县| 桃江县| 哈密市| 铅山县| 义马市| 阳原县| 沙田区| 朝阳县|