甘麗清 張媛 董麗娟 楊軍 郭曉娟
(北京中電普華信息技術有限公司 北京市 100192)
隨著近年來新一輪信息技術革命蓬勃發(fā)展,全球進入數字化經濟時代。2020年8月21日,國資委下發(fā)《關于加快推進國有企業(yè)數字化轉型工作的通知》,為國有企業(yè)數字化轉型工作指明了發(fā)展方向,強調“使用安全可靠的設備設施、工具軟件、信息系統(tǒng)和服務平臺,提升本質安全”[1]。
我國電力信息化源于電力系統(tǒng)的計算及發(fā)電廠和變電站的自動監(jiān)測、監(jiān)控等方面,20世紀80年代中期開始進入電網調度自動化、電力負荷控制以及企業(yè)管理等多個應用領域[2]。國家電網公司高度重視數字化轉型工作,其下屬某企業(yè)自成立以來深度參與國家電網公司信息化建設,承擔大量系統(tǒng)研發(fā)、建設和實施工作,近年來持續(xù)推進數字化轉型發(fā)展。為提升軟件產品研發(fā)質量,該公司于2014年成立軟件測試實驗室,負責公司軟件產品出廠測試工作。該實驗室基于ISO9001、CMMI、ISO25000 等標準和要求持續(xù)改進,于2019年獲得CNAS 資質,并聚焦“人、流程、技術和管理”四個方面推動測試效能提升,助力軟件產品質量提升,效果顯著。
研發(fā)測試效能提升,人是決定性因素,每個崗位的人員都很重要,且不能局限于專業(yè)能力,更應該重視綜合能力[3]。既要抓實驗室測試人員能力提升,也要加強對事業(yè)部的培訓指導,促進測試賦能研發(fā)。
實驗室每周組織測試人員培訓,學習研發(fā)技術,跟進第三方測試標準和方法,研討測試技術問題和管理流程優(yōu)化措施,確保測試人員能力整體提升,保證執(zhí)行標準一致,打造一支全功能、學習型測試團隊。
實驗室每月對事業(yè)部開展線下培訓,就常見研發(fā)測試問題、第三方測試標準等進行詳細講解,確保每個月新提測項目的研發(fā)人員培訓到位,推動測試賦能研發(fā)。
一方面,及時總結問題缺陷規(guī)避和解決方案,共享給各事業(yè)部;另一方面,借助該公司自研培訓平臺錄制培訓課件,根據崗位設計培訓課程,提高培訓針對性。質量風險揭示的越早、越快,產品越好、項目風險越小、成本越低。
目前業(yè)內主要軟件測試過程模型有V 模型、W 模型、H 模型、X 模型等,該公司借鑒V 模型和并行“與”模型[4],根據業(yè)務實際和測試管理需求,制定測試流程并持續(xù)優(yōu)化。通過多年實踐,將公司承建的國家電網公司信息化系統(tǒng)分為首次發(fā)布系統(tǒng)和版本升級兩大類別,分別制定管控方式,分類管控,提升測試質效。
系統(tǒng)首次發(fā)布時,執(zhí)行首次發(fā)布流程,通常包括公司出廠測試、上級單位抽檢、第三方測試,流程見圖1。如果客戶無第三方測試要求,可以不執(zhí)行。
圖1:首次發(fā)布系統(tǒng)測試流程
系統(tǒng)升級發(fā)布時,執(zhí)行升級發(fā)布流程,通常僅包括公司出廠測試,出廠測試通過后發(fā)布上線。如果客戶要求第三方測試,按客戶要求執(zhí)行。
標準決定質量,沒有標準就沒有質量,沒有高標準就沒有高質量。為確保測試過程規(guī)范性和測試結果有效性,測試實驗室基于《GB/T 29831-2013 系統(tǒng)與軟件功能性》、《GB/T 29832-2013 系統(tǒng)與軟件可靠性》、《GB/T 29833-2013 系統(tǒng)與軟件可移植性》、《GB/T 29835-2013 系統(tǒng)與軟件效率》、《GB/T 25000.51-2016 系統(tǒng)與軟件工程 系統(tǒng)與軟件質量要求和評價(SQuaRE)第51 部分:就緒可用軟件產品(RUSP)的質量要求和測試細則》、《Q/GDW 1929.5-2013 5.2 信息系統(tǒng) 應用安全第5 部分:代碼安全檢測》等標準開展測試工作。
為控制產品的提測質量,節(jié)約測試周期和成本,規(guī)定產品出廠測試的準入要求,檢查表見表1,準入檢查通過后方可開展測試,否則返至事業(yè)部修改。
表1:出廠測試準入檢查表
為控制發(fā)布出廠產品質量,降低出廠產品交付風險,制定相關質量指標。實驗室對于待出廠產品的質量評價定義了三個級別,即:
(1)質量良好,允許出廠;
(2)質量達標,允許帶風險出廠;
(3)質量不達標,不允許出廠。
為能準確劃分以上三個級別,將質量指標劃分為基本指標和高級指標兩類。當產品質量滿足基本指標和高級指標時,評價為質量良好;當產品質量滿足基本指標,但不滿足高級指標,評價為質量達標;當產品質量不滿足基本指標時,評價為質量不達標,詳見表2。
表2:產品質量評價指標
軟件測試工程必須使用測試工具,包括測試工具和管理工具[5]。目前常見的測試工具有checkmarx、fortify、Burp Suite、Nmap、AppScan、Sqlmap、Loadrunner、Xshell 等,這些軟件有商用有開源,功能不一,根據工具特性使用可有效提升測試效率和效果。測試實驗室還自主研發(fā)了自動化測試平臺(UTP),集UI 測試、接口測試、單元測試、移動測試及安全測試為一體,該平臺有效解決了測試資源利用不足、手工測試不充分等問題,極高了測試效率和測試覆蓋率。
在管理工具方面,實驗室使用云效、RTC 等工具進行缺陷管理,研發(fā)測試全過程規(guī)范、有效。
軟件測試實施過程中,要根據項目實際情況制定合理的測試策略[6],使用正確的測試方法和技術,協調測試資源,確保測試質量和效率。
測試策略的運用,就是綜合起來就是根據測試范圍,從業(yè)務、技術和管理維度制定測試策略,合理安排測試資源,推進測試進度,保證高質量測試交付。
為強化測試過程執(zhí)行的規(guī)范性,正面引導各事業(yè)部發(fā)揮積極性,該公司建立基于測試結果的考核驅動策略。由質量管理部門依據測試結果數據,對事業(yè)部和測試實驗室進行考核評價。其中,處罰類考核指標分為嚴重違規(guī)項和一般違規(guī)項,獎勵類指標包括測試輪次、測試周期、缺陷率和知識貢獻等。
度量和考核從來不是目標,而是實現目標的手段。度量和考核是為目標服務的,所以一定要對目標有正向牽引的作用[7]。如果度量和考核對目標的負向牽引大于正向牽引的話,這樣的度量和考核本質上就是失敗的,需要立即調整。
軟件產品質量不是測試測出來的,而是構建出來的,缺陷預防比發(fā)現缺陷更有價值,研發(fā)人員比測試人員在質量上能發(fā)揮更大的作用、做出更大的貢獻。
目前該公司正在開展研發(fā)測試融合試點工作,從需求開始就將高質量構建在產品中,做好需求、設計、研發(fā)、測試等各環(huán)節(jié),以此推動研發(fā)質效的顯著提升,產生質的變化。測試實驗室與事業(yè)部項目組共同成立研發(fā)測試融合小組,期望通過融合實現測試前移,降低測試缺陷率、縮短測試工期。
近年來,敏捷開發(fā)流行,敏捷測試在國內也有了較大進步,加上DevOps 的興起,進一步推動了測試前移和在線測試的發(fā)展。國家電網公司信息化建設經歷了瀑布式研發(fā)測試模式,也積極探索敏捷開發(fā)、持續(xù)交付模式,對產品質量要求越來越高。測試作為產品全生命周期的一個環(huán)節(jié),一方面要確保出廠產品質量安全,另一方面要與研發(fā)做好銜接,協同推進,節(jié)省項目成本。在數字化轉型的大背景下,信息化企業(yè)需要不斷探索研發(fā)測試質量提升舉措,確保系統(tǒng)安全可靠。希望本文能為相關企業(yè)的研發(fā)測試工作提供可參考借鑒的經驗和方法。