李軍鋒,田立軍
(91404部隊,秦皇島 066000)
計算機軟件在我們的工作、生活等各方面中所占的比重越來越大。在此基礎(chǔ)上,各類型科研團隊在研發(fā)過程中或結(jié)束后,會產(chǎn)生大量自用型軟件,用于軟件產(chǎn)品的輔助開發(fā)、能力驗證或者支撐特定團隊的自用需求等各方面。從項目進度、用戶要求等方面考慮,這類軟件往往只需要證明軟件滿足設(shè)計需求,無功能、性能指標等缺失且運行穩(wěn)定即可,并不關(guān)注測試過程是否全面正規(guī)。對這類自研自用型軟件進行驗收測試,完全按照正規(guī)的軟件驗收測試過程開展工作,測試資源、工作效率等方面往往不能滿足需求,因此需要有針對性的調(diào)整軟件驗收測試過程。
關(guān)于軟件驗收測試的定義目前有很多種不同的說法,比較常用的是列入百度百科、科普中國的詞條描述:
驗收測試是部署軟件之前的最后一個測試操作,在軟件產(chǎn)品完成了單元測試、集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。它是技術(shù)測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用執(zhí)行軟件的既定功能和任務(wù)。驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。
軟件驗收測試過程一般包括:測試需求分析、測試策劃、測試設(shè)計與實現(xiàn)、測試執(zhí)行、測試總結(jié)共5個階段。各個階段包含的評審活動通常有:測試需求評審、測試策劃評審、測試設(shè)計與實現(xiàn)評審、測試就緒評審、測試執(zhí)行中期評審、回歸測試就緒評審、回歸測試執(zhí)行評審及測試總結(jié)評審共8項。
對于正規(guī)的軟件驗收測試,當(dāng)前絕大多數(shù)的定義、流程和標準基本都將其作為系統(tǒng)測試的延續(xù),遵循“5個階段8項評審”過程,其特點是:
(1)優(yōu)點:相關(guān)標準體系成熟、工作過程規(guī)范、測試產(chǎn)品齊全;
(2)缺點:測試周期長、階段評審管理活動工作量大、各種標準要求的工作產(chǎn)品多,往往是“系統(tǒng)測試”的重復(fù),未根據(jù)用戶的具體需求和實際項目狀況,制定有效的實施策略,資源耗費和效率需求不成正比。
結(jié)合軟件測試工作實踐經(jīng)驗,對正規(guī)軟件驗收測試的過程進行調(diào)整,以便在有限的資源條件下,最大化提高工作效率,調(diào)整的基本原則如下:
(1)不違背軟件測試基本流程對應(yīng)的工作內(nèi)容要求。即需求分析、測試策劃、測試設(shè)計與實現(xiàn)、測試執(zhí)行、測試總結(jié)五個階段可以合并刪減,但主要工作仍舊要覆蓋;
(2)減少評審活動。不否認評審管理活動等對測試工作質(zhì)量的保證有著積極的作用,但相應(yīng)地也耗費著人力資源、時間資源,影響著測試效率,所以在不影響測試質(zhì)量的前提下,對過程評審管理活動進行適當(dāng)?shù)木啠?/p>
(3)減少測試工作階段產(chǎn)品。傳統(tǒng)的軟件測試形成的技術(shù)類工作產(chǎn)品包括:軟件測試需求、測試大綱、測試說明、測試記錄、測試問題單、軟件測試報告,測試人員在文檔準備上消耗的時間不在少數(shù)。但各方最終關(guān)心的只是測試大綱和測試報告,有些過程工作產(chǎn)品也就稍顯雞肋。
綜上,在這里將測試過程的5個階段調(diào)整合并為軟件驗收測試策劃與設(shè)計、驗收測試執(zhí)行、驗收測試總結(jié)3個階段,如圖1所示。
圖1 軟件驗收測試過程調(diào)整
將軟件測試需求分析、測試策劃、測試設(shè)計與實現(xiàn)三個階段合為一體,在不改變驗收測試大綱其他涵蓋內(nèi)容,主要包括:軟件概述、測試方法策略、測試環(huán)境、評判標準等的情況下,重點改進測試項描述章節(jié)。如圖2所示。
圖2 軟件驗收測試大綱測試項描述要素
其中:
(1)軟件需求:對應(yīng)軟件需求階段,詳細列舉軟件的功能、性能、接口等需求;
(2)測試輸入:對應(yīng)測試設(shè)計與實現(xiàn)階段,合理采用各類軟件測試方法,針對軟件具體需求設(shè)計測試輸入,相當(dāng)于同時完成了部分測試用例設(shè)計工作;
(3)預(yù)期輸出:對應(yīng)測試設(shè)計與實現(xiàn)階段,依據(jù)每項測試輸入,制定評判準則的同時逐項列舉測試的預(yù)期輸出。
以一個簡單的溫濕度環(huán)境監(jiān)控狀態(tài)顯示軟件為例,原理為通過前端傳感器采集所處環(huán)境溫濕度數(shù)據(jù)上報至狀態(tài)監(jiān)控顯示軟件,不考慮傳感器可承受的環(huán)境限制及前端采集程序,狀態(tài)監(jiān)控顯示軟件主要需求如下:
(1)溫度狀態(tài)監(jiān)控顯示范圍[-40℃,50℃],溫度低于-40℃時,報低溫告警,對應(yīng)狀態(tài)燈藍色閃爍,溫度高于50℃時,報高溫告警,對應(yīng)狀態(tài)燈橙色閃爍;
(2)濕度狀態(tài)監(jiān)控顯示范圍[20%,80%],濕度低于20%時,報濕度過低告警,對應(yīng)狀態(tài)燈藍色閃爍,濕度高于80%時,報濕度過高告警,對應(yīng)狀態(tài)燈橙色閃爍;
(3)溫濕度正常范圍內(nèi)時,對應(yīng)狀態(tài)等為綠色;
(4)無法收到溫濕度數(shù)據(jù)時,對應(yīng)狀態(tài)參數(shù)顯示“--”,對應(yīng)狀態(tài)燈為紅色;
(5)狀態(tài)顯示精度:溫度0.1,濕度1%,超范圍溫濕度值顯示“--”。
按以上照精簡的方式,可形成如表1為主要內(nèi)容的測試項描述。
以上測試項描述示例中,采用功能分解、等價類劃分、邊界值分析、猜錯方法設(shè)計測試輸入,覆蓋了溫濕度狀態(tài)監(jiān)控顯示軟件的所有需求,測試項描述形成的整個過程涵蓋了測試需求分析、測試策劃、測試設(shè)計與實現(xiàn)階段的工作內(nèi)容。在實際操作過程中,應(yīng)根據(jù)情況調(diào)整表格要素,如加入對應(yīng)需求的標識、所屬的測試類型等。
表1 溫濕度狀態(tài)監(jiān)控顯示軟件驗收測試項描述示例
驗收測試執(zhí)行主要過程同正規(guī)的軟件測試執(zhí)行階段,如圖3示,不同的是取消了測試說明文檔,在驗收測試大綱中預(yù)先明確測試中止或終止條件,限定軟件狀態(tài)的判定方式和回歸測試輪次的情況下,直接在大綱測試項描述的基礎(chǔ)上增加一列,記錄實際測試結(jié)果作為原始測試記錄。若存在軟件問題,則出具軟件問題報告單,待整改完畢后進行回歸測試,直到軟件問題處理完畢或得到用戶認可,不影響驗收合格結(jié)論后,進入驗收測試總結(jié)階段。
圖3 軟件驗收測試執(zhí)行過程
驗收測試總結(jié)階段總體來說無需調(diào)整,主要工作為梳理測試過程和結(jié)果、編制軟件驗收測試報告、針對軟件需求以列表的形式逐項說明測試情況及達標情況等。本階段工作已有不少成熟的標準文件可作為直接的指導(dǎo)依據(jù),也可在參照相關(guān)標準的基礎(chǔ)上結(jié)合實際情況進行總結(jié),這里不再贅述。
時間就是一切,如何在不改變最終目標的情況下,利用有限的時間和資源產(chǎn)生最大的工作效益是各行各業(yè)都應(yīng)該重視的問題。就測試過程中的技術(shù)工作及其評審活動而言,本文提出的調(diào)整后的軟件驗收測試過程,在不違背軟件驗收測試基本工作流程要求且能保證測試質(zhì)量的前提下,測試階段由5個降為3個,減少了40%,評審活動由8次降為3次,減少了62.5%,進一步細化后可形成針對這類自研自用型軟件的驗收測試規(guī)程,能夠大幅度提高此類軟件的驗收測試效率。