李雪梅,高媛,楊立波
(1.太原大學(xué)計算機(jī)工程系,山西太原 030032;2.中北大學(xué)電子與計算機(jī)科學(xué)技術(shù)學(xué)院,山西太原 030051)
淺談軟件測試
李雪梅1,2,高媛2,楊立波1
(1.太原大學(xué)計算機(jī)工程系,山西太原 030032;2.中北大學(xué)電子與計算機(jī)科學(xué)技術(shù)學(xué)院,山西太原 030051)
軟件測試是一個非常重要的階段,也是非常復(fù)雜的過程,測試過程及方法靈活多變,沒有固定可言。一個好的測試人員不僅能發(fā)現(xiàn)問題、從發(fā)現(xiàn)的問題中分析問題出現(xiàn)的原因,更應(yīng)該能擬定軟件測試計劃、編制軟件測試大綱、編寫軟件測試用例,從而提高了工作的效力,降低了開發(fā)產(chǎn)品的成本,更好的保證了軟件的質(zhì)量。
軟件可靠性;軟件質(zhì)量;軟件測試;測試用例;地鐵通信網(wǎng)管
信息技術(shù)飛速發(fā)展的今天,軟件產(chǎn)品應(yīng)用到了社會的各個領(lǐng)域,于是軟件產(chǎn)品的質(zhì)量自然成為了人們關(guān)注的焦點。尤其是一些關(guān)鍵應(yīng)用,如民航訂票系統(tǒng)、銀行結(jié)算系統(tǒng)、證券交易系統(tǒng)等,這當(dāng)中如果使用質(zhì)量有問題的軟件,很有可能會造成災(zāi)難性的后果。于是軟件危機(jī)便成為了整個計算機(jī)界最熱門的話題。為了解決軟件危機(jī),軟件從業(yè)人員、專家和學(xué)者做出了大量的努力,此時軟件測試誕生了。
軟件測試是根據(jù)軟件開發(fā)各個階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一組測試數(shù)據(jù),并利用這些測試數(shù)據(jù)運行程序,以發(fā)現(xiàn)程序錯誤的過程。其目的在于發(fā)現(xiàn)錯誤,對已進(jìn)行的測試過程的程度進(jìn)行評估,而不是確認(rèn)其正確性。下面通過舉例來描述一下什么是軟件測試以及如何進(jìn)行軟件測試。
1.1 軟件測試對象
地鐵通信網(wǎng)管系統(tǒng)。
這個系統(tǒng)提供地鐵行車指揮、運營管理、行政辦公等有關(guān)部門和有關(guān)工作人員使用的通信設(shè)施,以及支持這些設(shè)施所需的相關(guān)網(wǎng)絡(luò)。工程還包括地鐵通信網(wǎng)與電信局市話中繼線聯(lián)網(wǎng)工程,與供電、消防等指揮部門之間業(yè)務(wù)所需要的直通電話工程和溝通地面與地下之間的有線、無線傳輸通道等。
1.2 軟件測試要求
要求接入到網(wǎng)管系統(tǒng)(NMS)的所有設(shè)備發(fā)生故障時網(wǎng)管工作站能夠顯示設(shè)備的故障告警,同時用戶可以自行刪除告警并且可查詢操作日志。
(1)硬件說明。網(wǎng)管系統(tǒng)(NMS)可以安裝在一臺計算機(jī)上,也可按服務(wù)器和工作站分別安裝,它們之間通過LAN連接。
表1 硬件說明
(2)軟件說明。本系統(tǒng)開發(fā)語言為C++,數(shù)據(jù)庫為MySQL,軟件測試時需配置ODBC。
(3)系統(tǒng)設(shè)備連接。
表2 網(wǎng)管系統(tǒng)設(shè)備連接
(4)軟件測試計劃。
(5)軟件測試設(shè)計。測試人員根據(jù)初步確定的測試需求開始編寫測試用例,并組織評審。
在地鐵通信網(wǎng)管系統(tǒng)中用到的測試用例有:觸發(fā)基站告警;觸發(fā)NMS服務(wù)器告警;刪除告警;查詢告警(如表3所示)。
表3 軟件測試步驟
(6)搭建測試環(huán)境。當(dāng)研發(fā)人員根據(jù)測試用例編碼完成時,測試人員開始搭建測試環(huán)境,準(zhǔn)備測試所需要的硬件資源和軟件資源。
圖1 測試組網(wǎng)圖
(7)功能測試。根據(jù)提交的版本按照測試用例執(zhí)行軟件測試,同時對測試用例結(jié)果進(jìn)行一一標(biāo)記,測試成功則置為Pass,測試失敗則置為Fail。測試中發(fā)現(xiàn)的不足提交TD庫;待研發(fā)人員修改完缺陷,重新提交版本后,測試人員就可以執(zhí)行回歸測試,并修改TD庫上問題單的狀態(tài),若修改成功則為Closed,未修改完全則為Fixed。
圖2 測設(shè)計劃模型
(8)軟件測試報告。軟件測試完成后應(yīng)編寫測試報告,報告包括測試覆蓋的需求點、測試的輪次、測試時發(fā)現(xiàn)的缺陷分布、缺陷關(guān)閉分布、版本質(zhì)量分析、測試總結(jié)等,并組織相關(guān)人員評審,確定版本能否發(fā)布。測試中發(fā)現(xiàn)的缺陷在TD中提交。
(9)軟件測試驗收。報告完成后由實際用戶組織的一次驗收測試,測試人員提供基本功能測試用例,然后由實際用戶去執(zhí)行功能是否通過。
軟件測試是整個軟件開發(fā)過程中非常重要的階段[2],在整個測試過程中若能按測試的基本過程來進(jìn)行,不僅能找出錯誤,而且能發(fā)現(xiàn)錯誤、分析錯誤、找到錯誤的分布特征和規(guī)律,從而幫助此項目管理人員發(fā)現(xiàn)當(dāng)前所采用的軟件在開發(fā)過程中的缺陷并改進(jìn),以便設(shè)計有針對性的檢測方法,改善軟件測試的有效性。即使測試沒有發(fā)現(xiàn)錯誤,也是十分有價值的,因為完整的測試不僅能給軟件質(zhì)量進(jìn)行一個正確的評價,而且是提高軟件質(zhì)量的重要方法之一。這樣在測試完一個軟件后,軟件的質(zhì)量就有所保障了。
[1]史濟(jì)民.軟件工程原理方法與應(yīng)用[M].北京:高等教育出版社,2001.
[2]張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,1997.
[責(zé)任編輯:袁太生]
Discussion on Software Testing
LI Xue-mei1,2,GAO Yuan2,YANG Li-bo1
(1.Computer Engineering Department,Taiyuan University,Taiyuan 030032,China; 2.School of electronics and computer science and technology,North Central University,Taiyuan 030051,China)
Software testing is a very important stage,and it is also a very complex process.The testing process and its approach are rather flexible.There is no fixed method at all.A good test personnel can not only find problems and find the causes by analyzing them,but also be able to develop software testing plan,prepare software testing outline,and compile test cases for software testing,so as to improve the working efficiency,reduce the cost of product development,and ensure the quality of the software.
software reliability;software quality;software testing;cases for testing;subway communication network
TP311.55
A
1671-5977(2012)01-0125-03
2011-10-15
李雪梅(1981-),女,山西昔陽人,太原大學(xué)計算機(jī)工程系助教。