陳銀平,王榮

[摘 要]第三方軟件測試具有公正、獨立、專業的特點,隨著軟件企業和用戶對軟件質量提出了更高的要求,第三方軟件測試必將得到快速發展。本文主要分析了國內軟件測試行業的現狀以及第三方軟件測試的發展,并闡述了第三方軟件測試的一般流程,并針對第三方軟件檢測過程中遇到的問題給出了幾點建議。
[關鍵詞]第三方;軟件測試;流程
doi:10.3969/j.issn.1673 - 0194.2018.08.033
[中圖分類號]TP311.52 [文獻標識碼]A [文章編號]1673-0194(2018)08-00-02
1 國內軟件測試行業的現狀
隨著我國加入WTO,軟件全球化競爭日益加劇,用戶對軟件質量提出了更高的要求,越來越多的軟件企業和用戶已經意識到軟件測試的重要性。但是國內軟件測試與歐美國家相比還存在很大差距,主要表現在以下幾個方面。首先,軟件測試在軟件產業中的地位較低,很多軟件公司特別是小公司認為測試可有可無,經常在軟件開發完成后才進入測試階段,沒有把軟件質量保證工作貫穿在軟件的整個生命周期。其次,軟件測試人員的配置不能滿足需求。國內測試人員和開發人員的比例遠遠低于國外知名企業的人員配置比例,例如,國外知名IT企業的開發人員和測試人員的比例通常為1:1,有些甚至是1:2,而中國的開發人員和測試人員比例為5:1,從而導致最終開發完成的軟件產品存在較大的缺陷。最后,軟件測試技術相對落后,行業規范有待完善。國外軟件測試發展較早,軟件測試技術、測試工具以及測試管理工具都比國內先進。
2 第三方軟件測試的發展
第三方軟件測試在我國已有二三十年的發展歷史,為我國軟件產業的健康發展做出了重要貢獻。在一些對功能、性能、信息安全等要求較高的領域,如金融、航空、軍方等,都較早地采用了第三方軟件測試這種模式。隨著用戶越來越重視軟件質量,越來越多的使用財政資金建設的信息化項目將由第三方軟件測試報告作為項目驗收的一個條件,一些非財政資金建設的信息化項目也逐步接受了第三方軟件測試。將軟件測試通過合同關系委托給第三方測試機構承擔,有效地提高了軟件產品的質量,這種模式已被軟件用戶和軟件企業認可。
軟件用戶方通常不具備專業的測試軟硬件設備和技術能力,并且由于行政干預等因素,導致測試不全面,而軟件第三方檢測則具備一定的優勢。第三方軟件測試具有客觀、公正和獨立等特點,已成為保障軟件質量的一個重要手段,需要具由專業的測試人員進行測試。
3 第三方軟件測試的一般流程
第三方軟件測試機構簽訂了委托測試合同后,開始進行測試需求分析、測試項目策劃、測試分析、測試設計、測試執行、編制測試報告和測試總結等工作。工作流程圖如圖1所示,每個階段的具體內容如下。
3.1 測試需求分析
測試需求人員通過與客戶進行溝通和閱讀軟件相關文檔,獲取客戶的顯性和隱性測試需求信息,形成《測試需求說明書》。《測試需求說明書》要經過相關方評審,并體現出用戶的真實需求。
3.2 測試項目策劃
測試策劃人員根據委托方提供的被測軟件、與被測軟件相關的文檔、《測試需求說明書》等內容制定《測試計劃》。測試計劃的主要內容包括識別測試任務、定義測試目標和為了實現測試目標而進行的測試活動。此外,相關方需要對《測試計劃》進行評審。
3.3 測試分析和設計階段
本階段的主要任務包括以下幾個方面:①評審測試依據,包括需求分析、用戶手冊、說明書等;②設計測試用例并確定優先級;③確認測試條件和測試用例所需要的測試數據;④測試環境的搭建和確認測試需要的設施設備。本階段要設計測試用例,并編寫《測試用例》文檔,《測試用例》要經過相關方評審。
3.4 測試實現和執行階段
本階段的主要任務包括以下幾個方面的內容:①測試用例開發、實現并確定優先級;②創建測試數據,設計自動規劃測試腳本;③確認已正確搭建了測試環境;④根據計劃的執行順序,執行測試用例;⑤記錄測試執行的結果;⑥比較實際測試結果和預期結果,如果之間存在差異,上報給項目經理,對缺陷進行確認,并分析引起差異的原因;⑦缺陷修正后,重新進行測試。該階段形成《測試執行記錄》和《缺陷列表》。
3.5 評估出口準則和編寫測試報告
評估出口準則是將測試的執行結果與已定義的測試目標進行比較,評估是否需要進行更多的測試,或者需要更改測試的出口準則。項目經理和測試執行人共同根據測試結果編寫測試報告。測試報告一般有編制人員、審核人員和批準人簽字。
3.6 測試總結
測試結束后,需要從已完成的測試任務中收集和整合有用的數據,主要包括:檢查提交可交付產品;記錄和歸檔測試環境、測試設備等;分析和整理獲得的經驗教訓等。
4 第三方軟件測試實施中遇到的問題
(1)軟件企業重開發、輕測試,這在國內軟件企業中普遍存在。由于對軟件測試不夠重視,導致軟件產品的售后服務大幅度增加,從而大大提高了軟件成本。成本增加導致企業更不愿意做軟件第三方測試,即使做也只愿意花很少的資金。作為第三方軟件測試機構,經常面臨工作量大但收入少的情況,從而縮小了第三方檢測機構的盈利空間,導致人才招聘和檢測設備購買受到限制,這已成為制約第三方軟件檢測機構發展的一個瓶頸。
(2)第三方軟件測試一般是在系統集成和驗收兩個階段開始介入,通過測試發現軟件功能、效率、信息安全等存在重要問題。但第三方測試對軟件的設計階段、需求分析階段以及編碼階段涉足甚少,缺少對軟件整個生命周期進行質量控制。
(3)第三方測試是在項目后期才進行的,留給第三方測試的時間較短,需求文檔、用戶手冊等文檔可能不夠完善、詳細,導致第三方測試機構對軟件需求理解不全面。此外,設計文檔不齊全,測試人員需要花大量的時間熟悉被測軟件,會對測試結果帶來不良影響。
(4)軟件第三方測試,一般是第三方檢測機構與軟件用戶簽訂委托測試合同,但是在開展工作的過程中需要軟件開發方的協助配合。因此第三方測試機構需要協調好與用戶和開發商的關系,否則很可能會影響測試工作的質量和效率。
(5)用戶、軟件開發方、第三方測試機構的權責不明確。在第三方測試工作的實施過程中,有些用戶甚至是軟件開發商認為,進行了第三方測試的軟件都沒有錯誤,將軟件質量的高低寄托于第三方測試機構。一旦軟件不能滿足預期的需求,就歸罪于第三方機構。雖然軟件測試能夠發現軟件的錯誤,但是軟件中的錯誤可能發生在軟件項目的各個環節,從而不能保證軟件不發生錯誤。
5 第三方軟件測試發展的建議
(1)樹立質量意識。第三方測試具有客觀、公正、獨立等特點,通過第三方測試能夠發現軟件的問題,提高軟件的質量,但測試不能保證軟件沒有錯誤,也不能發現全部的問題。要提高軟件的質量,用戶和軟件開發商必須要樹立質量意識,對軟件的整個生命周期進行控制。
(2)用戶積極參與。用戶積極參與不僅可以快速有效地解決測試中遇到的許多問題,還可以監督測試工作的運行情況,以保證測試質量。此外,用戶參與測試,可以更好地了解測試的思路、測試的依據、測試的出口準則等,從而使用戶更容易接受測試方的理念和思路,還能起到溝通橋梁的作用,督促軟件開發方配合第三方測試工作,從而提高測試質量和效率。
(3)加強人才隊伍建設。國內軟件測試行業是新興行業,處于起步階段,專業的軟件測試人才比較緊缺,而從事軟件測試的人才大多是從軟件開放等相關領域轉過來的。為了推動軟件測試行業健康、快速地發展,我國必須建立完整的軟件測試人才的培養體系,在高校中設置軟件測試專業,在社會中鼓勵成立軟件測試培訓機構,為第三方軟件軟件測試行業的發展培育專業的人才。
(4)規范第三方軟件測試市場。隨著第三方軟件檢測需求的不斷增加,第三方軟件檢測機構不斷增多,一些企業甚至在購買一兩套自動化測試工具、招聘幾個軟件專業相關的人員情況下,就成立了軟件測試中心,導致測試的軟件質量不過關,用戶不滿意,用戶漸漸會不信任第三方軟件測試,從而會影響軟件測試行業的可持續發展。為了使我國第三方軟件測試行業健康發展,我國需要規范第三方軟件檢測機構的入市條件,為軟件測試行業的發展制定一系列的規范,確保第三方檢測市場健康發展。
6 結 語
第三方軟件測試在我國已經有了二三十年的發展歷史,為我國軟件產業的健康發展做出了突出貢獻,且由于第三方測試具有客觀、公正、獨立等特點,已經逐漸被軟件用戶接受。在第三方軟件測試中,經常會遇到時間緊、任務重、責任大、三方關系不好協調等問題,但是隨著軟件企業和用戶對軟件質量的要求不斷提高,第三方軟件測試服務需求將不斷增加,必將迎來蓬勃發展。
主要參考文獻
[1]鄭麗娜,王威,周悅.中國第三方軟件測試發展現狀分析[J].軟件產業與工程,2012(5).
[2]周萍,吳娓娓.軟件第三方測試實施中的問題及建議[J].軟件設計開發,2009(28).
[3]陳锃基,黃茂生.軟件第三方確認測試的管理與策略[J].電子產品可靠性與環境試驗,2005(4).
[4]楊文娟.試論第三方軟件測試發展現狀及對策[J].網絡與信息工程,2016(10).