許波


摘 要
隨著公安機關信息化程度的不斷提高,110指揮中心積累了大量的、相對完善的接處警業務數據,以及各種使用頻率非常高的業務模塊,這些都是軟件測試的重中之重。
關鍵詞
功能性;可靠性;易用性;黑盒測試;數據挖掘
中圖分類號: TM73 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.15.007
Abstract
With the continuous improvement of the informatization degree of the public security organs,the 110 command center has accumulated a large number of relatively perfect data on the handling of the police,as well as a variety of business modules with very high frequency of use,which are the priority among priorities in software testing.
Key Words
Functional;Reliability;Ease of use;Black box test;Data mining
0 引言
某市公安局正在實施第三代110指揮系統建設,建設基于公安信息網運行的全新的應用環境。預計每天接警量將由現在的7500個,上升至20000個。如何有效利用第三代110指揮系統積累的110接處警數據,挖掘潛藏在數據中的重要信息和規律,輔助分析人員進行決策,已成為市公安局指揮中心領導的迫切需要。針對此類功能的軟件測試就顯得尤為重要了。
1 項目簡介
110指揮智能決策平臺包括接處警輔助分析系統和智能決策應用系統兩部分。其核心功能是實現對警情的多方位分析,對接處警數據進行匯總統計,并以報表的形式進行展現,在此基礎上進而采用柱形圖、折線圖和餅狀圖更加直觀的方式展現統計分析后的數據信息,為輔助指揮中心進行警情分析及決策提供支持。其結構如圖1所示:
2 測試內容
110指揮智能決策平臺部署在市公安局警用網中,只有得到授權的用戶使用工號、密碼并對終端的IP校驗通過后方可進行登錄。
由于本系統只是針對少數特定用戶開放,用戶對系統性能無特殊要求,故本次測試只針對系統的功能性、可靠性、易用性等進行測試。
系統設計為基于Web的B/S架構系統,應用技術為Jsp + Strust,采用MVC設計模式開發,因此系統主要分為三個核心結構,即模型、視圖和控制器,用于分別擔負不同的任務。每個軟件配置項均由以上三個核心結構組成,三部分協作完成該配置項的功能目的。
測試時,實際運行軟件完成特定的任務,以驗證其應有的功能性、可靠性、易用性等有關特性[1],并逐項驗證被評測軟件對產品文檔、程序和數據有關要求的符合性。
測試分為兩個層次:基本功能和可靠性的驗證,與基于業務流程、業務邏輯層面的功能與可靠性驗證。在基本功能和可靠性驗證部分主要是驗證基本功能的實現,以及程序對一些錯誤輸入的處理情況[2];業務邏輯層面,主要根據用戶的業務流程,驗證程序在按照正確的業務流程和錯誤的業務流程執行時的處理情況。
3 測試方法
本次測試主要是針對系統的全部功能進行黑盒測試,測試工作的重點集中在測試用例的準備階段。針對不同的功能模塊需要為其設計執行該操作的輸入內容,使其盡量覆蓋全部類型的輸入范圍,同時也要考慮該輸入后應有的輸出內容,考察其是否能夠正確滿足該功能的需要,并且具有一定的可靠性和易用性。
考慮到如果在110接處警輔助分析系統的真實環境下測試,功能和可靠性測試可能會產生垃圾數據,影響系統的使用。所以選取的測試環境是備份數據庫服務器。由于是準一線城市,每日的接處警量非常大,輔助分析系統要處理的數據量也非常龐大,所以截取了測試前半年的接處警數據作為測試數據。
設計測試用例時,考慮到系統大部分都是查詢統計功能,只有用戶管理模塊需要考慮可靠性用例的設計。
接處警輔助分析系統的核心功能為查詢分析功能,此類功能需要輸入查詢,完成查詢統計功能。由于查詢條件的種類較多,包括接警時間、接警類型、處警時間、處警地點、處警單位、處警結果等各類信息,并且部分查詢功能具有延續性,每次查詢后,如果數據量較大,可能涉及查詢結果的翻頁、二次篩選、統計等功能。所以在設計測試用例時如何準確的選取典型案例,組合查詢條件,達到每個用例盡可能多的覆蓋被測功能。如果單個用例中輸入查詢條件較少,那么可能會需要設計大量的用例來覆蓋同一功能。
但是如果單個用例輸入查詢條件過多,采取組合查詢,那么由于查詢條件比較具體,返回的查詢結果較少,則例如翻頁、下一頁、上一頁、首頁等小功能因為測試數據不足的問題而無法進行測試。我們在設計測試用例時需要與公安局的相關人員進行溝通,充分考慮接處警的時間、種類、地點等因素,采取等價類劃分和邊界值方法[3],設計查詢條件的輸入數據,達到用盡量少的測試工作量完成全部功能測試的目的。
由于智能決策應用系統中的核心功能為數據挖掘功能,此部分功能的準確性無論國內或國際上均無明確的誤差范圍[4]。所以針對這部分內容,我們特別選取了部分數據進行功能性的驗證。
例如現有的統計數據包括2009年全年的全部接處警量及相關信息。我們為了測試某項數據挖掘功能時,可以截取上半年的數據作為數據源,利用已有的數據模型,通過建模調參,再進行數據挖掘,所得的結果與真實情況對比后,再次調整參數,完善數據模型,從而達到優化數據模型的目的。
在設計可靠性用例時,我們從三個方面考慮測試數據的設計。第一是輸入超長或空數據,也就是輸入邊界值外的數據。例如警力調度功能中每次可調度的警力為1~200人,那么就要考慮輸入0人、負數或者201人時,該功能的響應情況。或是在新建用戶時,需要設定密碼,此處規定密碼長度為6-16位字符,那么如果輸入少于6位、多于16位或空密碼時,該功能的反應。第二是輸入格式不正確的數據,也就是不符合此功能輸入數據規范的非法數據。例如利用時間查詢時,在輸入框中輸入非時間格式的數據進行查詢,軟件是否可以檢測查詢信息錯誤并有正確的錯誤提示,或是在輸入框中輸入非法數據時,軟件會有相關糾錯手段禁止輸入等。或是在任意輸入框中輸入包含%&\等字符的內容并執行查詢、保存等功能,觀察軟件的執行結果和數據是否正常。第三是導入文件時,導入不符合規范的文件格式或存在缺陷的文件,軟件是否有糾錯功能和信息。例如在導入文本文件時,是否可以將jpg格式的圖片導入,或是將受損的文本文件導入時,軟件的反應是否正常。
通過項目驗收測試,發現了110指揮智能決策平臺的部分功能性、可靠性問題,我們以問題報告的形式提交給項目的使用方和開發方。使雙方可以非常準確地對已發現的問題進行修改和驗收確認。
通過對測試文檔的檢查,發現了部分文檔的缺陷,使開發方完善了系統的使用手冊,以便用戶更加準確的了解系統的使用方法。并且通過對智能決策應用系統核心功能——數據挖掘的測試和參數調優,使軟件功能趨于完善,更加適合公安局人員的工作需要。
綜合來說,項目的整體測試內容、工作內容及測試方法如圖2所示。
4結束語
測試使系統從功能性、可靠性、易用性以及文檔方面更加完善,達到了驗收測試的目的,同時為110指揮智能決策平臺的正常運行提供了保障。
參考文獻
[1]蔡東容,丁曉明.GB/T?25000.51-2010應用研究[J].2015.
[2]Paul Ammann.軟件測試基礎[M].北京:機械工業出版社,2018.
[3]Ron Patton.軟件測試[M].北京:機械工業出版社,2006.
[4]王洋.面向軟件工程數據挖掘的開發測試技術[J].信息系統工程,2017.