2還包括:判斷單元 18,用于在當(dāng)前分組集合中的每個(gè)分組均不能被當(dāng)前第二測(cè)試用例集中測(cè)試用例劃分時(shí), 判斷當(dāng)前分組集合與通過當(dāng)前第三測(cè)試用例集生成的最大分組集合是否相同;相應(yīng)地,添 加單元17,還用于在判斷單元18的判斷結(jié)果為不同時(shí),將當(dāng)前分組集合中的分組進(jìn)行合并 以形成最大分組,從而根據(jù)第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,繼續(xù)執(zhí)行將第二 測(cè)試用例集中的部分測(cè)試用例添加到第三測(cè)試用例集的操作,其中,合并的分組為當(dāng)前分 組集合中被相同數(shù)量的正確測(cè)試用例和相同數(shù)量的失敗測(cè)試用例覆蓋的分組;或者,添加 單元17,還用于在判斷單元18的判斷結(jié)果為相同時(shí),完成第三測(cè)試用例集的添加操作。
[0119] 本發(fā)明實(shí)施例提供的測(cè)試用例選擇裝置用于執(zhí)行本發(fā)明圖2所示實(shí)施例提供的 測(cè)試用例選擇方法,具備相應(yīng)的功能模塊,本實(shí)施例中劃分動(dòng)態(tài)DBB,生成對(duì)應(yīng)于第三測(cè)試 用例集的最大分組集合,對(duì)分組集合進(jìn)行劃分,以及劃分后進(jìn)行判斷以進(jìn)一步選擇測(cè)試用 例的具體方式和實(shí)現(xiàn)的有益效果均與上述實(shí)施例相同,故在此不再贅述。
[0120] 雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的 實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭 露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明 的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種測(cè)試用例選擇方法,其特征在于,包括: 通過第一測(cè)試用例集中每個(gè)測(cè)試用例運(yùn)行程序,獲取所述第一測(cè)試用例集中每個(gè)測(cè)試 用例對(duì)應(yīng)于程序中每條語句的覆蓋信息,其中,所述第一測(cè)試用例集包括至少一個(gè)失敗測(cè) 試用例和第二測(cè)試用例集; 根據(jù)所述第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,將所述第二測(cè)試用例集中的部 分所述測(cè)試用例添加到第S測(cè)試用例集中; 通過已添加的第=測(cè)試用例集中的每個(gè)測(cè)試用例定位出所述程序中錯(cuò)誤的語句,W計(jì) 算出所述程序中每條語句的可疑度。2. 根據(jù)權(quán)利要求1所述的測(cè)試用例選擇方法,其特征在于,所述第S測(cè)試用例集的初 始值包括所述至少一個(gè)失敗測(cè)試用例,所述根據(jù)所述第一測(cè)試用例集中每個(gè)測(cè)試用例的覆 蓋信息,將所述第二測(cè)試用例集中的部分所述測(cè)試用例添加到第S測(cè)試用例集中之前,還 包括: 根據(jù)所述第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息將所述程序的語句劃分為動(dòng)態(tài) 基本塊DBB,所述動(dòng)態(tài)DBB中的語句具有相同覆蓋信息; 根據(jù)當(dāng)前第S測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,生成所述動(dòng)態(tài)DBB的當(dāng)前最大 分組集合,所述當(dāng)前最大分組集合中的最大分組包括一個(gè)或多個(gè)所述動(dòng)態(tài)DBB,所述當(dāng)前最 大分組集合中的每個(gè)最大分組被所述當(dāng)前第=測(cè)試用例集中相同的測(cè)試用例覆蓋; 根據(jù)所述第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,將所述第二測(cè)試用例集中的部 分所述測(cè)試用例添加到第S測(cè)試用例集中,包括: 從當(dāng)前第二測(cè)試用例集中選擇將當(dāng)前分組集合中的分組劃分為第一分組和第二分組 的測(cè)試用例,所述已選擇的測(cè)試用例對(duì)所述第一分組和所述第二分組具有不同的覆蓋信 息,所述當(dāng)前分組集合中的分組包括一個(gè)或多個(gè)所述動(dòng)態(tài)DBB,分組集合的初始值為通過所 述第=測(cè)試用例集的初始值生成的最大分組集合; 獲取所述已選擇的測(cè)試用例的執(zhí)行結(jié)果,并將所述已選擇的測(cè)試用例添加到所述當(dāng)前 第=測(cè)試用例集中; 在所述當(dāng)前分組集合中的每個(gè)分組均不能被所述當(dāng)前第二測(cè)試用例集中測(cè)試用例劃 分時(shí),判斷所述當(dāng)前分組集合與通過所述當(dāng)前第=測(cè)試用例集生成的最大分組集合是否相 同; 若不同,則將所述當(dāng)前分組集合中的分組進(jìn)行合并W形成最大分組,從而根據(jù)所述第 一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,繼續(xù)執(zhí)行將所述第二測(cè)試用例集中的部分所述 測(cè)試用例添加到第=測(cè)試用例集的操作,其中,所述合并的分組為所述當(dāng)前分組集合中被 相同數(shù)量的正確測(cè)試用例和相同數(shù)量的失敗測(cè)試用例覆蓋的分組; 若相同,則完成所述第S測(cè)試用例集的添加操作。3. 根據(jù)權(quán)利要求2所述的測(cè)試用例選擇方法,其特征在于,所述從當(dāng)前第二測(cè)試用例 集中選擇將當(dāng)前分組集合中的分組劃分為第一分組和第二分組的測(cè)試用例,包括: 從所述當(dāng)前第二測(cè)試用例集中選擇將所述分組均勻的劃分為所述第一分組和所述第 二分組的測(cè)試用例。4. 根據(jù)權(quán)利要求2或3所述的測(cè)試用例選擇方法,其特征在于,從所述當(dāng)前第二測(cè)試用 例集中選擇的測(cè)試用例滿足W下條件:其中,S(gi)表示被所述已選擇的測(cè)試用例t覆蓋的分組gi中包含錯(cuò)誤語句的程度, |G(Tf)I表示根據(jù)所述當(dāng)前第S測(cè)試用例集Tf形成的分組的數(shù)量,Split(t,gi)表示所述已 選擇的測(cè)試用例t將所述分組&劃分為所述第一分組g和所述第二分組g12中較小的一 個(gè)包含的動(dòng)態(tài)DBB的數(shù)量。5. -種測(cè)試用例選擇裝置,其特征在于,包括: 獲取模塊,用于通過第一測(cè)試用例集中每個(gè)測(cè)試用例運(yùn)行程序,獲取所述第一測(cè)試用 例集中每個(gè)測(cè)試用例對(duì)應(yīng)于程序中每條語句的覆蓋信息,其中,所述第一測(cè)試用例集包括 至少一個(gè)失敗測(cè)試用例和第二測(cè)試用例集. 添加模塊,用于根據(jù)所述獲取模塊獲取的第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信 息,將所述第二測(cè)試用例集中的部分所述測(cè)試用例添加到第S測(cè)試用例集中; 錯(cuò)誤定位模塊,用于通過所述添加模塊添加的第=測(cè)試用例集中的每個(gè)測(cè)試用例定位 出所述程序中錯(cuò)誤的語句,W計(jì)算出所述程序中每條語句的可疑度。6. 根據(jù)權(quán)利要求5所述的測(cè)試用例選擇裝置,其特征在于,所述第S測(cè)試用例集的初 始值包括所述至少一個(gè)失敗測(cè)試用例,所述裝置還包括;第一生成模塊,用于在所述添加模 塊根據(jù)所述獲取模塊獲取的第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,將所述第二測(cè)試 用例集中的部分所述測(cè)試用例添加到第=測(cè)試用例集中之前,根據(jù)所述獲取模塊獲取的第 一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息將所述程序的語句劃分為動(dòng)態(tài)基本塊DBB,所述 動(dòng)態(tài)DBB中的語句具有相同覆蓋信息; 第二生成模塊,用于根據(jù)當(dāng)前第=測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,生成所述 動(dòng)態(tài)DBB的當(dāng)前最大分組集合,所述當(dāng)前最大分組集合中的最大分組包括一個(gè)或多個(gè)所述 動(dòng)態(tài)DBB,所述當(dāng)前最大分組集合中的每個(gè)最大分組被所述當(dāng)前第S測(cè)試用例集中相同的 測(cè)試用例覆蓋; 則添加模塊,包括:選擇單元,用于從當(dāng)前第二測(cè)試用例集中選擇將當(dāng)前分組集合中 的分組劃分為第一分組和第二分組的測(cè)試用例,所述已選擇的測(cè)試用例對(duì)所述第一分組和 所述第二分組具有不同的覆蓋信息,所述當(dāng)前分組集合中的分組包括一個(gè)或多個(gè)所述動(dòng)態(tài) DBB,分組集合的初始值為通過所述第S測(cè)試用例集的初始值生成的最大分組集合; 添加單元,用于獲取所述選擇單元已選擇的測(cè)試用例的執(zhí)行結(jié)果,并將所述已選擇的 測(cè)試用例添加到所述當(dāng)前第S測(cè)試用例集中; 判斷單元,用于在所述當(dāng)前分組集合中的每個(gè)分組均不能被所述當(dāng)前第二測(cè)試用例集 中測(cè)試用例劃分時(shí),判斷所述當(dāng)前分組集合與通過所述當(dāng)前第=測(cè)試用例集生成的最大分 組集合是否相同; 則所述添加單元,還用于在所述判斷單元的判斷結(jié)果為不同時(shí),將所述當(dāng)前分組集合 中的分組進(jìn)行合并W形成最大分組,從而根據(jù)所述第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋 信息,繼續(xù)執(zhí)行將所述第二測(cè)試用例集中的部分所述測(cè)試用例添加到第S測(cè)試用例集的操 作,其中,所述合并的分組為所述當(dāng)前分組集合中被相同數(shù)量的正確測(cè)試用例和相同數(shù)量 的失敗測(cè)試用例覆蓋的分組;或者, 所述添加單元,還用于在所述判斷單元的判斷結(jié)果為相同時(shí),完成所述第=測(cè)試用例 集的添加操作。7. 根據(jù)權(quán)利要求6所述的測(cè)試用例選擇裝置,其特征在于,所述選擇單元,具體用于從 所述當(dāng)前第二測(cè)試用例集中選擇將所述分組均勻的劃分為所述第一分組和所述第二分組 的測(cè)試用例。8. 根據(jù)權(quán)利要求6或7所述的測(cè)試用例選擇裝置,其特征在于,所述選擇單元從所述當(dāng) 前第二測(cè)試用例集中選擇的測(cè)試用例滿足W下條件:其中,S(gi)表示被所述已選擇的測(cè)試用例t覆蓋的分組&中包含錯(cuò)誤語句的程度, |G(Tf)I表示根據(jù)所述當(dāng)前第S測(cè)試用例集Tf形成的分組的數(shù)量,Split(t,gi)表示所述已 選擇的測(cè)試用例t將所述分組&劃分為所述第一分組g和所述第二分組g12中較小的一 個(gè)包含的動(dòng)態(tài)DBB的數(shù)量。
【專利摘要】本發(fā)明公開了一種測(cè)試用例選擇方法和裝置。本實(shí)施例提供的測(cè)試用例選擇方法包括:通過第一測(cè)試用例集中每個(gè)測(cè)試用例運(yùn)行程序,獲取第一測(cè)試用例集中每個(gè)測(cè)試用例對(duì)應(yīng)于程序中每條語句的覆蓋信息,其中,第一測(cè)試用例集包括至少一個(gè)失敗測(cè)試用例和第二測(cè)試用例集;根據(jù)第一測(cè)試用例集中每個(gè)測(cè)試用例的覆蓋信息,將第二測(cè)試用例集中的部分測(cè)試用例添加到第三測(cè)試用例集中;通過已添加的第三測(cè)試用例集中的每個(gè)測(cè)試用例定位出程序中錯(cuò)誤的語句,以計(jì)算出程序中每條語句的可疑度。本實(shí)施例提供的測(cè)試用例選擇方法,解決了現(xiàn)有技術(shù)在進(jìn)行錯(cuò)誤定位時(shí),由于需要預(yù)先獲取所有測(cè)試用例的執(zhí)行結(jié)果,從而導(dǎo)致通過錯(cuò)誤定位的效率較低的問題。
【IPC分類】G06F11/36
【公開號(hào)】CN104932975
【申請(qǐng)?zhí)枴緾N201510282695
【發(fā)明人】李一韓
【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
【公開日】2015年9月23日
【申請(qǐng)日】2015年5月28日