本發(fā)明專利技術(shù)公開了一種測試數(shù)據(jù)生成方法及裝置。所述測試數(shù)據(jù)生成方法包括:獲取預(yù)設(shè)的測試數(shù)據(jù)定義信息,確定需要生成的測試數(shù)據(jù)中所包含的字段;進(jìn)一步根據(jù)所述測試數(shù)據(jù)定義信息中的關(guān)聯(lián)定義信息,確定需要生成的關(guān)聯(lián)字段;其中所述關(guān)聯(lián)字段為:與外部數(shù)據(jù)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)字段;讀取所述外部數(shù)據(jù),根據(jù)所述外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值;利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值。應(yīng)用本發(fā)明專利技術(shù)技術(shù)方案,可以在生成數(shù)據(jù)的過程中,充分考慮到與外部表相關(guān)聯(lián)的數(shù)據(jù)字段,從而保證數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,滿足復(fù)雜系統(tǒng)的測試需求。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及測試
,特別是涉及一種測試數(shù)據(jù)生成方法及裝置。
技術(shù)介紹
軟件測試是軟件生命周期的重要組成部分,確保了計(jì)算機(jī)軟件的正確性和完整性。隨著軟件測試技術(shù)的發(fā)展,自動化測試技術(shù)已經(jīng)被越來越廣泛地使用,其主要包括測試數(shù)據(jù)自動生成、測試用例的自動執(zhí)行和校驗(yàn)、測試環(huán)境的自動部署等方面。在軟件測試的過程中,測試數(shù)據(jù)的準(zhǔn)備是重要的環(huán)節(jié),快速、全面地準(zhǔn)備好測試數(shù)據(jù),不僅可以大幅提高測試效率,縮短測試周期,而且還可以避免測試用例的遺漏,增加測試的覆蓋面。目前,一種較為常用的測試數(shù)據(jù)準(zhǔn)備方法是隨機(jī)測試數(shù)據(jù)生成法,其主要思想是由測試人員預(yù)先給定數(shù)據(jù)取值范圍,然后由計(jì)算機(jī)在給定的取值范圍內(nèi)隨機(jī)選取測試數(shù) 據(jù)。這種方法生成的測試數(shù)據(jù),覆蓋比較全面,適用于功能測試。在實(shí)際的測試應(yīng)用過程中,專利技術(shù)人發(fā)現(xiàn)上述測試數(shù)據(jù)生成方法至少存在以下問題首先,數(shù)據(jù)之間的關(guān)聯(lián)性難以維護(hù),對于較為復(fù)雜的系統(tǒng)而言,如果生成的測試數(shù)據(jù)是需要在多個數(shù)據(jù)表之間關(guān)聯(lián)的,那么隨機(jī)法生成出的測試數(shù)據(jù)可能就是不可用的;其次,只能生成正確的數(shù)據(jù),不能生成錯誤的數(shù)據(jù),而在實(shí)際的測試過程中,為了測試程序的故障處理能力,對于錯誤數(shù)據(jù)的測試重要性往往遠(yuǎn)大于對正確數(shù)據(jù)的測試;最后,隨機(jī)法所生成的測試數(shù)據(jù),盡管覆蓋比較全面,然而缺點(diǎn)在于沒有側(cè)重,生成的數(shù)據(jù)過于分散,難以滿足針對性較強(qiáng)的測試需求。
技術(shù)實(shí)現(xiàn)思路
為解決上述技術(shù)問題,本專利技術(shù)實(shí)施例提供一種測試數(shù)據(jù)生成方法及裝置,以解決/以實(shí)現(xiàn),技術(shù)方案如下本專利技術(shù)實(shí)施例提供一種測試數(shù)據(jù)生成方法,其特征在于,該方法包括獲取預(yù)先設(shè)置的測試數(shù)據(jù)定義信息,確定需要生成的測試數(shù)據(jù)中所包含的字段;進(jìn)一步根據(jù)所述測試數(shù)據(jù)定義信息中的關(guān)聯(lián)定義信息,確定需要生成的關(guān)聯(lián)字段;其中所述關(guān)聯(lián)字段為與外部數(shù)據(jù)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)字段;讀取所述外部數(shù)據(jù),根據(jù)所述外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值;利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述讀取外部數(shù)據(jù),包括根據(jù)關(guān)聯(lián)定義信息中所指示的關(guān)聯(lián)源信息,讀取相應(yīng)的外部數(shù)據(jù)。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述根據(jù)外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù),包括根據(jù)關(guān)聯(lián)定義信息中所指示的關(guān)聯(lián)方式,利用外部數(shù)據(jù)的內(nèi)容生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述關(guān)聯(lián)方式包括直接復(fù)制外部數(shù)據(jù)的對應(yīng)數(shù)據(jù)值;或利用外部數(shù)據(jù)的數(shù)據(jù)值進(jìn)行運(yùn)算,得到關(guān)聯(lián)字段的數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值,包括根據(jù)所述測試數(shù)據(jù)定義信息中的錯誤定義信息,在非關(guān)聯(lián)字段中隨機(jī)添加錯誤數(shù)據(jù)值。 根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述根據(jù)測試數(shù)據(jù)定義信息中的錯誤定義信 息,在非關(guān)聯(lián)字段中隨機(jī)添加錯誤數(shù)據(jù)值,包括根據(jù)錯誤定義信息中所指定的錯誤類型,在非關(guān)聯(lián)字段中隨機(jī)添加具有指定錯誤類型的錯誤數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值,包括根據(jù)所述測試數(shù)據(jù)定義信息中的特殊值定義信息,在相應(yīng)的非關(guān)聯(lián)字段中生成滿足指定數(shù)量要求的特殊值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述在相應(yīng)的非關(guān)聯(lián)字段中生成滿足指定數(shù)量要求的特殊值,包括在隨機(jī)生成某字段的所有數(shù)據(jù)值后,判斷所生成特殊值的數(shù)量是否滿足指定的數(shù)量要求,如果否,則重新生成該字段的全部或部分?jǐn)?shù)據(jù)值,直到滿足所述數(shù)量要求。本專利技術(shù)實(shí)施例還提供一種測試數(shù)據(jù)生成裝置,該裝置包括定義信息獲取單元,用于獲取預(yù)先設(shè)置的測試數(shù)據(jù)定義信息,確定需要生成的測試數(shù)據(jù)中所包含的字段;定義信息解析單元,用于根據(jù)所述測試數(shù)據(jù)定義信息中的關(guān)聯(lián)定義信息,確定需要生成的關(guān)聯(lián)字段;其中所述關(guān)聯(lián)字段為與外部數(shù)據(jù)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)字段;關(guān)聯(lián)字段數(shù)據(jù)生成單元,用于讀取所述外部數(shù)據(jù),根據(jù)所述外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值;非關(guān)聯(lián)字段數(shù)據(jù)生成單元,用于利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述關(guān)聯(lián)字段數(shù)據(jù)生成單元,具體用于根據(jù)關(guān)聯(lián)定義信息中所指示的關(guān)聯(lián)源信息,讀取相應(yīng)的外部數(shù)據(jù)。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述關(guān)聯(lián)字段數(shù)據(jù)生成單元,具體用于根據(jù)關(guān)聯(lián)定義信息中所指示的關(guān)聯(lián)方式,利用外部數(shù)據(jù)的內(nèi)容生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述關(guān)聯(lián)方式包括直接復(fù)制外部數(shù)據(jù)的對應(yīng)數(shù)據(jù)值;或利用外部數(shù)據(jù)的數(shù)據(jù)值進(jìn)行運(yùn)算,得到關(guān)聯(lián)字段的數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述非關(guān)聯(lián)字段數(shù)據(jù)生成單元,具體用于根據(jù)所述測試數(shù)據(jù)定義信息中的錯誤定義信息,在非關(guān)聯(lián)字段中隨機(jī)添加錯誤數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述非關(guān)聯(lián)字段數(shù)據(jù)生成單元,具體用于根據(jù)錯誤定義信息中所指定的錯誤類型,在非關(guān)聯(lián)字段中隨機(jī)添加具有指定錯誤類型的錯誤數(shù)據(jù)值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述非關(guān)聯(lián)字 段數(shù)據(jù)生成單元,具體用于根據(jù)所述測試數(shù)據(jù)定義信息中的特殊值定義信息,在相應(yīng)的非關(guān)聯(lián)字段中生成滿足指定數(shù)量要求的特殊值。根據(jù)本專利技術(shù)的一種具體實(shí)施方式,所述非關(guān)聯(lián)字段數(shù)據(jù)生成單元,具體用于在隨機(jī)生成某字段的所有數(shù)據(jù)值后,判斷所生成特殊值的數(shù)量是否滿足指定的數(shù)量要求,如果否,則重新生成該字段的全部或部分?jǐn)?shù)據(jù)值,直到滿足所述數(shù)量要求。本專利技術(shù)技術(shù)方案,將需要生成的數(shù)據(jù)字段分為關(guān)聯(lián)字段和非關(guān)聯(lián)字段兩類,對于關(guān)聯(lián)字段,根據(jù)測試數(shù)據(jù)定義信息所指定的外部數(shù)據(jù)生成數(shù)據(jù)值,對于非關(guān)聯(lián)字段,則利用隨機(jī)法生成數(shù)據(jù)值。與現(xiàn)有技術(shù)相比,應(yīng)用本專利技術(shù)技術(shù)方案,至少可以實(shí)現(xiàn)以下一方面的技術(shù)效果首先,在生成數(shù)據(jù)的過程中,充分考慮到與外部數(shù)據(jù)表相關(guān)聯(lián)的數(shù)據(jù)字段,從而保證數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,滿足復(fù)雜系統(tǒng)的測試需求。其次,不僅可以生成正確性數(shù)據(jù),還可以根據(jù)需求,生成錯誤的數(shù)據(jù),保證了測試的全面性。最后,根據(jù)預(yù)先定義的權(quán)重,可以有側(cè)重地生成實(shí)際的測試數(shù)據(jù)值,從而滿足于某些針對性較強(qiáng)的測試需求。可以理解的是,上述技術(shù)效果可能是本專利技術(shù)所有實(shí)施例的共同效果,也可能是某些優(yōu)選實(shí)施例的特殊效果,而本專利技術(shù)的某個具體實(shí)施例并不一定需要同時實(shí)現(xiàn)上述所有的技術(shù)效果。附圖說明為了更清楚地說明本專利技術(shù)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術(shù)中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本專利技術(shù)實(shí)施例測試數(shù)據(jù)生成方法的一種流程圖;圖2為本專利技術(shù)實(shí)施例測試數(shù)據(jù)生成裝置的一種結(jié)構(gòu)示意圖。具體實(shí)施例方式首先對本專利技術(shù)實(shí)施例所提供的一種測試數(shù)據(jù)生成方法進(jìn)行說明,該方法可以包括以下步驟獲取預(yù)設(shè)的測試數(shù)據(jù)定義信息,確定需要生成的測試數(shù)據(jù)中所包含的字段;進(jìn)一步根據(jù)所述測試數(shù)據(jù)定義信息中的關(guān)聯(lián)定義信息,確定需要生成的關(guān)聯(lián)字段;其中所述關(guān)聯(lián)字段為與外部數(shù)據(jù)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)字段;讀取所述外部數(shù)據(jù),根據(jù)所述外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值;利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值。本專利技術(shù)技術(shù)方案,將需要生成的數(shù)據(jù)字段分為關(guān)聯(lián)字段和非關(guān)聯(lián)字段兩類,對于關(guān)聯(lián)字段,根據(jù)測試數(shù)據(jù)定義信息所指定的外部數(shù)據(jù)生成數(shù)據(jù)值,充分考慮到與外部數(shù)據(jù)表相關(guān)聯(lián)的數(shù)據(jù)字段,從而保證數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,滿足復(fù)雜系統(tǒng)的測試需求。根據(jù)本專利技術(shù)的方案,測試人員預(yù)先根據(jù)測試需要本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種測試數(shù)據(jù)生成方法,其特征在于,該方法包括:獲取預(yù)設(shè)的測試數(shù)據(jù)定義信息,確定需要生成的測試數(shù)據(jù)中所包含的字段;進(jìn)一步根據(jù)所述測試數(shù)據(jù)定義信息中的關(guān)聯(lián)定義信息,確定需要生成的關(guān)聯(lián)字段;其中所述關(guān)聯(lián)字段為:與外部數(shù)據(jù)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)字段;讀取所述外部數(shù)據(jù),根據(jù)所述外部數(shù)據(jù)的內(nèi)容,生成測試數(shù)據(jù)的關(guān)聯(lián)字段數(shù)據(jù)值;利用隨機(jī)法生成測試數(shù)據(jù)的非關(guān)聯(lián)字段數(shù)據(jù)值。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:崔萌,江峰,謝朝陽,
申請(專利權(quán))人:中國電信股份有限公司云計(jì)算分公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。