【摘 要】隨著信息技術(shù)的逐步發(fā)展,計(jì)算機(jī)軟件工程也實(shí)現(xiàn)了突飛猛進(jìn)的發(fā)展趨勢,不僅需要通過技術(shù)推進(jìn)以實(shí)現(xiàn)軟件行業(yè)的發(fā)展,同時也需要依照軟件行業(yè)要求,實(shí)現(xiàn)軟件開發(fā)系統(tǒng)的技術(shù)提升。軟件行業(yè)的發(fā)展,需要對行業(yè)發(fā)展的阻礙因素分析,針對軟件分析與設(shè)計(jì)方面的失誤,制定良好的測試系統(tǒng)是應(yīng)對軟件行業(yè)發(fā)展障礙的方法。
【關(guān)鍵詞】需求分析 測試分析 測試需求
引言:軟件測試已受到越來越多的軟件開發(fā)公司的重視,越來越多的軟件開發(fā)人員投入到軟件測試的行業(yè)中。如何保證軟件測試的質(zhì)量?如何適應(yīng)軟件測試行業(yè)的技術(shù)需求?如何有效的、從根本上的提高測試質(zhì)量?這些都是我們所關(guān)心的問題。
一、軟件測試概述
軟件測試是有計(jì)劃、有組織的,是保證軟件質(zhì)量的一種手段,它是軟件工程中的一個非常重要的環(huán)節(jié)。因此,可以認(rèn)為它是伴隨軟件工程的誕生而誕生的。伴隨著軟件復(fù)雜程度的增加、規(guī)模的增大,軟件測試作為一種能夠保證軟件質(zhì)量的有效手段,越來越受到人們的重視,軟件測試的最終目的是使產(chǎn)品更加完美。軟件測試的目的是發(fā)現(xiàn)問題以及避免這些錯誤的發(fā)生。那么我們就應(yīng)該知道軟件測試的對象是什么?用什么方法測試?要確定在軟件系統(tǒng)中需要測試什么?這也就是測試需求。
二、為什么要做測試需求分析
通過測試需求分析,可以把不直觀的需求轉(zhuǎn)變?yōu)橹庇^的需求(用例圖/活動圖),使得測試范圍可以度量(有多少功能點(diǎn)、功能項(xiàng));使得獨(dú)立的功能點(diǎn)其對應(yīng)的所有的處理分支可以度量;使得該系統(tǒng)需要測試的業(yè)務(wù)場景可以度量。
通過測試需求分析,可以把不明確的需求轉(zhuǎn)變?yōu)槊鞔_的需求,明確其功能點(diǎn)對應(yīng)的輸出、處理和輸出。
通過測試需求分析,可以把不能度量的需求轉(zhuǎn)變?yōu)榭啥攘康男枨?,度量測試范圍、度量處理分支、度量業(yè)務(wù)場景。
三、測試需求所包含的內(nèi)容
測試需求闡述一個測試軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件,它是系統(tǒng)測試的基礎(chǔ)。測試需求不僅僅針對于測試軟件系統(tǒng)的質(zhì)量,也應(yīng)盡可能完整的描述系統(tǒng)預(yù)期的外部行為和用戶可視化行為。通過測試需求的實(shí)現(xiàn),能夠逐漸完成軟件系統(tǒng)的改進(jìn)工作。
四、測試需求的分析方法
測試需求分析可以從以下方面入手:
(一)熟悉需求背景及商業(yè)目標(biāo),了解清楚項(xiàng)目發(fā)起的原因,是為了解決用戶的什么問題;當(dāng)前的解決方案是不是最優(yōu)的,為什么會這樣做?
(二)業(yè)務(wù)模型法:考慮本軟件系統(tǒng)與外部系統(tǒng)的交互,劃分系統(tǒng)邊界,可以參考系統(tǒng)的架構(gòu)和概要設(shè)計(jì)說明書。確定測試范圍和關(guān)注點(diǎn)。系統(tǒng)的邊界是測試的重點(diǎn),特別需要關(guān)注邊界交互時的數(shù)據(jù)交互。
(三)業(yè)務(wù)場景法:考慮用例的調(diào)用者;考慮每一個用例提供的服務(wù)是供哪些外部用例或者系統(tǒng)調(diào)用,找出所有的調(diào)用者。調(diào)用的前提、約束都要考慮。每一個調(diào)用都可以考慮成一個大的業(yè)務(wù)流程??紤]系統(tǒng)內(nèi)部各個用例之間的交互,形成內(nèi)部業(yè)務(wù)流程圖。需要分析每個用例之間的約束關(guān)系、執(zhí)行條件,組織出各種業(yè)務(wù)流程圖。
(四)功能分解法
五、測試需求實(shí)例
軟件測試需求是設(shè)計(jì)編寫測試用例的依據(jù),所以測試需求分析要盡可能的詳細(xì)和精準(zhǔn),這樣才能對測試用例的設(shè)計(jì)質(zhì)量的幫助越大,使得測試人員對所要進(jìn)行的測試內(nèi)容了解的越清晰。詳細(xì)的測試需求還是衡量測試覆蓋率的重要指標(biāo),測試需求是計(jì)算測試覆蓋的分母,沒有詳細(xì)的測試需求就無法有效的進(jìn)行測試覆蓋計(jì)算。
(一)測試任務(wù)概述要定義產(chǎn)品以及它所運(yùn)行的環(huán)境、使用產(chǎn)品的用戶、已知的限制和依賴。
(二)數(shù)據(jù)的一致性、正確性測試包括靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)流圖、數(shù)據(jù)字典。
(三)功能測試要求要詳細(xì)列出與該特性相關(guān)的詳細(xì)的功能需求。
(四)性能需求測試要求應(yīng)包括測試精度、測試時間特性要求及適應(yīng)性。
(五)運(yùn)行測試要求應(yīng)包括壓力測試、用戶界面測試、字體測試、按鈕測試、窗口測試、按鈕標(biāo)題測試、頁面標(biāo)題測試、頁面設(shè)置測試、編輯框測試、快捷鍵校驗(yàn)、導(dǎo)航條測試等。
(六)硬件接口,描述系統(tǒng)中軟件和硬件的每個接口特性。
(七)軟件接口,描述該產(chǎn)品與其他外部組件的鏈接,包括數(shù)據(jù)庫、操作系統(tǒng)、工具、庫和集成的商業(yè)組件。
(八)通信接口,描述與產(chǎn)品所使用的通信功能相關(guān)的需求,包括電子郵件、Web瀏覽器、網(wǎng)絡(luò)通信標(biāo)準(zhǔn)或協(xié)議及電子表格等。定義相關(guān)的消息格式。
(九)安全性測試需求,應(yīng)詳盡的敘述與系統(tǒng)安全性、完整性或與私人問題相關(guān)的需求,這些問題將會影響到產(chǎn)品的使用和產(chǎn)品所創(chuàng)建或使用的數(shù)據(jù)的保護(hù)。定義用戶身份確認(rèn)或授權(quán)需求。明確產(chǎn)品必須滿足的安全性或保密性策略。
(十)文件傳輸測試應(yīng)包括文件上傳到FTP或Server服務(wù)器端后,系統(tǒng)是否會死機(jī)的測試;下載文件、上傳文件成功與否反饋信息的測試;大量文件下載的測試;同時下載、上傳多個文件的測試等。
(十一)數(shù)據(jù)導(dǎo)入導(dǎo)出測試應(yīng)包括多條記錄導(dǎo)入的測試、多個文件導(dǎo)入數(shù)據(jù)庫的測試、導(dǎo)入文件名的測試、導(dǎo)入多條完全相同的基礎(chǔ)數(shù)據(jù)的測試、導(dǎo)入非法數(shù)據(jù)是否有校驗(yàn)的測試等。
(十二)測試約束,這一部分描述安裝測試,包括將系統(tǒng)安裝運(yùn)行的測試、瀏覽器版本的測試、運(yùn)行前各個環(huán)境設(shè)置的測試、部分運(yùn)行程序的文件被刪除的測試等。
六、小結(jié)
通過上述探討,可以看出,要實(shí)現(xiàn)高質(zhì)量的測試需求分析,就必須對所測試的軟件系統(tǒng)有綜合情況的分析,才能夠明確在測試中所需要遵循的測試規(guī)范,才能對測試目的有很好的把握。只有通過高質(zhì)量的測試需求分析,才能夠保障測試工作的高質(zhì)量。對于軟件項(xiàng)目而言,在測試中普遍存在著一些問題,雖然這些問題可能在測試需求中是隱含的,但是通常要在測試結(jié)果中有明確的體現(xiàn),這是不利于軟件測試的因素。而由于軟件工程的工作環(huán)節(jié)不同,人員的工作理念也有所差異,這是需要在測試需求中考慮的問題,也是實(shí)現(xiàn)高質(zhì)量測試需求的必要面對的問題。
基金項(xiàng)目:本文受2011年國家發(fā)改委信息安全專項(xiàng)項(xiàng)目 鐵路控制信息網(wǎng)絡(luò)綜合視頻監(jiān)控系統(tǒng)產(chǎn)業(yè)化 資金支持
參考文獻(xiàn):
[1]吳秋月.談應(yīng)用軟件開發(fā)過程中的一個瓶頸問題──需求分析[J]. 安徽教育學(xué)院學(xué)報(bào)(自然科學(xué)版). 1998(01)
[2]虞健飛,朱家元,張恒喜.數(shù)據(jù)倉庫設(shè)計(jì)過程研究[J].計(jì)算機(jī)工程.2003(19)
[3]厲娟,李和飛.軟件測試文檔工程論述[J].電腦編程技巧與維護(hù).2011(20)
作者簡介:
張敏,1978年11月生,畢業(yè)于西安電子科技大學(xué),現(xiàn)就職于通號通信信息集團(tuán)有限公司。