李軍鋒,田立軍
(91404部隊,秦皇島 066000)
計算機軟件在我們的工作、生活等各方面中所占的比重越來越大。在此基礎上,各類型科研團隊在研發(fā)過程中或結束后,會產生大量自用型軟件,用于軟件產品的輔助開發(fā)、能力驗證或者支撐特定團隊的自用需求等各方面。從項目進度、用戶要求等方面考慮,這類軟件往往只需要證明軟件滿足設計需求,無功能、性能指標等缺失且運行穩(wěn)定即可,并不關注測試過程是否全面正規(guī)。對這類自研自用型軟件進行驗收測試,完全按照正規(guī)的軟件驗收測試過程開展工作,測試資源、工作效率等方面往往不能滿足需求,因此需要有針對性的調整軟件驗收測試過程。
關于軟件驗收測試的定義目前有很多種不同的說法,比較常用的是列入百度百科、科普中國的詞條描述:
驗收測試是部署軟件之前的最后一個測試操作,在軟件產品完成了單元測試、集成測試和系統(tǒng)測試之后,產品發(fā)布之前所進行的軟件測試活動。它是技術測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用執(zhí)行軟件的既定功能和任務。驗收測試是向未來的用戶表明系統(tǒng)能夠像預定要求那樣工作。
軟件驗收測試過程一般包括:測試需求分析、測試策劃、測試設計與實現、測試執(zhí)行、測試總結共5個階段。各個階段包含的評審活動通常有:測試需求評審、測試策劃評審、測試設計與實現評審、測試就緒評審、測試執(zhí)行中期評審、回歸測試就緒評審、回歸測試執(zhí)行評審及測試總結評審共8項。
對于正規(guī)的軟件驗收測試,當前絕大多數的定義、流程和標準基本都將其作為系統(tǒng)測試的延續(xù),遵循“5個階段8項評審”過程,其特點是:
(1)優(yōu)點:相關標準體系成熟、工作過程規(guī)范、測試產品齊全;
(2)缺點:測試周期長、階段評審管理活動工作量大、各種標準要求的工作產品多,往往是“系統(tǒng)測試”的重復,未根據用戶的具體需求和實際項目狀況,制定有效的實施策略,資源耗費和效率需求不成正比。
結合軟件測試工作實踐經驗,對正規(guī)軟件驗收測試的過程進行調整,以便在有限的資源條件下,最大化提高工作效率,調整的基本原則如下:
(1)不違背軟件測試基本流程對應的工作內容要求。即需求分析、測試策劃、測試設計與實現、測試執(zhí)行、測試總結五個階段可以合并刪減,但主要工作仍舊要覆蓋;
(2)減少評審活動。不否認評審管理活動等對測試工作質量的保證有著積極的作用,但相應地也耗費著人力資源、時間資源,影響著測試效率,所以在不影響測試質量的前提下,對過程評審管理活動進行適當的精簡;
(3)減少測試工作階段產品。傳統(tǒng)的軟件測試形成的技術類工作產品包括:軟件測試需求、測試大綱、測試說明、測試記錄、測試問題單、軟件測試報告,測試人員在文檔準備上消耗的時間不在少數。但各方最終關心的只是測試大綱和測試報告,有些過程工作產品也就稍顯雞肋。
綜上,在這里將測試過程的5個階段調整合并為軟件驗收測試策劃與設計、驗收測試執(zhí)行、驗收測試總結3個階段,如圖1所示。

圖1 軟件驗收測試過程調整
將軟件測試需求分析、測試策劃、測試設計與實現三個階段合為一體,在不改變驗收測試大綱其他涵蓋內容,主要包括:軟件概述、測試方法策略、測試環(huán)境、評判標準等的情況下,重點改進測試項描述章節(jié)。如圖2所示。

圖2 軟件驗收測試大綱測試項描述要素
其中:
(1)軟件需求:對應軟件需求階段,詳細列舉軟件的功能、性能、接口等需求;
(2)測試輸入:對應測試設計與實現階段,合理采用各類軟件測試方法,針對軟件具體需求設計測試輸入,相當于同時完成了部分測試用例設計工作;
(3)預期輸出:對應測試設計與實現階段,依據每項測試輸入,制定評判準則的同時逐項列舉測試的預期輸出。
以一個簡單的溫濕度環(huán)境監(jiān)控狀態(tài)顯示軟件為例,原理為通過前端傳感器采集所處環(huán)境溫濕度數據上報至狀態(tài)監(jiān)控顯示軟件,不考慮傳感器可承受的環(huán)境限制及前端采集程序,狀態(tài)監(jiān)控顯示軟件主要需求如下:
(1)溫度狀態(tài)監(jiān)控顯示范圍[-40℃,50℃],溫度低于-40℃時,報低溫告警,對應狀態(tài)燈藍色閃爍,溫度高于50℃時,報高溫告警,對應狀態(tài)燈橙色閃爍;
(2)濕度狀態(tài)監(jiān)控顯示范圍[20%,80%],濕度低于20%時,報濕度過低告警,對應狀態(tài)燈藍色閃爍,濕度高于80%時,報濕度過高告警,對應狀態(tài)燈橙色閃爍;
(3)溫濕度正常范圍內時,對應狀態(tài)等為綠色;
(4)無法收到溫濕度數據時,對應狀態(tài)參數顯示“--”,對應狀態(tài)燈為紅色;
(5)狀態(tài)顯示精度:溫度0.1,濕度1%,超范圍溫濕度值顯示“--”。
按以上照精簡的方式,可形成如表1為主要內容的測試項描述。
以上測試項描述示例中,采用功能分解、等價類劃分、邊界值分析、猜錯方法設計測試輸入,覆蓋了溫濕度狀態(tài)監(jiān)控顯示軟件的所有需求,測試項描述形成的整個過程涵蓋了測試需求分析、測試策劃、測試設計與實現階段的工作內容。在實際操作過程中,應根據情況調整表格要素,如加入對應需求的標識、所屬的測試類型等。

表1 溫濕度狀態(tài)監(jiān)控顯示軟件驗收測試項描述示例
驗收測試執(zhí)行主要過程同正規(guī)的軟件測試執(zhí)行階段,如圖3示,不同的是取消了測試說明文檔,在驗收測試大綱中預先明確測試中止或終止條件,限定軟件狀態(tài)的判定方式和回歸測試輪次的情況下,直接在大綱測試項描述的基礎上增加一列,記錄實際測試結果作為原始測試記錄。若存在軟件問題,則出具軟件問題報告單,待整改完畢后進行回歸測試,直到軟件問題處理完畢或得到用戶認可,不影響驗收合格結論后,進入驗收測試總結階段。

圖3 軟件驗收測試執(zhí)行過程
驗收測試總結階段總體來說無需調整,主要工作為梳理測試過程和結果、編制軟件驗收測試報告、針對軟件需求以列表的形式逐項說明測試情況及達標情況等。本階段工作已有不少成熟的標準文件可作為直接的指導依據,也可在參照相關標準的基礎上結合實際情況進行總結,這里不再贅述。
時間就是一切,如何在不改變最終目標的情況下,利用有限的時間和資源產生最大的工作效益是各行各業(yè)都應該重視的問題。就測試過程中的技術工作及其評審活動而言,本文提出的調整后的軟件驗收測試過程,在不違背軟件驗收測試基本工作流程要求且能保證測試質量的前提下,測試階段由5個降為3個,減少了40%,評審活動由8次降為3次,減少了62.5%,進一步細化后可形成針對這類自研自用型軟件的驗收測試規(guī)程,能夠大幅度提高此類軟件的驗收測試效率。