亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        論軟件系統(tǒng)的測試

        2011-12-31 00:00:00王麗達
        經(jīng)濟研究導刊 2011年14期

        摘要:隨著信息技術(shù)的飛速發(fā)展,軟件產(chǎn)品已應用到社會各個領域,因而其質(zhì)量成為人們共同關注的焦點。質(zhì)量不佳的系統(tǒng)不僅使開發(fā)商的維護費用和用戶的使用成本大幅增加,甚至可能造成災難性的后果。軟件測試是根據(jù)被測試對象設計測試用例,組織測試數(shù)據(jù),或者說測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。測試應是盡一切可能查出程序錯誤的測試,而一個成功的測試是發(fā)現(xiàn)至今為止尚未發(fā)現(xiàn)的錯誤的測試。

        關鍵詞:軟件;系統(tǒng)測試;錯誤

        中圖分類號:TP33 文獻標志碼:A 文章編號:1673-291X(2011)14-0311-02

        一、測試前的準備

        計算機軟件是基于計算機系統(tǒng)的一個重要組成部分,影響軟件產(chǎn)品質(zhì)量的原因主要有:(1)龐大的系統(tǒng)規(guī)模,使得軟件及系統(tǒng)的復雜性呈指數(shù)增長;(2)需求變化引發(fā)的項目各部分之間已知或未知的依賴性可能會相互影響導致更多錯誤的出現(xiàn);(3)代碼文檔的貧乏,導致出錯率增加;(4)軟件開發(fā)工具自身的錯誤帶到了軟件中;(4)程序設計人員的經(jīng)驗不足引發(fā)錯誤;(6)項目工期緊張,導致出錯率增加。

        軟件開發(fā)完畢后應與系統(tǒng)其他合集在一起,此時須要進行一系列系統(tǒng)集成和確認測試。對這些測試的詳細討論已超出軟件工程的范圍,這些測試也不可能僅由軟件開發(fā)人員完成。在軟件測試之前,軟件工程師應完成以下工作:(1)為測試軟件系統(tǒng)的輸入信息設計出錯誤處理通路;(2)設計測試用例,模擬錯誤數(shù)據(jù)和軟件界面可能發(fā)生的錯誤,記錄測試結(jié)果,為系統(tǒng)測試提供經(jīng)驗和幫助;(3)參與軟件測試的規(guī)劃和設計,保證軟件測試的合理性。

        二、軟件測試的目標

        測試的目標是什么?G. Myers給出了關于測試的一些規(guī)則,這些規(guī)則可以看做是測試的目標和意義。(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;(2)好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤和測試。

        從上述規(guī)則可以看出,測試的正確定義是“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”、“成功的測試是沒有發(fā)現(xiàn)錯誤的測試”等等是完全相反的。正確認識測試目標是十分重要的,測試目標決定了測試方案的設計。如果為了表明程序的正確而進行測試,就會設計一些不易暴露錯誤的測試方案。由于測試的目標是暴露程序中的錯誤,從心理學角度來看,由程序的編寫者自己測試是不恰當?shù)?。因此,在綜合測試階段通常由其他人員組成測試小組來完成測試工作。

        三、軟件測試準則

        怎樣才能達到軟件測試的目標呢?為了能設計出有效的測試方案,軟件工程師必須深入理解并正確運用指導軟件測試的基本準則。主要的測試準則包括:(1)所有發(fā)現(xiàn)測試都應能追溯到用戶需求。正如軟件測試的目標是發(fā)現(xiàn)錯誤。從用戶角度來看,最嚴重的錯誤是導致程序不能滿足用戶需求的那些錯誤。(2)應該遠在測試之前就制訂出測試計劃。實際上,一旦完成了需求模型就可以著手制訂測試計劃,在建立了模型之后就可以立即開始設計詳細的測試方案。因此,在編碼之前就可以對所測試的工作進行計劃和設計。(3)應該從“小規(guī)?!睖y試開始,并逐步進行“大規(guī)?!睖y試。通常,首先重點測試單個程序模塊,然后把測試重點轉(zhuǎn)向在集成的模塊中尋找錯誤,最后在整個系統(tǒng)中尋找錯誤。(4)窮舉測試是不可能的。所謂窮舉測試就是把程序所有可能的執(zhí)行路徑都檢查一遍的測試。即使是一個中等規(guī)模的程序,其執(zhí)行路徑的排列數(shù)也十分龐大,由于受時間、人力和資源的限制,在測試過程中不可能執(zhí)行每個可能的路徑。因此,測試只能證明程序中有錯誤,不能證明程序中沒有錯誤。但是,精心地測試方案,有可能充分覆蓋程序邏輯并使程序達到所要求的可靠性。(5)為了達到最佳的測試效果,應該由獨立的第三方從事測試工作。所謂“最佳效果”是指有最大可能性發(fā)現(xiàn)錯誤的測試。

        四、以白盒測試技術(shù)為例的測試步驟

        除非是測試一個小程序,否則一開始就把整個系統(tǒng)作為一個單獨的實體來測試是不現(xiàn)實的。測試過程也必須分步驟進行,后一個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由許多模塊組成。因此,本系統(tǒng)設計的測試過程有下述幾個步驟組成:模塊測試;子系統(tǒng)測試;系統(tǒng)測試;驗收測試;平行運行。測試任何產(chǎn)品都有兩種方法:如果已經(jīng)知道了產(chǎn)品應該具有的功能,可以通過測試檢驗是否每個功能都能正常使用;如果知道產(chǎn)品的內(nèi)部過程,可以通過測試來檢驗產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書正常進行。前一種稱為黑盒測試,后一種方法稱為白盒測試。本系統(tǒng)重點研究后種技術(shù)。

        白盒測試的前提是可以把程序看成裝在一個透明的白盒子里,測試者完全知道程序的結(jié)構(gòu)和處理算法。這種方法按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否能按照預定要求正確工作。白盒測試又稱結(jié)構(gòu)測試。下例說明本系統(tǒng)模塊所應用兩種常用白盒測試技術(shù)。

        (一)邏輯覆蓋測試技術(shù)

        有選擇地執(zhí)行程序中某些最有代表性的通路是對窮盡測試的唯一可行的替代辦法。所謂邏輯覆蓋是對一系列測試過程的總稱,這組測試過程逐漸進行越來越完整的通路測試。例如本系統(tǒng)中某模塊在測試中所應用的幾種覆蓋技術(shù)。

        1.語句覆蓋。為了暴露程序中的錯誤,至少每個語句執(zhí)行一次。語句覆蓋的含義是,選擇足夠多的測試數(shù)據(jù),使被測程序中每個語句至少執(zhí)行一次。如1圖所示的程序流程圖描繪了一個被測模塊的處理算法。為了使每個語句都執(zhí)行一次,程序的執(zhí)行路徑應該是sabced,為此只需要輸入下面的測試數(shù)據(jù)(實際上X可以是任意實數(shù))。

        本系統(tǒng)某模塊測試流程圖如圖1所示。

        A=2,B=0,X=4

        2.判定覆蓋。判定覆蓋又叫分支覆蓋,它的含義是,不僅每個語句必須至少執(zhí)行一次,而且每個判定的每種可能的結(jié)果都應該至少執(zhí)行一次,也就是每個判定的分支都至少執(zhí)行一次。對于模塊來說,能夠分別覆蓋路徑sacbd和sabd的兩組測試數(shù)據(jù),或者可以分別覆蓋路徑sacbd和sabed 的兩組測試數(shù)據(jù),都滿足判定覆蓋標準。例如,用下面兩組測試數(shù)據(jù)就可以做到判定覆蓋:

        A=3,B=0,X=3 (覆蓋sacbd)

        A=2,B=1,X=1 (覆蓋sabed)

        (二)控制結(jié)構(gòu)測試技術(shù)

        循環(huán)測試專注于測試循環(huán)結(jié)構(gòu)的有效性。在本系統(tǒng)的程序設計中應用了3種循環(huán),即簡單循環(huán)、串接循環(huán)、和嵌套循環(huán)。下面分別針對這3種循環(huán)的測試方法。

        1.簡單循環(huán)。應該使用下例測試集來測試簡單循環(huán),其中n是允許通過循環(huán)的最大次數(shù)。

        跳過循環(huán)。

        只通過循環(huán)1次。

        通過循環(huán)2次。

        通過循環(huán)m次,其中m

        通過循環(huán)n-1次。

        2.嵌套循環(huán)。如果把簡單循環(huán)的測試方法直接應用到嵌套循環(huán),可能的測試數(shù)就會隨嵌套層數(shù)的增加按幾何級數(shù)增長,這會導致不切實際的測試數(shù)目。B.Beizer提出了一種能減少測試數(shù)的方法:

        ●從最內(nèi)層循環(huán)開始測試,把所有其他循環(huán)都設置最小值。

        ●對最內(nèi)層循環(huán)使用簡單測試方法,而使外層循環(huán)的迭代參數(shù)(例如,循環(huán)計數(shù)器)取最小值,并為越界值或非法值增加一些額外的測試。

        ●由內(nèi)向外,對下一個循環(huán)進行測試,但保持所有其他外層循環(huán)為最小值,其他嵌套循環(huán)為“典型”值。

        ●繼續(xù)進行下去,直到測試完成所有循環(huán)。

        3.串接循環(huán)。如果串接循環(huán)的各個循環(huán)都彼此獨立,則可以使用前述的測試簡單循環(huán)的方法來測試串接循環(huán)。但是,如果兩個循環(huán)串接,而且第一個循環(huán)的循環(huán)計數(shù)器值是第二個循環(huán)的初始值,則這兩個循環(huán)并不是獨立的。當循環(huán)不成立時,建議使用測試嵌套循環(huán)的方法來測試串接循環(huán)。

        參考文獻:

        [1] 伍利.ATE軟件測試方法研究及實現(xiàn)[D].成都:電子科技大學,2004.

        [2] 張永梅,陳立潮,馬禮,郭韶升.軟件測試技術(shù)研究[J].測試技術(shù)學報,2002,(2).

        [3] 薛賽男,趙偉.軟件測試技術(shù)——計量測試技術(shù)的新領域[J].計量技術(shù),2003,(5).

        [4] 徐巍,譚德榮,文昌俊.測控系統(tǒng)軟件質(zhì)量模型及評價[J].計算機測量與控制,2005,(8).

        免费观看性欧美大片无片| 视频女同久久久一区二区| 日韩人妻另类中文字幕 | 国产av无码专区亚洲a∨毛片| 狠狠色丁香婷婷久久综合| 草逼视频污的网站免费| 亚洲夜夜性无码| 国产精品美女久久久久久久久| 另类亚洲欧美精品久久不卡| 亚洲一二三四五区中文字幕 | 亚洲精品色播一区二区| 国产毛片视频一区二区| 亚洲av福利无码无一区二区| 国产高清无码在线| 人妻色中文字幕免费视频| 中文字幕本久久精品一区| 女人被狂躁高潮啊的视频在线看| 亚洲av无码一区二区三区在线 | 国产精品毛片99久久久久| aa日韩免费精品视频一| 国自产拍偷拍精品啪啪一区二区| 国产青草视频在线观看| 国产短视频精品区第一页 | 4hu四虎永久免费地址ww416| 亚洲精品无码成人片久久不卡| 夜夜综合网| 一本大道加勒比东京热| 欧美精品无码一区二区三区| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲av无码xxx麻豆艾秋| 国产美女在线精品亚洲二区| 日本大片在线一区二区三区| 亚洲av综合色区无码一区| 久热综合在线亚洲精品| 69国产成人综合久久精| 久久综合精品国产丝袜长腿| 午夜精品久久久久久毛片| 国产成人拍精品免费视频| 亚洲av日韩av天堂久久不卡| 成人国成人国产suv| 精品视频一区二区三三区四区|