• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于領(lǐng)域知識軟件測試方法的研究與應(yīng)用

      2014-04-29 02:07:01徐克圣張影
      電腦知識與技術(shù) 2014年10期
      關(guān)鍵詞:測試用例知識管理軟件測試

      徐克圣 張影

      摘要:采用本體理論來表示軟件測試領(lǐng)域知識,完成對測試用例的快速分類與檢索,設(shè)計出一個專門應(yīng)用于軟件測試領(lǐng)域的測試用例知識管理系統(tǒng),并以某公司編碼物料軟件為測試對象,驗證了基于領(lǐng)域知識的軟件測試的可行性和適應(yīng)性。該系統(tǒng)縮短了編寫測試用例的時間,最大限度地提高了測試用例的復(fù)用率,研究課題的價值也在于此。

      關(guān)鍵詞:領(lǐng)域知識;知識管理;軟件測試;測試用例;本體

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼 A 文章編號:1009-3044(2014)10-2457-04

      Abstract: The domain knowledge in software testing is expressed by ontology theory, which achieves fast classification and retrieval of test cases and has designed a testing knowledge management system specifically for software testing field. Then a particular material coding software was tested by using of this system and it verifies the validity of software testing based on domain knowledge. This system shortens the writing time of test cases and increases the reuse rate of test cases, and this is where the articles research values in.

      Key words: DK; Knowledge Management; software testing; test case; ontology

      1 概述

      軟件測試是軟件項目中不可或缺的一個重要環(huán)節(jié)。在IT業(yè)界,對軟件測試的經(jīng)典定義是:在規(guī)定的條件下對程序進(jìn)行操作,以發(fā)現(xiàn)程序錯誤,衡量軟件質(zhì)量,并對其是否能滿足設(shè)計要求進(jìn)行評估的過程。合理而行之有效的軟件測試可以大幅度提高軟件質(zhì)量。軟件測試【1】是一項知識密集型的工作,要勝任軟件測試尤其是白盒測試工作,要求軟件測試人員必須掌握相當(dāng)廣泛的IT知識與質(zhì)量管理知識。此外,軟件測試人員的經(jīng)驗、技巧、靈感在測試過程中也起著至關(guān)重要的作用。另一方面,IT界的發(fā)展日新月異,擺在測試人員面前的待測軟件產(chǎn)品也是層出不窮,探尋一種新型的、高效的軟件測試方法日益成為軟件測試行業(yè)亟待解決的課題。

      我們應(yīng)該認(rèn)識到,解決上述問題的實質(zhì),其實就是如何把各種測試用例加以分類,并在不同的軟件測試項目中予以重用的過程。從廣義上看,在軟件測試過程中產(chǎn)生的測試技術(shù)、測試方法、測試流程等也可作為分類和管理的對象。上述的這些對象都屬于知識的范疇,所以一言以蔽之,軟件測試過程可以看作是對軟件測試知識進(jìn)行管理的過程。因此,該文提出了一個基于領(lǐng)域知識的軟件測試用例管理系統(tǒng),并以某公司物料編碼軟件為測試對象進(jìn)行具體闡述。

      2 相關(guān)概念與技術(shù)

      2.1 領(lǐng)域知識

      構(gòu)建一個關(guān)于測試用例的知識管理系統(tǒng),需要對測試領(lǐng)域有深入的了解。領(lǐng)域知識(Domain Knowledge ,DK),是指在某一專業(yè)領(lǐng)域內(nèi)的概念,以及概念之間的相互關(guān)系和有關(guān)概念的約束集合。領(lǐng)域知識給出了該領(lǐng)域內(nèi)問題求解相關(guān)的定義、定理、運算法則、推理規(guī)則以及常識性知識等以作為領(lǐng)域知識獲取、存儲和表示的形式化的工具,實現(xiàn)了領(lǐng)域知識的推理和共享【2】。具體到軟件測試領(lǐng)域,該文把一切能夠驅(qū)動和協(xié)助軟件測試過程進(jìn)行的知識都?xì)w結(jié)為軟件測試領(lǐng)域知識,即在軟件測試過程中軟件測試工程師所用到的軟件測試方法、軟件測試技術(shù)、軟件測試工具、軟件測試用例、測試報告等。

      軟件測試的一個重要的分支,即軟件測試用例又可以分為六個組成部分,分別是測試環(huán)境、測試目標(biāo)、用例描述、測試輸入、測試步驟、測試操作、預(yù)期結(jié)果【3】。測試用例實際上是對客觀世界的一種抽象,是對軟件運行過程中所可能存在的環(huán)境、目標(biāo)、運動、行動和結(jié)果的描述。

      2.2 軟件測試用例的本體表示與實現(xiàn)

      本體為領(lǐng)域知識提供框架和基礎(chǔ),它對于領(lǐng)域知識的獲取、存儲和表示有著重要的作用。

      由于軟件測試用例為軟件測試的核心,所以本文著重從測試用例的角度來構(gòu)建測試領(lǐng)域本體模型,建立軟件測試用例領(lǐng)域本體的過程,就是利用本體思想與OWL語言組織和描述測試用例信息的過程。首先,利用本體建立測試用例知識概念模型,比較常用的方法有三種:自頂向下方法、自底向上方法、核心擴(kuò)展方法【4】。該文采用的是核心擴(kuò)展方法來構(gòu)建本體概念模型,首先確定的核心概念為“測試用例”。顯然,核心概念完全滿足無二義性并且覆蓋整個測試用例領(lǐng)域知識的要求。

      在確定了核心概念后,就可以對這個具有本體雛形的核心概念進(jìn)行擴(kuò)展,測試用例的六元組分別是:測試目標(biāo)、用例描述、測試環(huán)境、輸入數(shù)據(jù)、測試操作、預(yù)期結(jié)果。建立測試用例本體概念模型如圖1所示:

      在用例本體模型圖中,橢圓代表本體中的概念或類,概念之間的箭頭表示父類與子類的繼承關(guān)系,例如Author是Description的子類,Hardware是CPU的父類,TestCase是所以類的父類??傊诟割惻c子類的繼承時需注意,首先應(yīng)該確保類與類之間具有正確的繼承關(guān)系,還需要注意躲繼承的情況、類之間的范圍限制、類或?qū)嵗娜∩釂栴}以及不相交的子類。

      3 用例庫測試用例的檢索與排序

      用例庫中的測試用例是以本體的形式存在的,當(dāng)對軟件進(jìn)行測試時需根據(jù)軟件測試需求,從用例庫中檢索出相應(yīng)的測試用例。在進(jìn)行測試用例的檢索時,該文采用本體概念的語義相似度間接得到測試用例的匹配度,并根據(jù)其匹配度進(jìn)行測試用例排序,以此來實現(xiàn)邏輯推理的智能檢索。

      本文中采用的是混合式語義相似度計算(Hybrid Measures),即把概念的語義距離、概念內(nèi)容和概念屬性都考慮進(jìn)去【5】。對于直接檢索得到的測試用例設(shè)為TC,其和測試人員檢索請求Q之間的匹配度M計算公式如下:

      當(dāng)屬性為字符串類型時,dk(a,b)值由Levenshtein提出的一種計算字符串差異方法計算得到,編輯距離指的是從一個以字符為單位的字符串轉(zhuǎn)換成另外一個字符串所需的最小編輯操作代價數(shù)。編輯操作有“刪除”、“插入”、“替換”三種【6】。例如字符串“black-box testing”和“black-box_testing”之間的編輯距離,即ed(a,b)為1,因此,dk(a,b)可以根據(jù)編輯距離來計算。

      4 實例驗證

      該系統(tǒng)是在參照了相關(guān)領(lǐng)域的已有研究的基礎(chǔ)上提出的,其中包含了知識管理過程中的知識產(chǎn)生、分類、積累、共享、重用等基本流程。

      4.1 系統(tǒng)體系結(jié)構(gòu)

      本系統(tǒng)采用了C/S架構(gòu),測試用例庫存放于服務(wù)器端,通過運行在服務(wù)器上的服務(wù)器端程序與數(shù)個客戶端交互,實現(xiàn)了群組協(xié)同工作。數(shù)據(jù)庫采用Oracle 9。服務(wù)器端使用EJB實現(xiàn),容器為JBoss??蛻舳瞬捎昧四P?視圖-控制器(MVC)這一高效的軟件架構(gòu)模式【11】,開發(fā)工具為Visual Studio 2005,網(wǎng)絡(luò)通信部分采用了WinSocket接口。整個測試用例管理系統(tǒng)的體系結(jié)構(gòu)如圖2所示[7]。

      4.2 系統(tǒng)工作流程

      系統(tǒng)的工作流程如圖3所示。

      首先,將編寫好的測試用例添加到交流庫中,各用戶可以直接對交流庫中的數(shù)據(jù)進(jìn)行增刪改查等操作。交流庫中篩選出質(zhì)量較高的測試用例提交至用例庫?,F(xiàn)有的測試用例也可經(jīng)過評估后直接提交至用例庫。其次,用戶可對用例庫中的測試用例進(jìn)行分類與評級,從而成為后續(xù)檢索操作的條件,并且測試用例的分類與檢索都是基于本體的,這些都將成為提高檢索匹配度的必要前提。

      4.3 編碼系統(tǒng)測試

      本節(jié)以某物料編碼軟件為測試對象,通過以上的測試用例管理系統(tǒng)來進(jìn)一步驗證基于領(lǐng)域知識的軟件測試方法的高效性和復(fù)用性。當(dāng)對此物料編碼軟件進(jìn)行測試時,我們首先進(jìn)入軟件測試用例管理系統(tǒng),在其界面的輸入域中輸入相應(yīng)的測試需求,隨之,系統(tǒng)根據(jù)輸入請求與用例庫中的測試用例進(jìn)行智能匹配。例如在測試類型一欄輸入Functional Test,系統(tǒng)則根據(jù)上節(jié)的匹配度計算方法自動檢索出相似度極高的測試用例用以被測系統(tǒng)功能測試。采用此方法相對于測試人員重新編寫測試用例來說,可以節(jié)約更多的時間,從而提高測試的效率,并能縮短開發(fā)周期。實驗數(shù)據(jù)表格如表1所示。

      5 結(jié)束語

      通過對軟件測試用例領(lǐng)域概念以及概念之間關(guān)系的分析和研究,提出了利用本體構(gòu)建軟件測試領(lǐng)域知識,完成了對測試用例本體模型的構(gòu)建和分類管理,并采用了混合式語義相似度計算快速檢索算法,以此為理論基礎(chǔ)建立了一個基于領(lǐng)域知識的軟件測試用例知識管理系統(tǒng)。在該系統(tǒng)中,簡要提出了系統(tǒng)體系結(jié)構(gòu)和系統(tǒng)工作流程,最后以物料編碼系統(tǒng)為測試對象驗證了此系統(tǒng)的高效性和實用性,對比結(jié)果顯示此系統(tǒng)在執(zhí)行測試用例數(shù)目和時間上明顯優(yōu)于傳統(tǒng)用例管理系統(tǒng),充分說明了基于領(lǐng)域知識的測試用例管理系統(tǒng)的優(yōu)勢。

      參考文獻(xiàn):

      [1] 馬瑞芳.計算機(jī)軟件測試方法的研究[J].小型微型計算機(jī)系統(tǒng),2001,24(12):2211-22131.

      [2] 滕嚴(yán).基于領(lǐng)域知識的智能信息檢索研究(碩士學(xué)位論文)[D].濟(jì)南:山東大學(xué),2006.

      [3]李留英,王戟,齊治昌.UML statecharts 的測試用例生成方法[J].計算機(jī)研究與發(fā)展,2001,38(6): 691-697.

      [4]金芝.知識工程中的本體論研究[M].世紀(jì)之交的知識工程與知識科學(xué).北京:清華大學(xué)出版社,2001:477-468.

      [5] 陳沈焰,吳軍華.基于本體的概念語義相似度計算及其應(yīng)用[J].微電子學(xué)與計算機(jī),2008,25(12):96-99.

      [6] 史斌,閆健卓,王普,等.基于本體的概念語義相似度度量[J].計算機(jī)工程,2009,35(19):83-85.

      [7] http://www.google.com

      [8] Formica A.Ontology-based concept similarity in formal concept analysis[J].Information Sciences,2006,176:2624-2641.

      [9] 楊秋芬,陳躍新.Ontology 方法學(xué)綜述[J].計算機(jī)應(yīng)用與研究,2002(4):5-7.

      [10] 鄧志鴻,唐世渭,張銘,等.Ontology研究綜述[J].北京大學(xué)學(xué)報:自然科學(xué)版,2002,38(5):730-738.

      [11] 羅國慶.實用軟件測試方法與應(yīng)用[M].北京:電子工業(yè)出版社,2003.

      猜你喜歡
      測試用例知識管理軟件測試
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      基于OBE的軟件測試課程教學(xué)改革探索
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      基于混合遺傳算法的回歸測試用例集最小化研究
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      提升企業(yè)知識管理能力 增強(qiáng)企業(yè)的強(qiáng)勁發(fā)展態(tài)勢
      檔案管理與知識管理的關(guān)系研究
      大數(shù)據(jù)時代高校學(xué)生知識管理
      科技視界(2016年21期)2016-10-17 18:42:37
      軟件測試工程化模型及應(yīng)用研究
      我國高新技術(shù)企業(yè)實施知識管理的重要性研究
      云和县| 城市| 铜梁县| 临颍县| 太和县| 舞阳县| 凤山县| 高清| 五原县| 读书| 特克斯县| 乐至县| 德保县| 柳江县| 观塘区| 浦城县| 聂荣县| 晋宁县| 雷山县| 汶川县| 长阳| 南华县| 临沧市| 太原市| 西昌市| 渑池县| 呼玛县| 印江| 海南省| 平乡县| 会理县| 介休市| 徐水县| 彰武县| 博罗县| 彰化县| 宝清县| 吉首市| 岳普湖县| 右玉县| 衡阳县|