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