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

        ?

        軟件測試模型的探討

        2014-05-25 00:28:32孟慶鑫
        計算機與網(wǎng)絡(luò) 2014年5期
        關(guān)鍵詞:測試計劃測試人員軟件測試

        孟慶鑫 張 龍

        (中國電子科技集團公司電子科學研究院 北京 100041)

        軟件測試模型的探討

        孟慶鑫 張 龍

        (中國電子科技集團公司電子科學研究院 北京 100041)

        軟件測試是軟件工程的一個階段,也是保障軟件質(zhì)量必不可少的重要一環(huán)。軟件測試模型是軟件測試的工作框架,用于指導軟件測試過程。本文在深入研究各種綜合測試技術(shù)的基礎(chǔ)上,通過對比分析各種主流的測試模型,提出了一種新的軟件測試模型,包括靜態(tài)測試、動態(tài)測試,測試評估等活動,把這些活動嵌入到軟件開發(fā)的整個生命周期,能更好地規(guī)劃軟件開發(fā)和測試等一系列活動,提高了軟件生產(chǎn)效率及其質(zhì)量,該模型還適合于迭代開發(fā)。

        軟件測試模型 V模型 W模型 靜態(tài)測試 動態(tài)測試

        1 概述

        信息時代的飛速發(fā)展,使得軟件產(chǎn)品在社會生活的各個領(lǐng)域得到廣泛應(yīng)用,軟件產(chǎn)品本身越來越復(fù)雜。如何提高軟件質(zhì)量,提高軟件可靠性越來越受到研究機構(gòu)和企業(yè)的關(guān)注。長期的軟件生產(chǎn)實踐表明,軟件成功與否的關(guān)鍵技術(shù)在于軟件測試[1]。正如軟件開發(fā)有過程模型一樣,軟件測試也有測試模型。它描述了軟件測試過程所包含的主要活動,以及活動之間的相互關(guān)系,描述軟件測試的各項活動與軟件開發(fā)過程的其他活動之間的關(guān)系。軟件測試模型把軟件測試用例(TEST CASE)的設(shè)計方法集成到一系列已經(jīng)周密計劃過的步驟中去,從而有效地減少測試活動中不必要的資源消耗,使得測試活動更有效率。一個好的軟件測試模型,應(yīng)具有以下特征:

        (1)它將測試計劃、測試用例設(shè)計、測試執(zhí)行、還有測試結(jié)果收集與分析結(jié)合在一起。

        (2)不同的測試技術(shù),應(yīng)用于不同的時間點。

        (3)使軟件設(shè)計中的錯誤盡可能早地暴露出來。

        軟件開發(fā)的幾十年中,軟件專家總結(jié)出了很多開發(fā)模型。但在這些模型中,測試作為軟件開發(fā)的一個階段,被附加在開發(fā)模型后面,忽視了開發(fā)活動和測試活動是并行進行的,從而使得測試階段使用的資源和占用的時間都大大增加。近年來,人們逐步認識到軟件測試的重要性,提出了一些新的測試模型如V模型、W模型、X模型等等。本文分析研究了傳統(tǒng)的軟件測試模型,分析了其不足之處,并提出了一種的測試模型。

        2 現(xiàn)有測試模型分析

        2.1 V測試模型

        V測試模型結(jié)構(gòu)如圖1所示。

        圖1 V模型結(jié)構(gòu)圖

        V模型[2]是目前軟件測試模型中較廣泛使用的模型。如圖1所示,左邊下降的是開發(fā)過程各階段,與此對應(yīng)的是右邊測試過程的各個階段。測試先從單元測試開始,然后是集成測試、系統(tǒng)測試和驗收測試。例如:單元測試檢查代碼是否符合原先的詳細設(shè)計;系統(tǒng)測試檢查集成后的產(chǎn)品是否符合需求說明書的要求。V模型的優(yōu)點是非常明確的標明了測試過程中存在的不同階段,并且清楚地描述了這些測試階段和開發(fā)過程各階段的對應(yīng)關(guān)系。V模型的缺點也是顯而易見的:

        (1)測試活動在編碼完成之后才開始,會錯過早期發(fā)現(xiàn)需求分析和設(shè)計中隱含的錯誤的時機。最嚴重的錯誤是那些導致程序無法滿足需求的錯誤,而需求設(shè)計階段引入的錯誤往往占了軟件錯誤中的很大一部分。

        (2)開發(fā)人員編碼完成,就等著測試小組提交缺陷報告,然后修改程序。人力資源的利用率低,也不利于小組間的合作。

        (3)這個模型測試過程和開發(fā)過程在時間上被嚴格地劃分開,這樣不利于測試計劃、測試用例、出錯統(tǒng)計和最終分析報告等文檔的保存。

        (4)每個測試階段在充分完成后才能進入下個階段,并且一旦該階段完成,理論上是不允許再回來修改或執(zhí)行的。

        2.2 W測試模型

        W測試模型結(jié)構(gòu)如圖2所示。

        W模型是對V模型的改進,針對“測試是開發(fā)之后的一個階段”等問題,W模型強調(diào)需求、功能和設(shè)計同樣要測試,W模型由兩個V模型組成,分別代表測試與開發(fā)過程,圖中明確表示出了測試與開發(fā)的并行且相對獨立的關(guān)系。W模型在V模型的基礎(chǔ)上增加需求測試、規(guī)格測試和設(shè)計測試,目的是需求的完整性、一致性、準確性、可測試性等。W模型提倡軟件測試并不等于程序測試這個理念,不應(yīng)僅限于程序測試的范圍內(nèi),而應(yīng)貫穿于軟件定義與設(shè)計開發(fā)的整個過程。因此,需求分析、概要設(shè)計、詳細設(shè)計以及程序編碼等各階段所得到的文檔及程序都應(yīng)成為軟件測試的對象。

        圖2 W測試模型結(jié)構(gòu)圖

        W模型雖然強調(diào)了開發(fā)活動與測試活動之間的并行關(guān)系,但其實還可以通過發(fā)掘各個測試過程之間的并行性來進一步提高模型的效率;另外,W模型里雖然刻畫了各個測試階段與對應(yīng)的修改工作之間的微循環(huán)關(guān)系,但是該模型將循環(huán)的關(guān)系僅僅局限于單個測試階段之內(nèi)的做法容易對測試人員造成誤導。實際上,當在某個階段發(fā)現(xiàn)問題并修改之后,往往要回到最初,從單元測試著手進行回歸測試。最后,W模型中未能準確描述每個開發(fā)或測試階段應(yīng)交付的產(chǎn)品,測試對象不明確,未能包含過程控制以及階段開始和結(jié)束的判定。

        2.3 X模型

        X模型的左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終成為可執(zhí)行的程序,然后再對這些可執(zhí)行程序進行測試。己通過集成測試的成品可以進行封裝并提交給用戶,也可以作為更大規(guī)模和范圍內(nèi)集成的一部分。多根并行的曲線表示變更可以在各個部分發(fā)生。由圖3中可見,X模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,這一方式往往能幫助有經(jīng)驗的測試人員在測試計劃之外發(fā)現(xiàn)更多的軟件錯誤。但這樣可能對測試造成人力、物力和財力的浪費,對測試員的熟練程度要求比較高。

        圖3 X測試模型結(jié)構(gòu)圖

        2.4 各模型的特點

        V模型,非常明確地標注了測試過程中存在的不同類型的測試。

        W模型,非常明確地標注了生產(chǎn)周期中開發(fā)與測試之間的對應(yīng)關(guān)系。

        X模型,這個模型指出整個測試過程是在探索中進行的。

        3 一種改進的測試模型

        改進的測試模型結(jié)構(gòu)如圖4所示。

        圖4 改進型測試模型結(jié)構(gòu)圖

        3.1 模型包含的測試活動

        該模型包含5個重要的測試活動:測試計劃、測試設(shè)計與修改、靜態(tài)測試、動態(tài)測試、測試評估[2]。

        (1)測試計劃:測試計劃包含驗收測試計劃、系統(tǒng)測試計劃、集成測試計劃、單元測試計劃。專業(yè)的測試必須以一個好的測試計劃作為基礎(chǔ),測試計劃應(yīng)該作為測試的起始步驟和重要環(huán)節(jié)。測試計劃的目標是描述所有要完成的測試,包括完成所需的資源和進度。測試計劃應(yīng)給出被測試軟件的背景信息、測試的目標和風險,以及所要執(zhí)行的特定測試。測得太多不行,浪費人力財力;測得太少也不行,軟件的質(zhì)量得不到保證。有效的測試方法就是明確和評價計算機系統(tǒng)的各種風險,能把這些風險縮小到測試范圍內(nèi)是很重要的。要確定能接受多少風險,然后制定測試計劃實現(xiàn)這個目標。所以有經(jīng)驗的測試人員會基于風險找到一個平衡點,逐步完成測試計劃[4]。

        (2)測試設(shè)計:測試設(shè)計包含驗收測試設(shè)計、系統(tǒng)測試設(shè)計、集成測試設(shè)計、單元測試設(shè)計。測試設(shè)計環(huán)節(jié)則是在“測試計劃”環(huán)節(jié)的基礎(chǔ)上進一步細化和分析,從而制定出針對于該項目及每個測試活動的測試策略、測試方案、測試用例設(shè)計,測試腳本開發(fā),測試數(shù)據(jù)準備等過程。

        (3)靜態(tài)測試:靜態(tài)測試包括可行性報告靜態(tài)測試、需求分析說明書靜態(tài)測試、概要設(shè)計說明書、詳細設(shè)計說明書靜態(tài)測試、代碼靜態(tài)測試。靜態(tài)測試的基本特征是在對軟件進行分析、檢查和測試時不實際運行被測試的程序。靜態(tài)測試主要用于對各種軟件文檔進行測試,是軟件開發(fā)中行之有效的質(zhì)量控制方法之一。在軟件開發(fā)的早期階段,由于可運行的代碼尚未產(chǎn)生,不可能進行動態(tài)測試,而這些階段的中間產(chǎn)品卻直接關(guān)系到軟件開發(fā)的成敗與開銷的大小,因此,在這些階段靜態(tài)測試就尤為重要。在軟件開發(fā)多年的生產(chǎn)實踐和教訓的基礎(chǔ)上,研究人員總結(jié)出了一些行之有效的靜態(tài)測試技術(shù)和方法,如正式檢查、結(jié)構(gòu)化走通等。每當一個文檔通過了靜態(tài)測試,就標志著一項開發(fā)工作的總結(jié),標志著項目取得了一定的進展,進入了一個新的階段。

        (4)動態(tài)測試:動態(tài)測試就是傳統(tǒng)的測試階段,最基本特征就是通過運行軟件來檢驗軟件的動態(tài)行為和運行結(jié)果的正確性。動態(tài)測試包括兩個最基本的要素:被測試程序和測試數(shù)據(jù)。這個階段包括:

        ①單元測試。單元測試是對軟件中的基本組成部分進行測試。如一個模塊,一個過程等等。它是軟件動態(tài)測試中的最基本組成部分,也是最重要的部分之一,其目的是檢驗軟件基本組成單位的正確性。一個軟件單元的正確性是相對于該單位的規(guī)約而言的。因此,單元測試以被測單元的規(guī)約為基準。

        于集成測試。集成測試是在軟件系統(tǒng)集成過程中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。它根據(jù)集成測試計劃,一邊將模塊或其他軟件單位組合成越來越大的系統(tǒng),一邊運行該系統(tǒng),以分析所組成的系統(tǒng)是否正確,各組成部分是否合拍。

        ③系統(tǒng)測試。系統(tǒng)測試是對已集成好的軟件系統(tǒng)進行徹底的測試,以驗證軟件系統(tǒng)的正確性和性能等指標是否滿足規(guī)約所指定的要求。系統(tǒng)測試應(yīng)該按照測試計劃進行,其輸入、輸出和其他動態(tài)運行行為應(yīng)該與軟件規(guī)約進行比較。

        ④驗收測試。驗收測試旨在向軟件的購買者展示該軟件系統(tǒng)是否滿足其用戶的需求。驗收測試的測試數(shù)據(jù)通常是系統(tǒng)測試的測試數(shù)據(jù)的子集。所不同的是,驗收測試常常有軟件的購買者代表在現(xiàn)場,甚至是在軟件安裝使用的現(xiàn)場。這是軟件在投入使用之前的最后測試。

        ⑤回歸測試?;貧w測試是在軟件維護階段,對軟件進行修改之后進行的測試。其目的是檢驗對軟件進行的修改是否正確。這里,修改的正確性有兩重含義:一是指所作的修改達到了預(yù)定的目的,如錯誤得到改正,能夠適應(yīng)新的運行環(huán)境等;二是指不影響軟件的其他功能的正確性?;貧w測試通常包括重新運行系統(tǒng)測試中的部分測試數(shù)據(jù)。因此,需要搞清哪些測試數(shù)據(jù)與被修改的代碼有關(guān)。在軟件開發(fā)過程中,保留測試數(shù)據(jù)與程序代碼之間的關(guān)系對回歸測試具有很大的幫助?;貧w測試還往往需要使用針對所修改的代碼的測試數(shù)據(jù)。這樣的測試數(shù)據(jù)可以根據(jù)單元測試、集成測試和系統(tǒng)測試的方法產(chǎn)生。

        (5)測試評估:測試評估就是總結(jié)項目的測試結(jié)果,以提高企業(yè)測試的過程,評價測試的有效性。使測試人員及時了解到測試狀態(tài),發(fā)現(xiàn)測試中的優(yōu)點與缺點,在下一個迭代過程或下一個項目中復(fù)用與改進。這個時候測試計劃、測試用例、出錯統(tǒng)計和最終分析報告這些文檔就有用處了??梢酝ㄟ^分析這些文檔,加以總結(jié),評價測試的有效性。

        3.2 模型特點

        (1)測試全面:軟件不但包含了程序源代碼和數(shù)據(jù)文件,還包含了所有在需求、分析設(shè)計等階段產(chǎn)生的文檔。因此測試對象應(yīng)該包含開發(fā)過程中的每一個交付。測試全面也指除了測試系統(tǒng)的功能外,也要測試系統(tǒng)的性能、可用性、兼容性、可維護性等非功能性進行測試。

        (2)測試與開發(fā)并行化:軟件測試與開發(fā)過程的其他階段不再是串行工作方式,而是與整個開發(fā)過程并行進行。在該模型中有三條主線,中間一條是開發(fā)主線,左邊一條是每個階段的測試計劃的編寫和進行測試設(shè)計,這時可以驗證軟件是否具有可測試性。右邊的主線強調(diào)要對每個階段產(chǎn)生的中間可交付結(jié)果進行的靜態(tài)測試,力爭將缺陷控制在軟件開發(fā)過程的每一個階段。

        (3)迭代測試:軟件開發(fā)過程中,需求分階段定義與實現(xiàn),相應(yīng)測試工作也按階段展開。在每一個階段里,起初定義的需求可能發(fā)生變更,或是提出新的需求,或是改變原有的需求,需求變更需要項目團隊重新進行需求分析,設(shè)計和實現(xiàn)代碼,開始新一輪的編碼-測試過程。對于測試工作而言,變更的需求需要測試人員重新審閱測試計劃,跟蹤并糾正以前提交的測試用例。腳本,修復(fù)錯誤,排除多余的成分,以增加新發(fā)現(xiàn)的功能等。在改進的測試模型中,這種開發(fā)和測試的迭代性得到了體現(xiàn)。

        (4)全過程測試:改進的測試模型中也體現(xiàn)了“全過程測試”的概念[5]。軟件開發(fā)與軟件測試緊密結(jié)合,軟件開發(fā)和測試過程會彼此影響,這就要求測試人員對開發(fā)和測試的全過程進行充分的關(guān)注。全過程測試包含兩層含義。第一,測試人員要充分關(guān)注開發(fā)過程,對開發(fā)過程的各種變化及時做出響應(yīng)。例如,當中間的開發(fā)過程改變,要對改變的內(nèi)容及時進行靜態(tài)測試,并根據(jù)相應(yīng)的改變,來調(diào)整測試計劃,修改測試用例的設(shè)計。第二,測試人員要對測試的全過程進行全程的跟蹤,在定測試計劃時建立測試過程度量標準,測試結(jié)束或是測試過程中,對測試進行評估,及時了解過程信息,調(diào)整測試策略。

        總結(jié)來說,改進的測試模型將軟件測試過程活動完全獨立,貫穿于整個產(chǎn)品的周期,與其他流程并發(fā)地進行,某個測試點準備就緒時,就可以從測試準備階段進行到測試執(zhí)行階段。軟件測試可以盡早地進行,并且可以根據(jù)被測物的不同而分層次進行。

        這個示意圖5演示了在整個生產(chǎn)周期中某個層次上的一次測試“微循環(huán)”。圖中標注的其它流程可以是任意的開發(fā)流程,例如設(shè)計流程或者編碼流程。也就是說,只要測試條件成熟了,測試準備活動完成了,測試執(zhí)行活動就可以進行了。

        圖5 改進型測試模型測試流程示意圖

        改進的測試模型揭示了一個原理:軟件測試是一個獨立的流程,貫穿產(chǎn)品整個生命周期,與其他流程并發(fā)地進行。改進的測試模型指出軟件測試要盡早準備,盡早執(zhí)行。不同的測試活動可以是按照某個次序先后進行的,但也可能是反復(fù)的,只要某個測試達到準備就緒點,測試執(zhí)行活動就可以開展。

        4 結(jié)束語

        本文指出了傳統(tǒng)測試模型的不足之處,并提出了相應(yīng)的修正措施,提出了一種改進的軟件測試模型。該模型在理論上具有比傳統(tǒng)測試模型優(yōu)秀的地方。進一步的工作就是把該模型的思想用于實際的項目中檢驗,并進行分析,以從實踐上論證該模型的可行性和優(yōu)越性,具有一定的參考價值。

        [1]鄭人杰,殷人昆,陶永雷.實用軟件工程[M].北京:清華大學出版社,1997.

        [2]William E Lewis.Software Testing and Conlinuous Qualify imyrovement[M].Florida CRC Press,2000:41-45.

        [3]張永梅,陳立潮,馬禮等.軟件測試技術(shù)研究[J].測試技術(shù)學報,2002,16(2);184-151

        [4]李煒,陳瑛.一種有效的軟件測試模型[J].計算機工程與應(yīng)用,2004,41(10):114-117.

        [5]方菲,孫家肅.面向?qū)ο蠡貧w測試技術(shù)研究[J].軟件學報,2001,12(3):372-376.

        Discussion of Software Testing Model

        MENG Qing-xin,ZHANG Long
        (China Academy of Electronics and Information Technology,Beijing 100041,China)

        Software testing is one phase of software engineering,software quality is essential to protect an important part。Software testing model is the work of software testing framework to guide the software testing process。In this paper,in-depth study of the various integrated testing technology on the basis of comparative analysis of the mainstream through the test model,a new model of software testing,Including static testing,dynamic testing,testing and evaluation,and other activities,these activities embedded in the entire software development life cycle,better planning software development and testing of a series of activities to enhance the efficiency and quality of software production,the model is also suitable for Iterative development。

        software testing model;V model;W model;static test;dynamic testing

        TP391.9

        A

        1008-1739(2014)05-66-4

        定稿日期:2014-01-12

        猜你喜歡
        測試計劃測試人員軟件測試
        移動應(yīng)用眾包測試人員信譽度復(fù)合計算模型研究
        軟件導刊(2022年9期)2022-09-22 05:59:54
        基于改進V模型的軟件測試過程研究
        基于OBE的軟件測試課程教學改革探索
        計算機教育(2020年5期)2020-07-24 08:53:20
        嵌入式軟件單元測試方法研究
        軟件工程(2019年8期)2019-09-04 10:00:46
        EXCEL和VBA實現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        高校分析測試中心測試隊伍建設(shè)方案初探
        山東化工(2018年20期)2018-04-02 16:30:53
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        淺析軟件測試中的心理學應(yīng)用
        軟件測試工程化模型及應(yīng)用研究
        犯罪心理測試人員素質(zhì)要求分析
        久久久精品网站免费观看| 老熟女熟妇嗷嗷叫91| 国产亚洲精品日韩综合网| 久久久久久久久国内精品影视| 丰满少妇人妻无码超清| 久久婷婷夜色精品国产| 一区二区三区亚洲免费| 人成在线免费视频网站| 一区二区三区视频免费观看在线| 在线看亚洲一区二区三区| 亚洲av无码国产精品久久| 麻豆精品久久久久久中文字幕无码| 夜夜躁日日躁狠狠久久av| 国语对白做受xxxxx在| 97夜夜澡人人爽人人喊中国片| 1000部精品久久久久久久久| 亚洲男人的天堂精品一区二区| 亚洲AV无码久久久久调教| 一区二区黄色素人黄色| 在线成人影院国产av| 一本色道久久hezyo无码| 国产精品久久一区二区三区| 最新国产成人在线网站| 黄网站a毛片免费观看久久| 免费在线亚洲视频观看| 亚洲精品国产第一区二区| 娜娜麻豆国产电影| 亚洲一区二区三区成人网站| 久久99国产精品尤物| 18禁国产美女白浆在线| 亚洲综合伊人久久综合| 精品粉嫩av一区二区三区| 成人免费无码大片a毛片软件| 日本夜爽爽一区二区三区| 黑丝美女被内射在线观看 | 男女啪啪动态视频在线观看| 日本天堂免费观看| 亚洲精品无码av中文字幕| 三上悠亚免费一区二区在线| 精品三级久久久久久久| 国产av大片久久中文字幕|