国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通過波動分析輔助測試用例升級的方法

      文檔序號:7898066閱讀:172來源:國知局
      專利名稱:通過波動分析輔助測試用例升級的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及鏡像測試工具(又稱白盒測試工具),具體涉及一種通過波動分析輔助測試用例升級的方法。
      背景技術(shù)
      在目前的測試系統(tǒng),特別是鏡像測試系統(tǒng)中,版本升級后,原來的測試方案和測試用例的設(shè)計需要修改以適應(yīng)新版本,集成測試和單元測試人員將直接面對代碼的變化,所以在作測試設(shè)計和測試用例時,測試人員不僅需要關(guān)心設(shè)計文檔,還要關(guān)心相應(yīng)的被測試代碼。當(dāng)測試人員面對兩個版本的被測試代碼時,就需要找出其中的差異,然后根據(jù)這些差異,給出測試設(shè)計和測試用例的升級方案,并作相應(yīng)的修改。
      在現(xiàn)有技術(shù)中,這些工作都是依靠人工來完成,在版本更改量小的情況下,人工的消耗還是可以忍受的。但是當(dāng)更改量達到一定數(shù)量級別的時候,測試人員就需要很多的工作量來維護這些測試設(shè)計和測試用例,而且人為因素也避免不了出現(xiàn)這樣那樣的問題,其中最容易出現(xiàn)的問題是遺漏,另外還可能受到測試人員的自身技能的限制、導(dǎo)致的理解不一致和錯誤。

      發(fā)明內(nèi)容
      本發(fā)明提供一種更優(yōu)的差異分析方案,通過自動生成測試用例升級報告輔助測試用例的升級,以解決現(xiàn)有技術(shù)中因完全靠人工操作而引起的遺漏問題。
      為解決上述問題,本發(fā)明提供一種測試用例升級的方法,包括以下步驟(1)對測試用例中的測試腳本進行分析,得出測試用例與實體之間的依賴關(guān)系;(2)輸入在先版本和升級版本的源文件,對兩個版本的源文件進行波動分析,找出其中的被修改實體、新增實體、被刪除實體、以及被修改數(shù)據(jù)類型,并生成相應(yīng)的差異分析報告;(3)根據(jù)步驟(1)和步驟(2)中的結(jié)果,生成相應(yīng)的測試用例升級報告;(4)根據(jù)所述測試用例升級報告升級測試用例。
      在本發(fā)明所述方法的步驟(1)中,先從測試用例信息中提取出實體引用信息,再對測試用例中的測試腳本進行語法分析,分析出實體變化時會影響到的測試用例,從而得到測試用例與實體之間的依賴關(guān)系,并生成以實體名稱作為索引的{實體測試用例}集合。所述步驟(1)中還包括根據(jù)鏡像測試工具對在先版本的測試,從所獲得的實體信息中提取出數(shù)據(jù)類型變化時會直接或間接影響到的實體,并生成以數(shù)據(jù)類型作為索引的{數(shù)據(jù)類型影響實體}集合的步驟。
      在本發(fā)明所述方法的步驟(2)中,對在先版本和升級版本的源文件進行比較,根據(jù)比較結(jié)果將文件分為被修改文件、新增文件和被刪除文件三類;再從這三類文件中提取出被修改實體、新增實體和被刪除實體,并將被修改的數(shù)據(jù)類型名及修改信息記入到數(shù)據(jù)類型差異集合中;將各個實體集合進行合并,得到合并后的被修改實體集合、新增實體集合及被刪除實體集合,再將被修改的數(shù)據(jù)類型名及修改信息進行合并,得到數(shù)據(jù)類型差異集合,最后根據(jù)合并的結(jié)果,生成差異分析報告。
      在本發(fā)明所述方法的步驟(3)中,根據(jù)所述{數(shù)據(jù)類型影響實體}集合以及所述差異分析報告中的數(shù)據(jù)類型差異集合,生成{實體名稱類型變化信息}集合;再根據(jù)所述{實體名稱類型變化信息}集合,以及所述差異分析報告中的實體差異集合,生成{實體名稱實體差異信息}集合;再根據(jù)所述{實體測試用例}集合以及所述{實體名稱實體差異信息}集合,生成相應(yīng)的{實體名(測試用例集合,實體差異信息)}集合;然后對所述{實體名(測試用例集合,實體差異信息)}集合進行轉(zhuǎn)換,從以實體名稱為索引轉(zhuǎn)為以測試用例作為索引,生成相應(yīng)的{測試用例實體差異信息集合}集合;然后結(jié)合實體差異級別定義,生成新的{測試用例測試用例升級指導(dǎo)建議}集合,最后根據(jù)該集合,生成預(yù)定格式的波動分析測試用例升級報告。
      上述本發(fā)明技術(shù)方案中的各個步驟可寫成計算機程序,由計算機自動執(zhí)行,從而根據(jù)在先版本和升級版本的源文件之間的差異,生成相應(yīng)的測試用例升級報告,從而讓用戶可根據(jù)所述測試用例升級報告,自行升級測試用例。與現(xiàn)有技術(shù)相比,可大大減少測試人工方式時所需的工作量,以及人工方式所帶來的人為差錯。


      下面將結(jié)合附圖和實施例對本發(fā)明作進一步闡述,附圖中圖1是本發(fā)明方法的三大主要步驟的示意圖;圖2是本發(fā)明方法中波動分析的流程圖。
      具體實施例方式
      在鏡像測試工具中,測試用例與代碼相關(guān)的部分就是實體的引用,因此,當(dāng)對在先版本與升級版本進行比較時,只需要關(guān)心實體的定義和實體引用發(fā)生的變化。
      其中,測試用例包含測試用例描述、測試I/O(輸入/輸出)、測試驅(qū)動和測試樁。在鏡像測試工具中,已經(jīng)實現(xiàn)了全程腳本化,也就是說,測試驅(qū)動和測試樁也是腳本,我們稱為測試腳本。在腳本中引用的實體可通過鏡像技術(shù)與被測試系統(tǒng)中的全局變量和函數(shù)一一對應(yīng),并且實現(xiàn)了完全對等的操作,操作實體即等同于操作全局變量和函數(shù),這方面的內(nèi)容可參見申請?zhí)枮?2128390.0、專利申請名稱為‘鏡像測試方法’的專利。本發(fā)明中,與升級相關(guān)的部分包括輸出引用的實體,以及測試腳本引用的實體,其中的實體又分為全局變量實體和全局函數(shù)實體。
      如圖1所示為本發(fā)明方法的三大主要步驟的示意圖。
      一、準(zhǔn)備階段先從測試用例信息中提取出實體引用信息,再對測試用例中的測試腳本進行語法分析,分析出實體變化時會影響到的測試用例,從而得到測試用例與實體之間的依賴關(guān)系,并生成以實體名稱作為索引的{實體測試用例}集合。另一方面,在使用鏡像測試工具對在先版本測試中,已經(jīng)獲取了實體的信息,從所獲得的實體信息中,可提取出數(shù)據(jù)類型變化時會直接或間接影響到的實體,并生成以數(shù)據(jù)類型作為索引的{數(shù)據(jù)類型影響實體}集合。
      二、波動分析階段本發(fā)明中,波動分析的流程如圖2所示,具體包括以下步驟輸入兩個版本的源文件后,先對在先版本和升級版本的源文件進行比較,根據(jù)比較結(jié)果將文件分為被修改文件、新增文件和被刪除文件三類;對于其中的被修改文件,先對在先版本和升級版本的源文件進行語法分析,根據(jù)比較分析后的語法樹提取實體信息,再根據(jù)實體定義將實體分為被修改實體、新增實體和被刪除實體三類,并將三類實體分別記入到相應(yīng)的被修改實體集合、新增實體集合或被刪除實體集合中,再將被修改的數(shù)據(jù)類型名及修改信息記入到數(shù)據(jù)類型差異集合中;對于新增文件,則通過對其進行語法分析,提取其實體信息并記入到新增實體集合中;對于被刪除文件,則從在先版本中提取被刪除文件的實體信息,并記入被刪除實體集合中;然后,按實體名稱比較新增文件的新增實體集合和被刪除文件的被刪除實體集合中的各個實體,如果兩者中的某一實體名稱相同,則表示在被刪除文件和新增文件中都有該實體,相當(dāng)于對該實體進行了修改,此時將該實體視記入到被修改實體集合中;根據(jù)前述步驟的結(jié)果,將各個實體集合進行合并,得到合并后的被修改實體集合、新增實體集合及被刪除實體集合,再將被修改的數(shù)據(jù)類型名及修改信息進行合并,得到數(shù)據(jù)類型差異集合,最后根據(jù)合并的結(jié)果,生成差異分析報告。
      三、生成測試用例升級報告階段這個階段的輸入是上兩個階段的輸出,即包括第一階段輸出的兩個集合{實體測試用例}集合、{數(shù)據(jù)類型影響實體}集合;第二階段輸出四個集合被修改實體集合、新增實體集合、被刪除實體集合及數(shù)據(jù)類型差異集合,以及一個差異分析報告。具體流程包括以下步驟先根據(jù)以數(shù)據(jù)類型作為索引的{數(shù)據(jù)類型影響實體}集合,以及差異分析報告中的數(shù)據(jù)類型差異集合,分析出數(shù)據(jù)類型發(fā)生了變化的實體名稱,生成{實體名稱類型變化信息}集合;再根據(jù)上述{實體名稱類型變化信息}集合,以及前述差異分析報告中的實體差異集合(實體差異集合=被修改實體集合+新增實體集合+被刪除實體集合),合并生成{實體名稱實體差異信息}集合,該集合是兩個版本中發(fā)生了任何變化的實體的集合,這些變化包含類型變化、增加、刪除、被修改。
      再根據(jù)以實體名稱作為索引的{實體測試用例}集合,以及上述{實體名稱實體差異信息}集合,綜合生成相應(yīng)的{實體名(測試用例集合,實體差異信息)}集合;這里是將兩個集合通過索引簡單相加,將相同索引的內(nèi)容合并,這樣,查詢該集合就可以從實體名稱得到實體影響的測試用例和實體的變化信息。
      再對所述{實體名(測試用例集合,實體差異信息)}集合進行轉(zhuǎn)換,從以實體名稱為索引轉(zhuǎn)為以測試用例作為索引,分析出測試用例相關(guān)的變化信息,生成相應(yīng)的{測試用例實體差異信息集合}集合;這個集合包含了測試用例的相關(guān)的變化信息,根據(jù)此信息,可以知道該測試用例應(yīng)該怎樣修改。
      最后,根據(jù)所述{測試用例實體差異信息集合},結(jié)合實體差異級別定義,結(jié)合測試標(biāo)準(zhǔn)和測試經(jīng)驗,給出測試用例升級建議,生成新的{測試用例測試用例升級指導(dǎo)建議}集合,該集合給出了哪些測試用例需要修改,以及需要作怎樣的修改;然后再根據(jù)該集合,生成預(yù)定格式的波動分析測試用例升級報告。
      其中,實體差異級別可按以下方式進行定義第一級別,實體有增加或者減少,此時需要增加相應(yīng)的測試用例或者修改、減少測試用例;第二級別,因數(shù)據(jù)類型變化引起了實體的變化,此時測試用例中的輸入輸出發(fā)生變化,測試腳本中對實體的引用需要作相應(yīng)的修改;第三級別,函數(shù)實體定義中引用的實體的數(shù)量發(fā)生變化,此時相應(yīng)測試用例中的輸入輸出發(fā)生變化,需按不同情況修改腳本;第四級別,函數(shù)中引用的實體的引用關(guān)系發(fā)生變化,例如原來的左引用變成了現(xiàn)在的右引用,此時測試用例的輸入輸出發(fā)生改變,需按不同情況修改腳本;
      第五級別,函數(shù)實體定義中的執(zhí)行語句發(fā)生變化,此時輸入輸出可能發(fā)生變化,需要測試人員關(guān)注;第六級別,無任何變化,不需要升級。
      由上述實施例可以看出,本發(fā)明通過波動分析輔助測試用例升級的方法,根據(jù)在先版本和升級版本的源文件之間的差異,可自動生成相應(yīng)的測試用例升級報告,從而讓用戶可根據(jù)所述測試用例升級報告,自行升級測試用例。與現(xiàn)有技術(shù)相比,可大大減少測試人工方式時所需的工作量,以及人工方式所帶來的人為差錯。
      權(quán)利要求
      1.一種測試用例升級的方法,其特征在于,包括以下步驟(1)對測試用例中的測試腳本進行分析,得出測試用例與實體之間的依賴關(guān)系;(2)輸入在先版本和升級版本的源文件,對兩個版本的源文件進行波動分析,找出其中的被修改實體、新增實體、被刪除實體、以及被修改數(shù)據(jù)類型,并生成相應(yīng)的差異分析報告;(3)根據(jù)步驟(1)和步驟(2)中的結(jié)果,生成相應(yīng)的測試用例升級報告;(4)根據(jù)所述測試用例升級報告升級測試用例。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟(1)中,先從測試用例信息中提取出實體引用信息,再對測試用例中的測試腳本進行語法分析,分析出實體變化時會影響到的測試用例,從而得到測試用例與實體之間的依賴關(guān)系,并生成以實體名稱作為索引的{實體測試用例}集合。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述步驟(1)中,還包括根據(jù)鏡像測試工具對在先版本的測試,從所獲得的實體信息中提取出數(shù)據(jù)類型變化時會直接或間接影響到的實體,并生成以數(shù)據(jù)類型作為索引的{數(shù)據(jù)類型影響實體}集合的步驟。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述步驟(2)中,具體包括以下步驟(2-1)對在先版本和升級版本的源文件進行比較,根據(jù)比較結(jié)果將文件分為被修改文件、新增文件和被刪除文件三類;(2-2)對于被修改文件,先對在先版本和升級版本的源文件進行語法分析,根據(jù)比較分析后的語法樹提取實體信息,再根據(jù)實體定義將實體分為被修改實體、新增實體和被刪除實體三類,并將三類實體分別記入到相應(yīng)的被修改實體集合、新增實體集合或被刪除實體集合中,再將被修改的數(shù)據(jù)類型名及修改信息記入到數(shù)據(jù)類型差異集合中;(2-3)對新增文件進行語法分析,提取其實體信息并記入到新增實體集合中;(2-4)從在先版本中提取被刪除文件的實體信息,并記入被刪除實體集合中;(2-5)根據(jù)步驟(2-3)和(2-4)的結(jié)果,按實體名稱比較新增文件的新增實體集合和被刪除文件的被刪除實體集合中的各個實體,如果實體名稱相同,則將該實體記入到被修改實體集合中;(2-6)根據(jù)步驟(2-2)、(2-3)、(2-4)和(2-5)的結(jié)果,將各個實體集合進行合并,得到合并后的被修改實體集合、新增實體集合及被刪除實體集合,再將被修改的數(shù)據(jù)類型名稱及修改信息進行合并,得到數(shù)據(jù)類型差異集合,最后根據(jù)合并的結(jié)果,生成差異分析報告。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟(3)中,具體包括以下步驟(3-1)根據(jù)以數(shù)據(jù)類型作為索引的{數(shù)據(jù)類型影響實體}集合,以及所述差異分析報告中的數(shù)據(jù)類型差異集合,分析出數(shù)據(jù)類型發(fā)生了變化的實體名稱,生成{實體名稱類型變化信息}集合;(3-2)根據(jù)所述{實體名稱類型變化信息}集合,以及所述差異分析報告中的實體差異集合,分析出實體差異信息,生成{實體名稱實體差異信息}集合;(3-3)根據(jù)所述以實體名稱作為索引的{實體測試用例}集合,以及所述{實體名稱實體差異信息}集合,得到實體綜合信息,生成相應(yīng)的{實體名(測試用例集合,實體差異信息)}集合;(3-4)對所述{實體名(測試用例集合,實體差異信息)}集合進行轉(zhuǎn)換,從以實體名稱為索引轉(zhuǎn)為以測試用例作為索引,分析出測試用例所包含的變化信息,生成相應(yīng)的{測試用例實體差異信息集合}集合;(3-5)根據(jù)所述{測試用例實體差異信息集合},結(jié)合實體差異級別定義,給出每個測試用例的修改建議,生成新的{測試用例測試用例升級指導(dǎo)建議}集合,再根據(jù)該集合,生成預(yù)定格式的波動分析測試用例升級報告。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟(3-5)中的所述實體差異級別定義包括第一級別,實體有增加或者減少,此時需要增加相應(yīng)的測試用例或者修改、減少測試用例;第二級別,因數(shù)據(jù)類型變化引起了實體的變化,此時測試用例中的輸入輸出發(fā)生變化,測試腳本中對實體的引用需要作相應(yīng)的修改;第三級別,函數(shù)實體定義中引用的實體的數(shù)量發(fā)生變化,此時相應(yīng)測試用例中的輸入輸出發(fā)生變化,需按不同情況修改腳本;第四級別,函數(shù)中引用的實體的引用關(guān)系發(fā)生變化,此時測試用例的輸入輸出發(fā)生改變,需按不同情況修改腳本;第五級別,函數(shù)實體定義中的執(zhí)行語句發(fā)生變化,此時輸入輸出可能發(fā)生變化,需要測試人員關(guān)注;第六級別,無任何變化,不需要升級。
      全文摘要
      本發(fā)明涉及一種通過波動分析輔助測試用例升級的方法,其中包括以下步驟先對測試用例中的測試腳本進行分析,得出測試用例與實體之間的依賴關(guān)系;然后對在先版本和升級版本的源文件進行波動分析,找出其中的被修改實體、新增實體、被刪除實體、以及被修改數(shù)據(jù)類型,并生成相應(yīng)的差異分析報告;再根據(jù)前述結(jié)果,生成相應(yīng)的測試用例升級報告;最后根據(jù)所述測試用例升級報告,用戶可自行升級測試用例。本發(fā)明的方法可自動生成相應(yīng)的測試用例升級報告,從而可用于輔助測試用例的升級。與現(xiàn)有技術(shù)相比,可大大減少測試人工方式時所需的工作量,以及人工方式所帶來的人為差錯。
      文檔編號H04B17/00GK1536789SQ0311003
      公開日2004年10月13日 申請日期2003年4月9日 優(yōu)先權(quán)日2003年4月9日
      發(fā)明者袁長洋, 程強 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1