李春秋
摘要:本文研究了軟件測(cè)試復(fù)用及可復(fù)用軟件測(cè)試用例的設(shè)計(jì)過(guò)程,提出了可復(fù)用的軟件軟測(cè)試用例策略,建立了可復(fù)用的軟件測(cè)試用例使用方式模型,解決了當(dāng)前軟件測(cè)試量大,效率低下的問(wèn)題,提高了軟件的質(zhì)量。
關(guān)鍵詞:軟件測(cè)試;測(cè)試用例;復(fù)用;模型
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)22-0218-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
隨著軟件產(chǎn)業(yè)化發(fā)展,軟件系統(tǒng)的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。如何保障軟件的質(zhì)量,提高用戶使用體驗(yàn),是當(dāng)前軟件從業(yè)者面臨的一個(gè)嚴(yán)峻問(wèn)題。軟件測(cè)試是提高軟件質(zhì)量的有效手段,是軟件開(kāi)發(fā)的重要組成部分[1],軟件測(cè)試的關(guān)鍵點(diǎn)在于設(shè)計(jì)和執(zhí)行測(cè)試用例,而測(cè)試用例的設(shè)計(jì)與測(cè)試人員經(jīng)驗(yàn)以及測(cè)試人員對(duì)測(cè)試軟件需求的熟悉程度密切相關(guān),不同的測(cè)試人員的由于書(shū)寫習(xí)慣和對(duì)需求的理解的差別,導(dǎo)致了大量的測(cè)試用例雖然面面俱到,但冗余現(xiàn)象嚴(yán)重,浪費(fèi)了大量的人力、物力,且不利于后期維護(hù)軟件。測(cè)試用例復(fù)用技術(shù)的發(fā)展,解決了測(cè)試用例設(shè)計(jì)由于測(cè)試人員經(jīng)驗(yàn)不足帶來(lái)的問(wèn)題,同時(shí)提高了測(cè)試用例的設(shè)計(jì)質(zhì)量,有效地提高了測(cè)試效率.保障了軟件的質(zhì)量。
2 軟件測(cè)試中測(cè)試用例復(fù)用
2.1 軟件測(cè)試復(fù)用
軟件測(cè)試復(fù)用是軟件開(kāi)發(fā)中的一個(gè)重要階段,它根據(jù)軟件開(kāi)發(fā)過(guò)程中各階段的需求說(shuō)明、程序代碼設(shè)計(jì)測(cè)試用例,并執(zhí)行這些測(cè)試用例,以期發(fā)現(xiàn)軟件缺陷或者錯(cuò)誤[2]。因此,軟件測(cè)試的復(fù)用主要包括測(cè)試需求的復(fù)用、測(cè)試計(jì)劃的復(fù)用及測(cè)試用例的復(fù)用。
(1)測(cè)試需求的復(fù)用,就是分析測(cè)試需求定義,確定軟件測(cè)試的全部要求,提出軟件測(cè)試的過(guò)程與方法,規(guī)范測(cè)試流程。
(2)測(cè)試計(jì)劃的復(fù)用,就是指描述測(cè)試計(jì)劃的范圍、測(cè)試方案、測(cè)試策略、測(cè)試報(bào)告和軟件缺陷的分析撰寫等。
(3)測(cè)試執(zhí)行的復(fù)用,就是設(shè)計(jì)測(cè)試用例集,執(zhí)行每個(gè)測(cè)試集并記錄測(cè)試結(jié)果。因此,測(cè)試執(zhí)行復(fù)用主要是指測(cè)試用例的復(fù)用。
2.2 測(cè)試用例的可復(fù)用性
隨著軟件工程的發(fā)展,當(dāng)前應(yīng)用軟件大部分都是模塊化,只要根據(jù)需求修改一下模塊源代碼即可適用新的軟件中,其架構(gòu)不用變化太大。因此,對(duì)于這種模式的應(yīng)用軟件之前所采用的測(cè)試用例在大部分新的軟件上也是可以使用的,也就是說(shuō)這些測(cè)試用例都是可以復(fù)用的。實(shí)際上,在模塊的開(kāi)發(fā)過(guò)程中,底層被測(cè)試對(duì)象的測(cè)試用例常常用于高層被測(cè)對(duì)象中,如單元測(cè)試階段的測(cè)試用例可以在集中測(cè)試階段使用;集成測(cè)試階段的測(cè)試用例可以在確認(rèn)測(cè)試中復(fù)用等。
測(cè)試用例復(fù)用就是把一個(gè)已經(jīng)執(zhí)行的測(cè)試用例用在該軟件新的版本或者其他軟件的測(cè)試中[3]??蓮?fù)用的測(cè)試用例具有通用性、獨(dú)立性、和標(biāo)準(zhǔn)化的特點(diǎn)。
3 軟件測(cè)試用例復(fù)用策略
3.1可復(fù)用測(cè)試用例設(shè)計(jì)過(guò)程
正確地刻畫、描述和管理可復(fù)用的測(cè)試用例是實(shí)現(xiàn)測(cè)試用例復(fù)用的關(guān)鍵技術(shù)[1]。因此,軟件測(cè)試用例復(fù)用測(cè)試環(huán)境變化時(shí),當(dāng)前測(cè)試用例及其相關(guān)的測(cè)試用例都可能相繼失效。所以,測(cè)試用例設(shè)計(jì)要注意一下幾個(gè)方面:
(1)設(shè)計(jì)的測(cè)試用例之間必須相互獨(dú)立。
(2)設(shè)計(jì)的測(cè)試用例必須具有通用性。對(duì)于被測(cè)軟件的明確測(cè)試需求,為滿足測(cè)試用例通用性的要求,我們應(yīng)該關(guān)注是測(cè)試思路。目前,為了使測(cè)試用例是可操作的、可復(fù)現(xiàn)的,測(cè)試用例設(shè)計(jì)一般都要求很詳細(xì),但是這樣的測(cè)試用例很難在其他軟件測(cè)試中使用,只能在同一軟件不同版本中測(cè)試使用。因此,需要對(duì)測(cè)試用例進(jìn)行處理,減少和特定功能相關(guān)的信息以及與被測(cè)軟件的相關(guān)度。但是為了軟件測(cè)試用例可以復(fù)用,在設(shè)計(jì)用例時(shí)可以對(duì)差異之處進(jìn)行預(yù)測(cè),然后描述出來(lái)。該測(cè)試用例被復(fù)用時(shí),測(cè)試人員可以適當(dāng)修改該用例即可滿足特定的需求。
(3)設(shè)計(jì)的測(cè)試用例必須使用統(tǒng)一的規(guī)范的自然語(yǔ)言或者術(shù)語(yǔ)描述,必須是完整的、標(biāo)準(zhǔn)的。
按照測(cè)試用例設(shè)計(jì)原則,并結(jié)合復(fù)用技術(shù),可復(fù)用測(cè)試用例的一般描述見(jiàn)表1。
3.2 可復(fù)用測(cè)試用例的復(fù)用策略
測(cè)試人員制定測(cè)試計(jì)劃和方案時(shí),根據(jù)測(cè)試需求文檔和被測(cè)軟件使用說(shuō)明,設(shè)計(jì)測(cè)試用例類型,然后在用例庫(kù)中搜索與該測(cè)試項(xiàng)相似或者相同的測(cè)試用例,如果能查詢到類似的測(cè)試用例,則提取已有的測(cè)試用例,將該測(cè)試用了具體化添加到測(cè)試方案中,如果檢索不到可復(fù)用的測(cè)試用例,測(cè)試人員按照復(fù)用測(cè)試用例設(shè)計(jì)原則,生成新的測(cè)試用例并添加到測(cè)試方法中,方案執(zhí)行完成后,新的測(cè)試用例檢驗(yàn)無(wú)誤后添加到測(cè)試用例中,這樣可以收集大量的測(cè)試用例,如圖1:測(cè)試用例復(fù)用策略。另外,每年固定幾個(gè)日期對(duì)測(cè)試用庫(kù)進(jìn)行維護(hù),合并相同或者相近的測(cè)試用例,刪除冗余的測(cè)試用例。
3.3 可復(fù)用測(cè)試用例使用方式
文獻(xiàn)[2]提出了一個(gè)復(fù)用測(cè)試用例使用流程:根據(jù)測(cè)試場(chǎng)景的用例圖定義測(cè)試用例類型,在根據(jù)所定義的測(cè)試用例到測(cè)試用例庫(kù)中查找是否有和當(dāng)前測(cè)試用例類型相同的測(cè)試用例。如果查找到相同的測(cè)試用例,則將用例添加到設(shè)計(jì)文檔中,程序結(jié)束。如果沒(méi)有查找到相同的測(cè)試用例,則根據(jù)需求重新編寫測(cè)試用例并執(zhí)行,如果執(zhí)行結(jié)果和預(yù)期結(jié)果一致,則將該用例添加到測(cè)試用例庫(kù)中,以便下次復(fù)用,程序結(jié)束。這個(gè)測(cè)試用例使用方式只適用于不需要修改當(dāng)前測(cè)試用例的情況,違背了可復(fù)用測(cè)試用例的通用性特點(diǎn)。因此,該測(cè)試用例復(fù)用方式在實(shí)際測(cè)試時(shí)不適用。
本文提出了基于復(fù)用的軟件測(cè)試用例使用方式模型。該模型針對(duì)一個(gè)實(shí)踐中的測(cè)試軟件,和其他復(fù)用的軟件測(cè)試模型不同,該模型融合了軟件測(cè)試用例設(shè)計(jì)、測(cè)試用例修改及測(cè)試用例的復(fù)用,如圖2:基于復(fù)用的軟件測(cè)試模型。
在“復(fù)用需求”中,測(cè)試人員分析被測(cè)軟件的需求文檔、使用說(shuō)明、功能等,對(duì)測(cè)試用例進(jìn)行描述,并確定測(cè)試策略、測(cè)試用例類型、測(cè)試領(lǐng)域等。
在“用例檢索查找”中,測(cè)試人員用檢索工具在當(dāng)前用例構(gòu)建庫(kù)中查找滿足要求的測(cè)試用例。這種方式查詢的測(cè)試用例一般有三種可能:第一種是存在且合理的,則直接復(fù)用;第二種是不存在,則創(chuàng)建新的測(cè)試用例,設(shè)計(jì)新的測(cè)試用例要滿足測(cè)試用例復(fù)用特點(diǎn);第三種是查詢到一些相似的測(cè)試用例構(gòu)件,則對(duì)其進(jìn)行修改、完善該用例以滿足當(dāng)前需求后復(fù)用。
在新添加用例過(guò)程中,復(fù)用后新添加及完善后的測(cè)試用例添加到新用例構(gòu)件庫(kù)中,最后添加到用例歷史庫(kù)中,采用這種方式收集測(cè)試用例,可以保證可復(fù)用測(cè)試用例的數(shù)量和質(zhì)量,為以后軟件測(cè)試時(shí)提供方便。
4 測(cè)試用例復(fù)用實(shí)現(xiàn)的過(guò)程
測(cè)試用例復(fù)用一般分為同一個(gè)軟件不同版本或者不同階段測(cè)試時(shí)的復(fù)用以及相似軟件之間的復(fù)用。
(1)同一個(gè)軟件測(cè)試復(fù)用。同一個(gè)軟件在開(kāi)發(fā)過(guò)程中或者不同版本測(cè)試時(shí),可以用到測(cè)試用例復(fù)用。開(kāi)發(fā)過(guò)程中測(cè)試用例復(fù)用是指低層測(cè)試對(duì)象的測(cè)試用例可能部分地用到高層對(duì)象的測(cè)試中[3],如集成測(cè)試時(shí)所采用的測(cè)試用例可以在系統(tǒng)測(cè)試時(shí)使用。高版本軟件測(cè)試時(shí),可以到測(cè)試用例庫(kù)中檢索該軟件上一個(gè)版本測(cè)試時(shí)的測(cè)試用例進(jìn)行測(cè)試。測(cè)試結(jié)束后,如果添加新測(cè)試用例被有選擇地添加到測(cè)試用例歷史庫(kù)中,用作以后測(cè)試軟件測(cè)試時(shí)使用。
(2)相似軟件的測(cè)試。該類型軟件測(cè)試時(shí)主要考慮軟件開(kāi)發(fā)時(shí)的編程語(yǔ)言、架構(gòu)、軟件所屬行業(yè)、軟件的相關(guān)功能及運(yùn)行環(huán)境。并判斷兩者之間的相關(guān)度。如果相關(guān)度比較高,則可以在測(cè)試用例庫(kù)中檢索相關(guān)需求的測(cè)試用例進(jìn)行復(fù)用。這種復(fù)用主要是復(fù)用測(cè)試方法、測(cè)試數(shù)據(jù)等。
5 總結(jié)
介紹了軟件測(cè)試的復(fù)用,描述了設(shè)計(jì)可復(fù)用的軟件測(cè)試用例的過(guò)程及復(fù)用策略,提出了一種可復(fù)用測(cè)試用例庫(kù)的使用方式,采用測(cè)試用例庫(kù)的使用方法在相同軟件以及相似軟件之間實(shí)現(xiàn)了的測(cè)試用例復(fù)用。從而提高了軟件測(cè)試的效率,保證了軟件產(chǎn)品的質(zhì)量。
參考文獻(xiàn):
[1]夏啟明.軟件測(cè)試及評(píng)價(jià)的復(fù)用策略研究及其實(shí)現(xiàn)[Dl.武漢:武漢大學(xué),2010.
[2]尚冬娟,郝克剛,葛瑋,等.軟件測(cè)試中的測(cè)試用例及復(fù)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(1):69-72.
[3]尹平.可復(fù)用測(cè)試用例研究[J].計(jì)算機(jī)應(yīng)用,2010,30(5):1309-1311,1355.
[4]王珊珊.軟件測(cè)試中可復(fù)用測(cè)試用例研究[J].信息技術(shù)與信息化,2015,18(3):119-121.
[5]芮素娟.基于XML的測(cè)試用例復(fù)用研究[D].重慶:西南大學(xué),2006.
[6]王明珠,軟件測(cè)試中測(cè)試用例復(fù)用的研究[J].信息系統(tǒng)工程.2014,136.
[7]儲(chǔ)海華.計(jì)算機(jī)維護(hù)類軟件測(cè)試用例的設(shè)計(jì)及復(fù)用研究[J].軟件產(chǎn)業(yè)與工程,2013(5):51-56.
【通聯(lián)編輯:梁書(shū)】