張瑩 曲艷梅
摘 要:針對軟件測試課程教學(xué)中缺乏系統(tǒng)實例、重技術(shù)實現(xiàn)輕文檔工作、測試工具使用流于產(chǎn)品說明等問題,文章就探索實驗教學(xué)進度和內(nèi)容進行了論述。依據(jù)實際軟件開發(fā)過程中軟件測試實施的方式方法,提出設(shè)計一套系統(tǒng)的軟件測試實驗內(nèi)容。文章還闡述了在教學(xué)過程中采用案例教學(xué)法,提供給學(xué)生完整的案例系統(tǒng)及充分的設(shè)計文檔.統(tǒng)計功能,測試計劃。測試應(yīng)該跨越整個軟件開發(fā)流程。需求驗證(自檢)和設(shè)計驗證(自檢)也可以算作軟件測試(建議稱為需求測試和設(shè)計測試)的一種。軟件測試應(yīng)該是一個泛型概念,涵蓋整個軟件生命周期,這樣才能確保周期的每個階段都禁得起考驗。同時測試本身也需要有第三者進行評估(信息系統(tǒng)審計和軟件工程監(jiān)理),即測試本身也應(yīng)當(dāng)被測試,從而確保測試自身的可靠性和高效性。否則自身不正,難以服人。
關(guān)鍵詞:測試管理教學(xué);測試實習(xí)性教學(xué);測試管理系統(tǒng)
軟件開發(fā)和使用的歷史已經(jīng)留給了我們很多由于軟件缺陷而導(dǎo)致巨大財力、物力損失的經(jīng)驗教訓(xùn)。這些經(jīng)驗教訓(xùn)迫使我們必須采取強有力的檢測措施來檢測未發(fā)現(xiàn)的隱藏軟件缺陷。生產(chǎn)軟件的最終目的是為了滿足客戶需求,我們以客戶需求作為評判軟件質(zhì)量的標(biāo)準(zhǔn),認為軟件缺陷(Software Bug)的具體含義包括下面幾個因素:
軟件未達到客戶需求的功能和性能。
軟件超出客戶需求的范圍。
軟件出現(xiàn)客戶需求不能容忍的錯誤。
軟件的使用未能符合客戶的習(xí)慣和工作環(huán)境。
考慮到設(shè)計等方面的因素,我們還可以認為軟件缺陷包括軟件設(shè)計不符合規(guī)范、未能在特定的條件(資金、范圍等)達到最佳等。可惜的是,很多人更傾向于把軟件缺陷看成運行時出現(xiàn)的問題,認為軟件測試僅限于程序提交之后。在目前的國內(nèi)環(huán)境下,幾乎看不到完整準(zhǔn)確的客戶需求說明書,再加上客戶的需求時時在變,追求完美的測試變得不太可能。但是明確軟件測試現(xiàn)實與理想的差距,在軟件測試中學(xué)會取舍和讓步,對軟件測試是有百益而無一弊的。
軟件測試并不單純等同于程序測試。軟件測試應(yīng)該貫穿整個軟件定義與整個開發(fā)周期。因此需求分析、概要設(shè)計、詳細設(shè)計以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計規(guī)格說明、詳細設(shè)計規(guī)格說明以及源程序,都應(yīng)該是軟件測試(評審)的對象。
在對需求理解與表達的正確性、設(shè)計與表達的正確性、實現(xiàn)的正確性以及運行的正確性的驗證中,任何一個環(huán)節(jié)發(fā)生了問題都可能在軟件測試中表現(xiàn)出來。
在這部分中,我個人確保每個階段功能的實現(xiàn),在系統(tǒng)完成后,每個分支都走過一遍,也有發(fā)現(xiàn)的問題,但都通過查閱資料將其解決了。
性能測試
測量Web服務(wù)器的性能是一項讓人感到畏縮的任務(wù),它不像一些簡單的任務(wù),如測量CPU的速率或者是測量程序占用CPU的比例,Web服務(wù)器的性能優(yōu)化中包括調(diào)整許多變量來達到目標(biāo)。許多的測量策略中都包含了一個看似簡單的瀏覽,實際上是在向服務(wù)器發(fā)送大量的請求,這稱之為客戶端的程序,它用來測量響應(yīng)時間。常見的問題有如下幾個:
客戶端和服務(wù)器端是否在同一臺機器上。
服務(wù)器在測試的時候是否還運行著其他的程序。
客戶端和服務(wù)器端的通信是通過局域網(wǎng)(100baseT、10baseT)還是使用調(diào)制解調(diào)器。
客戶端是否一直重復(fù)請求相同的頁面,還是隨機地訪問不同的頁面。
客戶端發(fā)送請求是有規(guī)律的還是突發(fā)的。
是在最終的配置環(huán)境下運行服務(wù)的,還是在調(diào)試的配置環(huán)境下運行服務(wù)的。
客戶端的請求中包含圖片還是只有HTML頁面。
所有這些都是要關(guān)心的問題,并且?guī)缀醪豢赡芫_地把所有的問題都列出來。
基于以上的要求,最合適的測試方法無非是通過一定的訪問量來實現(xiàn),但是這樣的工作談何容易,這種思路的測試就是壓力測試。俗話說:“工欲善其事,必先利其器”,壓力測試只有借助于一些工具才可得以實施。大多數(shù)Web壓力測試工具的實現(xiàn)原理都是通過重復(fù)的大量頁面請求來模擬多用戶對被測系統(tǒng)的并發(fā)訪問,以此達到產(chǎn)生壓力的目的。產(chǎn)生壓力的手段都是通過錄制或者是編寫壓力腳本,這些腳本以多個進程或者線程的形式在客戶端運行,這樣通過人為制造各種類型的壓力,可以觀察被測系統(tǒng)在各種壓力狀況下的表現(xiàn),從而定位系統(tǒng)瓶頸,作為系統(tǒng)調(diào)優(yōu)的基礎(chǔ)。目前已經(jīng)存在的性能測試工具林林總總,數(shù)量不下一百種,從單一的開放源碼的免費小工具,如Apache自帶的Web性能測試工具(Apache Benchmark、開源的JMeter)到大而全的商業(yè)性能測試軟件,如Mercury的LoadRunner、Siege等。
系統(tǒng)測試分為功能測試和性能測試兩部分。為了驗證本系統(tǒng)的各項功能是否滿足設(shè)計要求,是否符合用戶需求,是否存在錯誤;本文分別做了功能測試和性能測試。
測試環(huán)境
為了保證呈現(xiàn)給終端用戶的界面一致性,功能測試環(huán)境選用了IE瀏覽器、火狐瀏覽器、谷歌瀏覽器、遨游瀏覽器、搜狗瀏覽器。性能測試主要使用自動化測試工具Load Runner進行測試。
測試環(huán)境詳細信息見表5-3。
表5-3開放式實習(xí)教學(xué)管理系統(tǒng)測試環(huán)境信息表
(1)功能測試:測試系統(tǒng)實現(xiàn)的功能。
通過使用不同瀏覽器訪問系統(tǒng)網(wǎng)站,進行認證登陸;運行各項管理功能、操作,觀察操作后現(xiàn)象、過程、結(jié)果,判斷是否滿足設(shè)計要求和用戶需求。如出現(xiàn)錯誤或應(yīng)用不滿足實際需求,則記錄相關(guān)信息;本輪測試結(jié)束后加以修改,修改完畢繼續(xù)測試,直到所有功能測試通過后才可最終結(jié)束測試。
(2)性能測試:測試系統(tǒng)性能指標(biāo)。
通過Load Runner工具進行測試,得出客觀數(shù)據(jù)。針對系統(tǒng)服務(wù)的特點,分析這些數(shù)據(jù)表達出的信息,確定系統(tǒng)響應(yīng)時間是否及時、準(zhǔn)確;服務(wù)器端資源消耗是否合理。服務(wù)器端指標(biāo)包括并發(fā)性、吞吐量、內(nèi)存占用率、數(shù)據(jù)庫服務(wù)器CPU占用情況等。如性能指標(biāo)達不到設(shè)計要求,分析出問題具體原因,是系統(tǒng)設(shè)計問題還是硬件配置問題,最終改正達到系統(tǒng)要求指標(biāo),結(jié)束測試。
參考文獻:
[1]湯振華.淺談高等院校素質(zhì)教育現(xiàn)狀(J).高校論壇,2013,1(7):104-108.
[2]侯云霞,于金秀.高校思想政治理論課教學(xué)實習(xí)與實習(xí)教學(xué)思考(J).中國特色社會主義研究,2008,2(10):159.
[3]徐威軍.高等師范院校開放實習(xí)教學(xué)管理問題研究(D).東北師范大學(xué),2010:4-5.
作者簡介:張? 瑩(1975-),女,黑龍江人,實驗師,工程碩士,研究方向:計算機技術(shù)
曲艷梅(1980-),女,黑龍江人,講師,研究方向:計算機技術(shù)