許穎媚,曹強(qiáng)
(1.廣東省科技基礎(chǔ)條件平臺(tái)中心,廣東廣州,510000;2.廣東省高性能計(jì)算重點(diǎn)實(shí)驗(yàn)室,廣東廣州,510000)
測量審核是能力驗(yàn)證計(jì)劃的一種,有時(shí)也稱為 “一對一”的能力驗(yàn)證計(jì)劃[1]。軟件性能效率與在指定條件下所使用的資源有關(guān),主要包含了時(shí)間特性、資源利用性和容量三個(gè)特性[2]。測量審核樣品通常來源于有證標(biāo)準(zhǔn)物質(zhì)(標(biāo)準(zhǔn)樣品)、能力驗(yàn)證剩余樣品或者定制樣品等[3]。軟件性能效率測量審核是對實(shí)驗(yàn)室能力的驗(yàn)證,也是重要的外部質(zhì)量保證措施,對于提升實(shí)驗(yàn)室能力和保障軟件性能效率測試質(zhì)量有重要作用。軟件性能效率是評估軟件質(zhì)量的重要指標(biāo),其測試結(jié)果是當(dāng)前信息化項(xiàng)目驗(yàn)收的一項(xiàng)重要依據(jù),因此測試過程和結(jié)果的準(zhǔn)確性十分重要。
軟件性能效率測試研究也有較多的成果。通過算法改進(jìn),使用變化點(diǎn)檢測對檢測性能變化的能力產(chǎn)生巨大影響,從數(shù)量上大大降低了對性能變化的誤報(bào)率,從質(zhì)量上使整個(gè)性能評估過程更容易、更有效率、更及時(shí)[4]。也有從開發(fā)人員、規(guī)模、組織、性能測試類型和性能測試工具五個(gè)角度研究項(xiàng)目的性能測試,建議通過非參數(shù)化方法或性能測試生成,并專注于與標(biāo)準(zhǔn)持續(xù)集成工具的緊密集成[5]。具體應(yīng)用方面,有研究建立和提出用于測試的大規(guī)模系統(tǒng)建模的程序、測試協(xié)議和方法[6]。在性能效率測試的廣度上,有APP軟件的性能效率模型[7]、飛行性能測試系統(tǒng)的研究[8]、基于軟件性能的系統(tǒng)測試[9]和新的性能測試檢測方法[10]。通過研究軟件測試的相關(guān)方法和要求,軟件性能效率測量審核要從需求理解、腳本編寫和測試結(jié)果方面進(jìn)行具體實(shí)施。
軟件性能效率測量審核通過對測量結(jié)果的滿意度判定來驗(yàn)證實(shí)驗(yàn)室開展該項(xiàng)目檢測或者是校準(zhǔn)的能力[11,12],包括了測試申請、委托書填寫及發(fā)送、測試方式擠時(shí)間、回執(zhí)發(fā)送、測試結(jié)果上報(bào)和結(jié)果分析6個(gè)步驟,如圖1所示。測試申請,實(shí)驗(yàn)室向?qū)嵤C(jī)構(gòu)提出申請,實(shí)施機(jī)構(gòu)受理后發(fā)送測量審核報(bào)名表;委托書填寫及發(fā)送,實(shí)驗(yàn)室填寫測量審核報(bào)名表并提交至實(shí)施機(jī)構(gòu);測試方式及時(shí)間,一般測量審核開始測試至結(jié)束測試共計(jì)10個(gè)工作日,測試方式由實(shí)施機(jī)構(gòu)指定;回執(zhí)發(fā)送,實(shí)驗(yàn)室需在第 1 個(gè)工作日對被測樣品進(jìn)行確認(rèn),填寫“被測物品接受狀態(tài)表”并提交;測試結(jié)果上報(bào),需要提交工具文件包括測試腳本、場景文件和場景運(yùn)行結(jié)果,測試結(jié)果文檔包括:測試計(jì)劃、測試用例、測試記錄和測試報(bào)告;結(jié)果分析,專家評審并給出測量審核結(jié)果。

圖1 測量審核過程
在實(shí)驗(yàn)室接受性能效率測量審核后,將會(huì)接收到軟件性能效率測量審核作業(yè)指導(dǎo)書、軟件性能效率測量審核軟件需求規(guī)格說明和測量審核注意事項(xiàng)。需求理解部分需要重點(diǎn)研究作業(yè)指導(dǎo)書和需求規(guī)格說明的要求,作業(yè)指導(dǎo)書會(huì)指明并發(fā)測試時(shí)工具是否設(shè)置集合點(diǎn)、是否開啟緩存等要求,這些配置在后續(xù)的測試執(zhí)行中需要按要求配置。
在需求規(guī)格說明書中,一般會(huì)涉及單用戶場景、并發(fā)用戶場景和混合業(yè)務(wù)場景。其中需要重點(diǎn)注意的是混合業(yè)務(wù)場景,需求會(huì)指定不同百分比的用戶執(zhí)行不同的業(yè)務(wù)操作,對此需求在性能測試場景的Controller模塊設(shè)置中需要按照百分比要求配置,滿足性能效率的混合業(yè)務(wù)場景要求。對于具體業(yè)務(wù)場景的運(yùn)行時(shí)間,需求規(guī)格說明書中若無具體要求,建議按照持續(xù)運(yùn)行5分鐘的策略配置。
在條件具備的情況下,基礎(chǔ)腳本通過工具的錄制模塊進(jìn)行錄制,同時(shí)為了獲取更多的腳本信息,采用基于URL的腳本錄制模式。
腳本調(diào)試是腳本編寫的最重要階段,通過腳本調(diào)試確認(rèn)腳本的有效性和準(zhǔn)確性。主要的調(diào)試工作包括:
(1)設(shè)置檢查點(diǎn)
腳本運(yùn)行成功與否需要在腳本中的關(guān)鍵位置設(shè)置檢查點(diǎn)校驗(yàn)服務(wù)器的返回?cái)?shù)據(jù),典型的檢查點(diǎn)函數(shù)如下。

(2)參數(shù)化腳本
針對并發(fā)和混合業(yè)務(wù)場景,涉及到多用戶的同時(shí)操作,因此需要針對如用戶名等關(guān)鍵字段進(jìn)行參數(shù)化操作,以達(dá)到多用戶并發(fā)的效果,典型的參數(shù)化操作包括用戶名和密碼的參數(shù)化。參數(shù)化策略的配置對于性能場景的運(yùn)行尤為重要,針對并發(fā)業(yè)務(wù)場景,采用的是Unique-Once的策略,保證每個(gè)Vuser對應(yīng)一個(gè)用戶賬號(hào);針對混合場景業(yè)務(wù),需要準(zhǔn)備多個(gè)腳本對應(yīng)不同業(yè)務(wù),因此用戶參數(shù)化過程中需要區(qū)分用戶,保證按照需求的比例用戶數(shù)量進(jìn)行匹配的業(yè)務(wù)操作,達(dá)到需求效果。典型的參數(shù)化配置如圖2所示。

圖2 典型參數(shù)化配置
(3)事務(wù)執(zhí)行情況判斷
針對具體事務(wù)是否成功完成,需要在事務(wù)結(jié)束處添加針對此前設(shè)置的檢查點(diǎn)進(jìn)行校驗(yàn),滿足條件的情況下才可以確認(rèn)事務(wù)通過,典型的事務(wù)判斷函數(shù)如下。

在腳本完成調(diào)試后,為了更好地體現(xiàn)腳本編寫的規(guī)范性,需要針對腳本的關(guān)鍵節(jié)點(diǎn)編寫腳本注釋,以此向評審專家傳達(dá)腳本編寫的意圖,增強(qiáng)腳本的可讀性。
在完成需求指定的性能測試場景執(zhí)行后,整理腳本、場景、結(jié)果等文件,并按照實(shí)驗(yàn)室質(zhì)量體系要求編寫需上報(bào)的測試結(jié)果文檔。其中針對測量審核需求需要作出特別說明,如事務(wù)響應(yīng)時(shí)間情況、并發(fā)用戶情況和事務(wù)響應(yīng)成功與否情況進(jìn)行說明,給出對應(yīng)測試用例的執(zhí)行情況,并給出最終測試結(jié)論。在完成上述文件交付后即完成了軟件性能效率測量審核任務(wù)。
通過軟件性能效率測量審核,實(shí)驗(yàn)室的性能效率測試能力得到提升,同時(shí)也從標(biāo)準(zhǔn)層面規(guī)范工程師的測試過程,保障測試質(zhì)量。軟件性能效率測試要充分了解需求、調(diào)試測試腳本和編制測試結(jié)果,通過可追溯的過程滿足測試要求,建立可行的性能測試規(guī)程,從技術(shù)層面保障項(xiàng)目的質(zhì)量。
在軟件性能效率測量審核實(shí)踐中,實(shí)驗(yàn)室要充分認(rèn)識(shí)到測試過程的嚴(yán)謹(jǐn)性,在充分理解測試需求的基礎(chǔ)上,錄制編寫可行的腳本,獲取可信的測試結(jié)果。通過軟件性能效率測量審核只是實(shí)驗(yàn)室建設(shè)的起點(diǎn),未來更要從多角度、多方位、多層次全面加強(qiáng)實(shí)驗(yàn)室建設(shè)。