馬萌 趙煜
摘要:本文設(shè)計了一種軟件測試用例庫,目的是實(shí)現(xiàn)軟件測試用例的重復(fù)利用性,軟件測試復(fù)用一方面可以解決測試人員經(jīng)驗(yàn)不足帶來的技術(shù)問題,另一方面還避免了設(shè)計用例設(shè)計過程的重復(fù)勞動,提高了測試效率。本文首先介紹軟件測試用例的設(shè)計思想和具體編寫方法,再提出軟件測試用例庫設(shè)計方法,將測試用例匯總起來,提取通用測試用例,通過專家評審,形成標(biāo)準(zhǔn)的軟件測試用例庫,供軟件開發(fā)人員及測試人員使用,測試用例庫的使用可縮短軟件開發(fā)周期和降低軟件開發(fā)成本。
關(guān)鍵詞:軟件測試;測試用例庫;軟件質(zhì)量
中圖分類號:TP316文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2021)15-48-3
0引言
隨著軟件無線電技術(shù)在項(xiàng)目中的廣泛應(yīng)用,軟件種類多樣化、復(fù)雜程度越來越高,軟件行業(yè)加大了軟件研制過程的測試力度,提升軟件質(zhì)量是研究的重要課題。軟件測試工作是鑒定軟件正確性、完整性、安全性和質(zhì)量的過程。軟件測試為保證軟件可靠性定制了多種完整有效的測試方案,其中軟件測試用例庫的設(shè)計就是保證軟件質(zhì)量的一種有效手段。設(shè)計最少的測試用例、實(shí)現(xiàn)最大的測試覆蓋率成為測試領(lǐng)域中研究的主要對象。軟件測試用例庫匯總以往的測試用例,將具有共同特點(diǎn)或類似特點(diǎn)的測試用例總結(jié)起來,將具有通用性、獨(dú)立性、有效性、標(biāo)準(zhǔn)化和完整性的特點(diǎn)測試用例匯總在一起[1],通過專家評審,形成一種測試可借鑒的通用資料,供以后軟件開發(fā)人員及測試人員使用,達(dá)到資源共享。
近幾年軟件測試服務(wù)已成為發(fā)展趨勢,國內(nèi)軟件測試服務(wù)還處于發(fā)展初期,通過軟件測試服務(wù)模式來提供軟件測試用例庫復(fù)用,是軟件行業(yè)發(fā)展的趨勢,也是軟件測試領(lǐng)域發(fā)展的趨勢。以往的軟件復(fù)用指的是測試流程復(fù)用、測試方法復(fù)用以及測試用例復(fù)用,其中測試用例復(fù)用對于軟件測試最為重要。
1通用測試設(shè)計方法
軟件測試就是不斷進(jìn)行測試、排錯、改錯、回歸測試、排錯和改錯,直至軟件達(dá)到用戶要求的一個循環(huán)過程[2],根據(jù)測試過程及輸出結(jié)果驗(yàn)證軟件正確性,并且給出相關(guān)測試報告。軟件測試按照開發(fā)階段劃分,可分為單元測試、集成測試和合格性測試,其中各個階段的測試還分為配置項(xiàng)軟件測試和系統(tǒng)測試;按照軟件類型劃分,可分為嵌入式類軟件和平臺類軟件,按照是否運(yùn)行可分為靜態(tài)測試和動態(tài)測試,其中動態(tài)測試分為白盒測試和黑盒測試。具體測試方法分類如圖1所示。
測試用例是軟件測試過程的核心,軟件測試成本的大部分用于測試用例的設(shè)計,詳細(xì)準(zhǔn)確的測試用例可以提高測試質(zhì)量。測試用例是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個程序路徑或核實(shí)是否滿足某個特定需求。每一條測試用例都包含測試輸入及測試步驟,執(zhí)行測試用例可發(fā)現(xiàn)軟件中錯誤的數(shù)據(jù)和邏輯關(guān)系。測試用例的設(shè)計與測試人員的個人習(xí)慣及測試經(jīng)驗(yàn)息息相關(guān),不同測試人員編寫的測試用例具有差異性,甚至同一個人在不同時期編寫的測試用例也具有差異性,會對軟件測試結(jié)果產(chǎn)生不同的影響。進(jìn)行軟件測試用例通用性設(shè)計,可以將軟件開發(fā)工作及測試工作做得“更快、更好、更全面”,即更快的設(shè)計測試用例,在測試過程中節(jié)省更多的人力及時間成本。測試用例主要內(nèi)容如圖2所示。
2軟件測試用例庫設(shè)計
2.1測試用例庫設(shè)計
在軟件領(lǐng)域,軟件功能存在可借用性,因此測試用例也存在相同或相似的地方,針對這一現(xiàn)象設(shè)計了軟件測試用例庫,目的在于匯總以往測試用例,達(dá)到測試用例的繼承,為后期設(shè)計測試用例節(jié)約時間。
測試用例庫匯總現(xiàn)有軟件已執(zhí)行的測試用例,將具有共同功能、性能的測試用例歸類匯總,測試用例庫能否被重復(fù)使用取決于測試用例的通用性。為了實(shí)現(xiàn)測試用例的通用性,提高測試用例的復(fù)用程度,依據(jù)GJB5000、國家軟件標(biāo)準(zhǔn)和企業(yè)標(biāo)準(zhǔn),測試用例的設(shè)計采用如下規(guī)則[3]:
①共性分析:對同一領(lǐng)域具有相似需求的被測軟件進(jìn)行共性分析,分析其功能、性能等共同特點(diǎn),根據(jù)它們的共性挖掘出可通用的測試點(diǎn),比如大多數(shù)軟件都具有登陸功能,便可將登陸的測試用例列入測試用例庫。
②編寫統(tǒng)一的測試用例庫:根據(jù)共性分析,選出具有可復(fù)用性的測試用例,然后根據(jù)相關(guān)國家及企業(yè)標(biāo)準(zhǔn),對測試用例做出統(tǒng)一的編寫及規(guī)則設(shè)計,統(tǒng)一用例編寫模板。用例模板包括用例名稱、用例標(biāo)識、用例目的、前提條件、測試輸入、測試方法和步驟、預(yù)期結(jié)果、評價準(zhǔn)則、假設(shè)與約束及實(shí)測結(jié)果等。
③測試用例的評審:測試用例庫設(shè)計完成之后,組織相關(guān)軟件設(shè)計人員、測試人員以及評審專家對測試用例進(jìn)行逐條評審,確保測試用例的正確性,通過評審的用例以后可以直接使用。
④分類劃分測試用例庫:由于軟件種類繁多,一旦形成共用的軟件測試用例庫,如果不分類,在使用過程中會比較繁瑣、不容易查找,因此根據(jù)不同的軟件類型將測試用例進(jìn)行分類,這是很關(guān)鍵的一步,有利于使用者查找,并且保證測試在各自領(lǐng)域的獨(dú)立性。
⑤測試用例入庫:將通過測評和分類后的測試用例,根據(jù)其屬性和功能類別錄入測試用例庫中[4],并作為專門的軟件資產(chǎn)。
⑥完善測試用例:在測試過程中會不斷發(fā)現(xiàn)各種共性的測試點(diǎn),及時匯總新的測試用例,定期評審補(bǔ)充至測試用例庫,對于測試用例庫中已有的測試用例,在測試過程如發(fā)現(xiàn)不足,應(yīng)及時修正,做到測試用例庫越來越完善。
2.2可復(fù)用測試用例的管理
可復(fù)用測試用例的管理包括測試用例的存儲、檢索、復(fù)用及維護(hù)等[5]。測試用例庫根據(jù)軟件類別分類匯總,對于出現(xiàn)概率多的用例進(jìn)行單獨(dú)匯總,例如安裝卸載功能、登錄功能、參數(shù)設(shè)置功能、日志記錄查詢功能和修改密碼功能等。匯總的測試用例符合測試用例設(shè)計規(guī)則,后期遇到新項(xiàng)目,測試人員通過對比找出一版最為接近的,在其基礎(chǔ)上修改即可[6]。這樣不僅在編寫測試用例環(huán)節(jié)可節(jié)約一部分時間,為項(xiàng)目縮短工期,而且選擇一版設(shè)計最為詳細(xì)的測試用例,可更全面地測試被測軟件,提高軟件質(zhì)量,提升軟件質(zhì)量目標(biāo)。
軟件測試用例庫使用Excel制作,根據(jù)軟件類型分為不同的sheet表,每個sheet表中詳細(xì)介紹各類用例具體測試方法及步驟,以及預(yù)期結(jié)果,方便查閱,具體設(shè)計如圖3所示。
梳理測試用例分析并統(tǒng)計用例出現(xiàn)的概率,分類匯總各類測試用例,對于大概率測試用例重點(diǎn)標(biāo)注,供不同的測試人員查閱,能有效提高設(shè)計人員效率,降低軟件缺陷密度,進(jìn)一步提升軟件質(zhì)量。安裝卸載測試用例庫部分內(nèi)容示例如表1所示。
2.3測試用例庫維護(hù)
測試用例庫的維護(hù)需要管理人員定期補(bǔ)充測試用例,分類匯總,盡可能詳細(xì)地全面覆蓋測試指標(biāo),查漏補(bǔ)缺,逐步細(xì)化用例分類及出現(xiàn)概率,增加新研制軟件測試用例,以適應(yīng)技術(shù)發(fā)展趨勢。對于后期補(bǔ)充的測試用例,定期進(jìn)行專家、軟件質(zhì)量師和標(biāo)準(zhǔn)化審核,及時刪除冗余用例,避免重復(fù)用例出現(xiàn)。隨著軟件技術(shù)的發(fā)展和測試用例數(shù)量的不斷增加,對不再具備復(fù)用價值的測試用例移出測試用例庫,以便提高搜索和使用效率建立長期維護(hù)機(jī)制,不斷完善測試用例庫,實(shí)現(xiàn)價值共享。
3測試用例庫應(yīng)用效果
測試用例庫中標(biāo)注的易出現(xiàn)的測試問題對設(shè)計人員產(chǎn)生指導(dǎo)效應(yīng),有效防止軟件設(shè)計初期出現(xiàn)問題,更早避免缺陷,提高設(shè)計人員設(shè)計水平,提高設(shè)計效率。測試用例庫中的測試用例都是經(jīng)過專家評審的,是多年來的測試實(shí)踐積累下來的成熟測試用例,能有效防止缺陷發(fā)生。除此之外,測試用例的優(yōu)劣取決于測試設(shè)計師的經(jīng)驗(yàn)和水平,并且直接影響軟件測試的效率,測試用例庫的使用節(jié)約了測試人員設(shè)計測試用例時間,對于新入職的測試人員起到有效的指導(dǎo)作用,提高設(shè)計測試用例的效率,從而降低軟件測試成本。
4結(jié)束語
設(shè)計軟件測試用例庫的目的是增強(qiáng)軟件測試用例通用性、復(fù)用性,進(jìn)一步擴(kuò)充測試用例庫的規(guī)模,完善測試用例庫覆蓋領(lǐng)域,為用例的復(fù)用提供廣闊的空間。在后期可以專門開發(fā)一款測試用例庫軟件,實(shí)現(xiàn)測試用例修改,直接導(dǎo)出應(yīng)用,比起現(xiàn)有的Excel更方便管理、維護(hù)和使用。在軟件測試用例庫的使用過程中還存在不少問題,需要不斷總結(jié)經(jīng)驗(yàn),及時更新維護(hù)測試用例庫,使用更好的管理軟件進(jìn)行更為有效、合理的管理,將測試用例庫進(jìn)一步推廣使用,更有效地提高測試效率。
參考文獻(xiàn)
[1]張娟.軟件測試中測試用例復(fù)用的研究[D].上海:上海大學(xué)2012.
[2]范勇,蘭景英,李繪卓.軟件測試技術(shù)[M].西安:西安電子科技大學(xué)出版社,2009.
[3]候成杰,江云松.航天器軟件測試技術(shù)與實(shí)踐[M].北京:國防工業(yè)出版社,2017.
[4]中華人民共和國國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局,中國國家標(biāo)準(zhǔn)化管理委員會.計算機(jī)軟件測試規(guī)范:GB/T15532-2008[S].北京:中國標(biāo)準(zhǔn)出版社,2008.
[5]劉佳,王麗,楊俊葉.計算機(jī)軟件測試方法及應(yīng)用分析[J].科技風(fēng),2020(9):119.
[6]國家市場監(jiān)督管理總局,國家標(biāo)準(zhǔn)化管理委員會.系統(tǒng)與軟件工程:GB/T38634-2020[S].北京:中國標(biāo)準(zhǔn)出版社,2020.