許穎媚,曹強
(1.廣東省科技基礎條件平臺中心,廣東廣州,510000;2.廣東省高性能計算重點實驗室,廣東廣州,510000)
測量審核是能力驗證計劃的一種,有時也稱為 “一對一”的能力驗證計劃[1]。軟件性能效率與在指定條件下所使用的資源有關,主要包含了時間特性、資源利用性和容量三個特性[2]。測量審核樣品通常來源于有證標準物質(標準樣品)、能力驗證剩余樣品或者定制樣品等[3]。軟件性能效率測量審核是對實驗室能力的驗證,也是重要的外部質量保證措施,對于提升實驗室能力和保障軟件性能效率測試質量有重要作用。軟件性能效率是評估軟件質量的重要指標,其測試結果是當前信息化項目驗收的一項重要依據(jù),因此測試過程和結果的準確性十分重要。
軟件性能效率測試研究也有較多的成果。通過算法改進,使用變化點檢測對檢測性能變化的能力產(chǎn)生巨大影響,從數(shù)量上大大降低了對性能變化的誤報率,從質量上使整個性能評估過程更容易、更有效率、更及時[4]。也有從開發(fā)人員、規(guī)模、組織、性能測試類型和性能測試工具五個角度研究項目的性能測試,建議通過非參數(shù)化方法或性能測試生成,并專注于與標準持續(xù)集成工具的緊密集成[5]。具體應用方面,有研究建立和提出用于測試的大規(guī)模系統(tǒng)建模的程序、測試協(xié)議和方法[6]。在性能效率測試的廣度上,有APP軟件的性能效率模型[7]、飛行性能測試系統(tǒng)的研究[8]、基于軟件性能的系統(tǒng)測試[9]和新的性能測試檢測方法[10]。通過研究軟件測試的相關方法和要求,軟件性能效率測量審核要從需求理解、腳本編寫和測試結果方面進行具體實施。
軟件性能效率測量審核通過對測量結果的滿意度判定來驗證實驗室開展該項目檢測或者是校準的能力[11,12],包括了測試申請、委托書填寫及發(fā)送、測試方式擠時間、回執(zhí)發(fā)送、測試結果上報和結果分析6個步驟,如圖1所示。測試申請,實驗室向實施機構提出申請,實施機構受理后發(fā)送測量審核報名表;委托書填寫及發(fā)送,實驗室填寫測量審核報名表并提交至實施機構;測試方式及時間,一般測量審核開始測試至結束測試共計10個工作日,測試方式由實施機構指定;回執(zhí)發(fā)送,實驗室需在第 1 個工作日對被測樣品進行確認,填寫“被測物品接受狀態(tài)表”并提交;測試結果上報,需要提交工具文件包括測試腳本、場景文件和場景運行結果,測試結果文檔包括:測試計劃、測試用例、測試記錄和測試報告;結果分析,專家評審并給出測量審核結果。
圖1 測量審核過程
在實驗室接受性能效率測量審核后,將會接收到軟件性能效率測量審核作業(yè)指導書、軟件性能效率測量審核軟件需求規(guī)格說明和測量審核注意事項。需求理解部分需要重點研究作業(yè)指導書和需求規(guī)格說明的要求,作業(yè)指導書會指明并發(fā)測試時工具是否設置集合點、是否開啟緩存等要求,這些配置在后續(xù)的測試執(zhí)行中需要按要求配置。
在需求規(guī)格說明書中,一般會涉及單用戶場景、并發(fā)用戶場景和混合業(yè)務場景。其中需要重點注意的是混合業(yè)務場景,需求會指定不同百分比的用戶執(zhí)行不同的業(yè)務操作,對此需求在性能測試場景的Controller模塊設置中需要按照百分比要求配置,滿足性能效率的混合業(yè)務場景要求。對于具體業(yè)務場景的運行時間,需求規(guī)格說明書中若無具體要求,建議按照持續(xù)運行5分鐘的策略配置。
在條件具備的情況下,基礎腳本通過工具的錄制模塊進行錄制,同時為了獲取更多的腳本信息,采用基于URL的腳本錄制模式。
腳本調試是腳本編寫的最重要階段,通過腳本調試確認腳本的有效性和準確性。主要的調試工作包括:
(1)設置檢查點
腳本運行成功與否需要在腳本中的關鍵位置設置檢查點校驗服務器的返回數(shù)據(jù),典型的檢查點函數(shù)如下。
(2)參數(shù)化腳本
針對并發(fā)和混合業(yè)務場景,涉及到多用戶的同時操作,因此需要針對如用戶名等關鍵字段進行參數(shù)化操作,以達到多用戶并發(fā)的效果,典型的參數(shù)化操作包括用戶名和密碼的參數(shù)化。參數(shù)化策略的配置對于性能場景的運行尤為重要,針對并發(fā)業(yè)務場景,采用的是Unique-Once的策略,保證每個Vuser對應一個用戶賬號;針對混合場景業(yè)務,需要準備多個腳本對應不同業(yè)務,因此用戶參數(shù)化過程中需要區(qū)分用戶,保證按照需求的比例用戶數(shù)量進行匹配的業(yè)務操作,達到需求效果。典型的參數(shù)化配置如圖2所示。
圖2 典型參數(shù)化配置
(3)事務執(zhí)行情況判斷
針對具體事務是否成功完成,需要在事務結束處添加針對此前設置的檢查點進行校驗,滿足條件的情況下才可以確認事務通過,典型的事務判斷函數(shù)如下。
在腳本完成調試后,為了更好地體現(xiàn)腳本編寫的規(guī)范性,需要針對腳本的關鍵節(jié)點編寫腳本注釋,以此向評審專家傳達腳本編寫的意圖,增強腳本的可讀性。
在完成需求指定的性能測試場景執(zhí)行后,整理腳本、場景、結果等文件,并按照實驗室質量體系要求編寫需上報的測試結果文檔。其中針對測量審核需求需要作出特別說明,如事務響應時間情況、并發(fā)用戶情況和事務響應成功與否情況進行說明,給出對應測試用例的執(zhí)行情況,并給出最終測試結論。在完成上述文件交付后即完成了軟件性能效率測量審核任務。
通過軟件性能效率測量審核,實驗室的性能效率測試能力得到提升,同時也從標準層面規(guī)范工程師的測試過程,保障測試質量。軟件性能效率測試要充分了解需求、調試測試腳本和編制測試結果,通過可追溯的過程滿足測試要求,建立可行的性能測試規(guī)程,從技術層面保障項目的質量。
在軟件性能效率測量審核實踐中,實驗室要充分認識到測試過程的嚴謹性,在充分理解測試需求的基礎上,錄制編寫可行的腳本,獲取可信的測試結果。通過軟件性能效率測量審核只是實驗室建設的起點,未來更要從多角度、多方位、多層次全面加強實驗室建設。