編者按:近年來,國家密集發(fā)布了相關(guān)政策法規(guī),對(duì)于政務(wù)信息系統(tǒng)驗(yàn)收前都要求進(jìn)行驗(yàn)收測(cè)試。文章在介紹電子政務(wù)信息系統(tǒng)、驗(yàn)收測(cè)試的基礎(chǔ)上,重點(diǎn)分析了電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試發(fā)展的方方面面,并提出了如何對(duì)當(dāng)前電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試工作的各個(gè)方面進(jìn)行優(yōu)化。
電子政務(wù)信息系統(tǒng)
電子政務(wù)的基本概念
電子政務(wù)是指國家機(jī)關(guān)在政務(wù)活動(dòng)中,全面應(yīng)用現(xiàn)代信息技術(shù)、網(wǎng)絡(luò)技術(shù)以及辦公自動(dòng)化技術(shù)等進(jìn)行辦公、管理和為社會(huì)提供公共服務(wù)的一種全新的管理模式。相對(duì)于傳統(tǒng)行政方式,電子政務(wù)的最大特點(diǎn)就在于其行政方式的電子化,即行政方式的無紙化、信息傳遞的網(wǎng)絡(luò)化、行政法律關(guān)系的虛擬化等。
電子政務(wù)信息系統(tǒng)及其發(fā)展
電子政務(wù)信息系統(tǒng)發(fā)展至今,它的主要組成部分包括系統(tǒng)資源、應(yīng)用軟件和系統(tǒng)管理。系統(tǒng)資源包括硬件和軟件兩部分。應(yīng)用軟件是在系統(tǒng)資源基礎(chǔ)上針對(duì)行政組織職能開發(fā)的,是電子政務(wù)系統(tǒng)的核心。系統(tǒng)管理包括組織結(jié)構(gòu)、規(guī)章制度、人工處理、系統(tǒng)規(guī)劃。
驗(yàn)收測(cè)試
軟件測(cè)試地基本概念
1983年IEEE提出的軟件工程標(biāo)準(zhǔn)術(shù)語中給軟件測(cè)試下的定義是:“使用人工或自動(dòng)手段來運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別?!盙. J. Myers則認(rèn)為:(1)測(cè)試是為了發(fā)現(xiàn)故障而執(zhí)行程序的過程;(2)一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的故障;(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的故障的測(cè)試。明確指出尋找故障是測(cè)試的目的。這和Hennell提出的“測(cè)試的目的是要提供有說服力的證據(jù)證明軟件沒有故障,或是顯示某種特殊類型的故障不存在”完全相反。如果測(cè)試是為了發(fā)現(xiàn)程序中的故障,就會(huì)力求設(shè)計(jì)出最能暴露故障的測(cè)試方案;相反,如果是為了表明程序正確而進(jìn)行測(cè)試,就會(huì)自覺或不自覺地回避可能出現(xiàn)故障的地方,設(shè)計(jì)出一些不易暴露故障的測(cè)試方案,從而使程序的可靠性受到極大的影響。關(guān)于這一點(diǎn),Myers在《The Art software Testing》一書中給予了充分的說明。
軟件測(cè)試的基本原則和方法
軟件測(cè)試的基本原則是站在用戶的角度,對(duì)產(chǎn)品進(jìn)行全面測(cè)試,盡早、盡可能多地發(fā)現(xiàn)缺陷,并負(fù)責(zé)跟蹤和分析產(chǎn)品中的問題,對(duì)不足之處提出質(zhì)疑和改進(jìn)意見。
進(jìn)一步研究應(yīng)注意和遵循的原則可以概括為10項(xiàng)。
·所有測(cè)試的標(biāo)準(zhǔn)都是建立在用戶需求之上。
·軟件測(cè)試必須基于“質(zhì)量第一”的思想去開展各項(xiàng)工作。
·事先定義好產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)。
·軟件項(xiàng)目一啟動(dòng),軟件測(cè)試也就開始,而不是等程序?qū)懲?,才開始進(jìn)行測(cè)試。
·窮舉測(cè)試是不可能的。
·第三方進(jìn)行測(cè)試會(huì)更客觀,更有效。
·軟件測(cè)試計(jì)劃是做好軟件測(cè)試工作的前提。
·測(cè)試用例是設(shè)計(jì)出來的,不是寫出來的,所以要根據(jù)測(cè)試的目的,采用相應(yīng)的方法去設(shè)計(jì)測(cè)試用例,從而提高測(cè)試的效率,更多地發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性。
·對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。
·重視文檔,妥善保存一切測(cè)試過程文檔。
軟件測(cè)試具有多種方法,軟件測(cè)試方法根據(jù)軟件是否需要被執(zhí)行,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。按照功能劃分,可以分為白盒測(cè)試和黑盒測(cè)試。
靜態(tài)測(cè)試是指被測(cè)程序不在機(jī)器上運(yùn)行,對(duì)模塊的源代碼進(jìn)行研讀,查找錯(cuò)誤或收集一些度量數(shù)據(jù),并不需要對(duì)代碼進(jìn)行編譯和仿真運(yùn)行,采用人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析手段對(duì)程序進(jìn)行檢測(cè),只進(jìn)行特性分析。動(dòng)態(tài)測(cè)試則是指通過真正運(yùn)行程序發(fā)現(xiàn)錯(cuò)誤,通過有效的測(cè)試用例,對(duì)應(yīng)的輸入/輸出關(guān)系來分析被測(cè)程序的運(yùn)行情況。
黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。它不考慮程序內(nèi)部結(jié)構(gòu)和處理過程,把被測(cè)程序看成一個(gè)黑盒子,只在軟件接口處進(jìn)行測(cè)試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求。白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,與黑盒測(cè)試法不同,測(cè)試人員將程序視為一個(gè)透明的白盒子,需了解程序內(nèi)部結(jié)構(gòu)和處理過程,以檢查處理過程的細(xì)節(jié)為基礎(chǔ),要求對(duì)程序的結(jié)構(gòu)特性做到一定程度的覆蓋,對(duì)程序中的所有邏輯路徑進(jìn)行測(cè)試,并檢驗(yàn)內(nèi)部控制結(jié)構(gòu)是否有錯(cuò),確定實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。
軟件測(cè)試的階段
軟件測(cè)試貫穿軟件產(chǎn)品開發(fā)的整個(gè)生命周期,軟件項(xiàng)目一開始,軟件測(cè)試就開始了,從產(chǎn)品的需求分析審查到最后的驗(yàn)收測(cè)試結(jié)束,整個(gè)軟件測(cè)試階段如圖1所示。
驗(yàn)收測(cè)試的基本概念
驗(yàn)收測(cè)試是指在軟件產(chǎn)品完成了功能測(cè)試和系統(tǒng)測(cè)試之后、產(chǎn)品發(fā)布之前所進(jìn)行的軟件測(cè)試活動(dòng)。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱為交付測(cè)試。驗(yàn)收測(cè)試的目的是為了確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗(yàn)收測(cè)試的重要性
驗(yàn)收測(cè)試是軟件開發(fā)生命周期的一個(gè)組成部分。它為軟件開發(fā)團(tuán)隊(duì)和用戶帶來了信心,即軟件版本將不會(huì)出現(xiàn)任何重大問題或意外結(jié)果。功能按照開發(fā)人員認(rèn)為最符合需求的方式進(jìn)行編碼,但其結(jié)果并不總是與實(shí)際業(yè)務(wù)需求保持一致。借助驗(yàn)收測(cè)試,用戶可以確保滿足業(yè)務(wù)要求,并且有效地傳達(dá)了對(duì)需求的任何更改。
驗(yàn)收測(cè)試的常見策略
驗(yàn)收測(cè)試常見策略有α測(cè)試和β測(cè)試等。α測(cè)試是指軟件開發(fā)公司組織內(nèi)部人員模擬各類用戶對(duì)即將面市軟件產(chǎn)品(稱為α版本)進(jìn)行測(cè)試,試圖發(fā)現(xiàn)錯(cuò)誤并修正。α測(cè)試的關(guān)鍵在于盡可能逼真地模擬實(shí)際運(yùn)行環(huán)境和用戶對(duì)軟件產(chǎn)品的操作并盡最大努力涵蓋所有可能的用戶操作方式。經(jīng)過α測(cè)試調(diào)整的軟件產(chǎn)品稱為β版本。β測(cè)試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實(shí)際使用β版本,并要求用戶報(bào)告異常情況、提出批評(píng)意見。
驗(yàn)收測(cè)試的過程和內(nèi)容
驗(yàn)收測(cè)試的前提:系統(tǒng)或軟件產(chǎn)品已通過了系統(tǒng)測(cè)試的軟件系統(tǒng)。
驗(yàn)收測(cè)試的內(nèi)容:驗(yàn)證系統(tǒng)是否達(dá)到了用戶需求規(guī)格說明書中的要求,測(cè)試試圖盡可能地發(fā)現(xiàn)軟件中存留的缺陷,從而為軟件進(jìn)一步改善提供幫助,并保證系統(tǒng)或軟件產(chǎn)品最終被用戶接受。主要包括功能性測(cè)試、性能效率測(cè)試、信息安全性測(cè)試、可靠性測(cè)試、易用性測(cè)試、兼容性測(cè)試、可移植性安裝測(cè)試、文檔(如用戶手冊(cè)、操作手冊(cè)等)檢查等幾個(gè)方面的內(nèi)容。
驗(yàn)收測(cè)試的步驟
·制定測(cè)試計(jì)劃、測(cè)試項(xiàng)、測(cè)試策略及驗(yàn)收通過準(zhǔn)則,并經(jīng)過客戶參與的計(jì)劃評(píng)審。
·建立測(cè)試環(huán)境,設(shè)計(jì)測(cè)試用例,并經(jīng)過評(píng)審。
·準(zhǔn)備測(cè)試數(shù)據(jù),執(zhí)行測(cè)試用例,記錄測(cè)試結(jié)果。
·分析測(cè)試結(jié)果,根據(jù)驗(yàn)收通過準(zhǔn)則分析測(cè)試結(jié)果,作出驗(yàn)收是否通過及測(cè)試評(píng)價(jià)。
·測(cè)試項(xiàng)目通過;
·測(cè)試項(xiàng)目沒有通過,并且不存在變通方法,需要很大的修改;
·測(cè)試項(xiàng)目沒有通過,但存在變通方法,在維護(hù)后期或下一個(gè)版本改進(jìn);
·測(cè)試項(xiàng)目無法評(píng)估或者無法給出完整的評(píng)估。此時(shí)必須給出原因。如果是因?yàn)樵摐y(cè)試項(xiàng)目沒有說明清楚,應(yīng)該修改測(cè)試計(jì)劃。
·提交測(cè)試報(bào)告。
電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試概述及優(yōu)化
電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試的類別
傳統(tǒng)的軟件驗(yàn)收測(cè)試主要分為正式測(cè)試、非正式測(cè)試等。電子政務(wù)信息系統(tǒng)發(fā)展至今早已引入第三方測(cè)試類型,即由具備相應(yīng)資質(zhì)的獨(dú)立第三方評(píng)測(cè)機(jī)構(gòu)進(jìn)行驗(yàn)收測(cè)試。第三方測(cè)試有別于開發(fā)人員或用戶進(jìn)行的自測(cè),其目的是為了保證測(cè)試工作的客觀性。
電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試的流程
為了適應(yīng)當(dāng)前越來越復(fù)雜的電子政務(wù)信息系統(tǒng),將第三方驗(yàn)收測(cè)試流程設(shè)計(jì)如圖2所示。
電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試的階段和內(nèi)容
以往的信息系統(tǒng)驗(yàn)收測(cè)試是在完成了系統(tǒng)測(cè)試之后,系統(tǒng)驗(yàn)收之前開展,目的是為了驗(yàn)證信息系統(tǒng)是否達(dá)到了用戶需求規(guī)格說明書(可能包括項(xiàng)目或產(chǎn)品驗(yàn)收準(zhǔn)則)中的要求。測(cè)試階段主要分為測(cè)試準(zhǔn)備階段、測(cè)試實(shí)施階段、回歸測(cè)試階段、總結(jié)與報(bào)告階段,包含的內(nèi)容有分析測(cè)試需求、制定測(cè)試計(jì)劃、編寫測(cè)試方案、熟悉系統(tǒng)、編寫測(cè)試用例、實(shí)施測(cè)試用例、回歸測(cè)試、編寫測(cè)試報(bào)告[6]。而在終驗(yàn)階段展開的測(cè)試已經(jīng)很難保障項(xiàng)目的建設(shè)質(zhì)量,因此根據(jù)電子政務(wù)信息系統(tǒng)建設(shè)工程的發(fā)展特點(diǎn),將驗(yàn)收測(cè)試設(shè)計(jì)為子系統(tǒng)驗(yàn)收、集成、初驗(yàn)和終驗(yàn)四個(gè)階段。
(1)子系統(tǒng)驗(yàn)收階段
在子系統(tǒng)驗(yàn)收階段完成電子政務(wù)信息系統(tǒng)建設(shè)工程中各子系統(tǒng)的分項(xiàng)驗(yàn)收測(cè)試工作。該階段測(cè)試工作的主要依據(jù)是采購文件、合同、深化設(shè)計(jì)等中的相關(guān)要求,測(cè)試的重點(diǎn)就是功能性,主要包括以下方面:
·功能需求:依據(jù)采購文件、合同、深化設(shè)計(jì)和國家標(biāo)準(zhǔn)驗(yàn)證各子系統(tǒng)是否滿足全部的功能要求,并且功能能夠正常實(shí)現(xiàn);
·業(yè)務(wù)需求:依據(jù)深化設(shè)計(jì)測(cè)試各子系統(tǒng)的業(yè)務(wù)流程,確保其關(guān)鍵業(yè)務(wù)能夠正常執(zhí)行;
·數(shù)據(jù)處理需求:依據(jù)深化設(shè)計(jì)測(cè)試各子系統(tǒng)數(shù)據(jù)處理的正確性,確保數(shù)據(jù)的傳輸和交換準(zhǔn)確無誤。
(2)集成階段
在集成階段完成電子政務(wù)信息系統(tǒng)建設(shè)工程中各子系統(tǒng)的整合測(cè)試工作。該階段測(cè)試重點(diǎn)就是考察系統(tǒng)內(nèi)部及系統(tǒng)間接口、兼容性,以及系統(tǒng)的穩(wěn)定性方面,主要包括以下內(nèi)容:
·接口測(cè)試:對(duì)系統(tǒng)集成后的各子系統(tǒng)內(nèi)部接口,以及各子系統(tǒng)間的接口進(jìn)行測(cè)試,確保接口能被正常調(diào)用,數(shù)據(jù)能夠正常交換流轉(zhuǎn),實(shí)現(xiàn)數(shù)據(jù)共享;
·兼容性測(cè)試:測(cè)試各子系統(tǒng)之間各模塊、數(shù)據(jù)是否兼容,在同一平臺(tái)中運(yùn)行互不干擾;
·穩(wěn)定性測(cè)試:測(cè)試集成后的系統(tǒng)長(zhǎng)時(shí)間運(yùn)行的性能能力,可通過平均無故障率等指標(biāo)來考察。
(3)初驗(yàn)階段
初驗(yàn)階段將集成的系統(tǒng)部署在生產(chǎn)環(huán)境中,測(cè)試包括硬件、網(wǎng)絡(luò)、軟件等整個(gè)系統(tǒng)的性能、安全、易用性、兼容性等方面,主要包括以下內(nèi)容:
·性能測(cè)試:依據(jù)采購文件、合同、深化設(shè)計(jì)、需求說明等文檔中的性能要求,測(cè)試相關(guān)系統(tǒng)的關(guān)鍵業(yè)務(wù)的響應(yīng)時(shí)間、并發(fā)用戶數(shù)、在線用戶量以及資源利用情況等效率是否滿足用戶需求;
·安全測(cè)試:根據(jù)電子政務(wù)信息系統(tǒng)的相關(guān)安全要求,測(cè)試系統(tǒng)的信息安全性,包括訪問控制、身份鑒別、權(quán)限限制、安全審計(jì)、數(shù)據(jù)備份與恢復(fù)等內(nèi)容;
·易用性測(cè)試:通過功能執(zhí)行的各種操作、文檔查看、在線幫助信息等技術(shù)手段,測(cè)試系統(tǒng)的易理解性、易學(xué)性、易操作性等易用性質(zhì)量特性。
·兼容性測(cè)試:主要測(cè)試電子政務(wù)信息系統(tǒng)與其它系統(tǒng)間的數(shù)據(jù)共享和交換能力。
(4)終驗(yàn)階段
初驗(yàn)階段完成以后,項(xiàng)目將進(jìn)行試運(yùn)行,完成試運(yùn)行后進(jìn)入到項(xiàng)目終驗(yàn)階段,該階段是以項(xiàng)目的最終驗(yàn)收為目的,測(cè)試系統(tǒng)的可維護(hù)性、可擴(kuò)展性等,并對(duì)項(xiàng)目文檔進(jìn)行全面檢查,主要包括以下內(nèi)容:
·可維護(hù)性測(cè)試:測(cè)試系統(tǒng)上線運(yùn)行后的維護(hù)能力,例如故障診斷、故障分析、故障恢復(fù)等;
·可擴(kuò)展性測(cè)試:包括接口的擴(kuò)展性、功能的擴(kuò)展性、性能的擴(kuò)展性等;
·文檔檢查:項(xiàng)目開發(fā)文檔是項(xiàng)目投入使用后的重要指導(dǎo)文件,也是項(xiàng)目進(jìn)行二次開發(fā)的重要依據(jù),在終驗(yàn)階段必要檢查項(xiàng)目文檔的完備性、正確性、一致性和易理解性。
電子政務(wù)信息系統(tǒng)驗(yàn)收測(cè)試的方法
傳統(tǒng)信息系統(tǒng)的驗(yàn)收測(cè)試是在軟件產(chǎn)品完成了功能測(cè)試和系統(tǒng)測(cè)試之后、產(chǎn)品發(fā)布之前所進(jìn)行的軟件測(cè)試活動(dòng),則更多采用黑盒測(cè)試方法對(duì)系統(tǒng)進(jìn)行測(cè)試。而電子政務(wù)信息系統(tǒng)的驗(yàn)收測(cè)試在項(xiàng)目實(shí)施階段就已經(jīng)展開,單純黑盒測(cè)試已無法滿足驗(yàn)收測(cè)試要求,同時(shí)需要白盒測(cè)試技術(shù),并結(jié)合各領(lǐng)域的自動(dòng)化測(cè)試工具開展測(cè)試工作。例如在集成階段,需要對(duì)各接口進(jìn)行測(cè)試,可以利用postman等測(cè)試工具,結(jié)合白盒測(cè)試方法測(cè)試接口的功能性,以及接口的對(duì)接能力;在初驗(yàn)階段,可以利用Load Runner等性能自動(dòng)化工具測(cè)試系統(tǒng)的性能效率,包括響應(yīng)時(shí)間、系統(tǒng)容量、資源利用率等;利用Fortify源代碼掃描工具結(jié)合白盒測(cè)試技術(shù)檢測(cè)軟件代碼的安全漏洞;利用綠盟安全漏洞掃描儀檢測(cè)系統(tǒng)的信息安全性等。
總之伴隨著電子政務(wù)信息系統(tǒng)發(fā)展的多元化,以及采用的信息技術(shù)的復(fù)雜化,驗(yàn)收測(cè)試的方法也越來越多樣化,同時(shí)也要求測(cè)試人員具備更全面的技術(shù)測(cè)試能力,以達(dá)到檢測(cè)目的。
參考文獻(xiàn):
[1]IEEE Standard Glossayr,IEEE Std 729-1983.
[2]G. J. Myers. Sotfware Reliability:Principles&Parctices,New York:John Wiley&Sons,Inc.1976.
[3]G. J. Myers. The Art of Sotfware Testing,New York:John Wiley&Sons,Inc.1979.
[4]朱少民,軟件測(cè)試方法和技術(shù)[M].北京:清華大學(xué)出版社,2005.
[5]DB42,湖北省電子政務(wù)應(yīng)用系統(tǒng)技術(shù)驗(yàn)收測(cè)試規(guī)范[S].湖北省質(zhì)量技術(shù)監(jiān)督局,2008.
[6]GW0014-2017,國家電子政務(wù)工程項(xiàng)目應(yīng)用軟件第三方測(cè)試規(guī)范[S].國家電子政務(wù)外網(wǎng)管理中心,2017.
作者簡(jiǎn)介:李晶(1982—),湖北武漢人,工程師,現(xiàn)就職于湖北省電子信息產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)院,主要研究方向?yàn)樾畔⒒到y(tǒng)第三方驗(yàn)收測(cè)試。