日韩有码亚洲专区|国产探花在线播放|亚洲色图双飞成人|不卡 二区 视频|东京热av网一区|玖玖视频在线播放|AV人人爽人人片|安全无毒成人网站|久久高清免费视频|人人人人人超碰在线

首頁 > 文章中心 > 軟件測試

軟件測試

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件測試范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

軟件測試范文第1篇

乙方(供測方):_________

甲乙雙方經(jīng)過平等協(xié)商,在誠信友好,充分地表達(dá)各自意愿的基礎(chǔ)上,根據(jù)《中華人民共和國合同法》的規(guī)定,達(dá)成如下協(xié)議,雙方共同遵守。

第一條 合同性質(zhì)

本合同屬于軟件測試合同。

第二條 合同內(nèi)容

乙方為甲方提供《_________軟件》的測試。

以下的測試款項(xiàng),甲方在購買正式的軟件時,可作為正式購買軟件預(yù)付款的一部分抵扣,同時,測試期結(jié)束,此合同失效。

第三條 測試方式,費(fèi)用及支付方式

測試方式為:賬號的測試;_________提供測試服務(wù)器測試;客戶出服務(wù)器,_________提供測試軟件。

支付方式:a.賬號的測試:合同簽訂后,乙方提供2個帶有_________的賬號(每個賬號有30分鐘的話費(fèi))話機(jī)或網(wǎng)關(guān),提交甲方測試,測試的費(fèi)用只收硬件的押金即可。測試結(jié)束,乙方按硬件的借側(cè)合同執(zhí)行。b._________提供測試服務(wù)器測試:由乙方提供整套的已裝有_________軟件帶有公網(wǎng)ip地址的服務(wù)器,其管理權(quán)由甲方控制,測試期為一個月,測試費(fèi)用:_________元,合同簽訂后一次付清,即可將服務(wù)器的地址與密碼交予甲方。測試結(jié)束后全部收回。c.客戶出服務(wù)器,_________提供測試軟件:客戶按照乙方的要求將服務(wù)器,中繼網(wǎng)關(guān)配好后,提交乙方安裝_________軟件,具體的條款見本合同的第四、五、六、七條。測試期為_________個月,費(fèi)用為_________元人民幣,合同簽訂后一次性付清。

第四條 合同執(zhí)行期限

交貨:甲方將所需要的全部硬件設(shè)備配好后(硬件設(shè)備配置必須符合乙方系統(tǒng)的要求);乙方應(yīng)于甲方通知乙方安裝系統(tǒng)之日起_________個工作日內(nèi)完成軟件系統(tǒng)的安裝和調(diào)試。

第五條 驗(yàn)收標(biāo)準(zhǔn)及時間

乙方安裝和調(diào)試竣工資料(包括用戶手冊和/或維護(hù)手冊等)。

甲方接到乙方驗(yàn)收通知后在現(xiàn)場安排驗(yàn)收,驗(yàn)收合格后,甲方以書面方式簽收。

第六條 系統(tǒng)培訓(xùn)

甲方參加系統(tǒng)培訓(xùn)的人員的基本的要求:熟悉并具有電信操作及運(yùn)營經(jīng)驗(yàn),熟悉英特網(wǎng)及寬帶網(wǎng)的協(xié)議及設(shè)計(jì),能熟練操作msie6.0linux9.0cis,熟悉計(jì)算機(jī)及服務(wù)器系統(tǒng)的維護(hù)及簡單維修。

第七條 軟件服務(wù)內(nèi)容

7.1 在_________網(wǎng)關(guān)及_________接通并通過_________驗(yàn)收后,_________在_________個工作日內(nèi)完成遠(yuǎn)程_________網(wǎng)關(guān)軟件安裝及調(diào)試工作。

7.2 在服務(wù)器及完整的linux9.0操作系統(tǒng)安裝完畢并通過_________驗(yàn)收后,_________在_________個工作日內(nèi)完成遠(yuǎn)程軟件安裝及調(diào)試工作。

7.3 在以上兩項(xiàng)工作完成之后,_________科技在5個工作日內(nèi)完成遠(yuǎn)程綜合調(diào)試工作并提交綜合測試報(bào)告。

7.4 售后服務(wù)條例:對于使用_________系統(tǒng)服務(wù)平臺的運(yùn)營商,乙方提供許可軟件的售后服務(wù)支持

7.5 售后服務(wù)指標(biāo)體系:乙方在接到甲方反映的技術(shù)問題30分鐘內(nèi)電話聯(lián)系一級技術(shù)支持并開始工作。經(jīng)常性問題在60分鐘內(nèi)解決,為解決的問題提供120分鐘進(jìn)展報(bào)告。有難度問題(在24小時內(nèi)不能解決的問題),提供每12小時進(jìn)展報(bào)告。

7.6 系統(tǒng)的安裝,調(diào)試及維護(hù)原則上由乙方負(fù)責(zé)。

7.7 乙方提供的技術(shù)支持為_________。

第八條 不可抗力

甲乙雙方的任何一方由于不可抗力的原因不能履行合同時,應(yīng)及時向?qū)Ψ酵▓?bào)不能履行或不能完全履行的理由,在取得有關(guān)主管機(jī)關(guān)證明以后,允許延期履行,部分履行或者不履行合同,并根據(jù)情況可部分或全部免予承擔(dān)違約責(zé)任。

第九條 爭議解決方式

在合同履行過程中發(fā)生爭議,雙方應(yīng)當(dāng)協(xié)商解決。協(xié)商解決不成,雙方商定,采用向合同簽訂地仲裁委員會仲裁。

第十條 合同生效

本合同正本一式二份,甲乙雙方各執(zhí)一份,經(jīng)雙方簽字蓋章后生效。

甲方(蓋章):_________乙方(蓋章):_________

授權(quán)代表(簽字):_________授權(quán)代表(簽字):_________

軟件測試范文第2篇

關(guān)鍵詞:軟件測試;方法;技術(shù)

白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。它是按照程序內(nèi)部的邏輯結(jié)構(gòu)測試程序,主要關(guān)注代碼是否能夠正確執(zhí)行。通過白盒測試可以檢測出產(chǎn)品內(nèi)部動作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常工作,并檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。白盒測試是把測試對象看作一個透明的盒子,軟件測試人員能夠依據(jù)程序內(nèi)部邏輯結(jié)構(gòu)等相關(guān)信息,設(shè)計(jì)或選擇測試用例,對程序進(jìn)行測試。通過在不同的節(jié)點(diǎn)檢查程序的狀態(tài),以保證實(shí)際的狀態(tài)和預(yù)期的狀態(tài)一致。

3.灰盒測試

灰盒測試,是介于白盒測試與黑盒測試之間的??梢赃@樣理解,灰盒測試關(guān)注輸出對于輸入的正確性,同時也關(guān)注內(nèi)部表現(xiàn),但這種關(guān)注不像白那樣詳細(xì)、完整,只是通過一些表征性的現(xiàn)象、事件、標(biāo)志來判斷內(nèi)部的運(yùn)行狀態(tài),有時候輸出是正確的,但內(nèi)部其實(shí)已經(jīng)錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。

二、 軟件測試技術(shù)的策略

軟件測試并不單是軟件開發(fā)完成后的一個獨(dú)立的過程,而是貫穿于整個軟件開發(fā)的過程,根據(jù)軟件開發(fā)的周期不同,可以將軟件測試分為:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試和驗(yàn)收測試。

1.單元測試(Unit Testing)

單元測試是在軟件開發(fā)過程中能夠進(jìn)行的最基礎(chǔ)的測試活動,在單元測試活動中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測試。單元測試不僅僅是作為無錯編碼一種輔助手段在一次性的開發(fā)過程中使用,單元測試必須是可重復(fù)的,無論是在軟件修改,或是移植到新的運(yùn)行環(huán)境的過程中。因此,所有的測試都必須在整個軟件系統(tǒng)的生命周期中進(jìn)行維護(hù)。

2.集成測試(Integrated Testing)

集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。因此,單元測試后,有必要進(jìn)行集成測試,發(fā)現(xiàn)并排除在模塊連接中可能發(fā)生的問題,最終構(gòu)成要求的軟件子系統(tǒng)或系統(tǒng)。對子系統(tǒng),集成測試也叫部件測試。

3.確認(rèn)測試(Validation Testing)

確認(rèn)測試又稱有效性測試。有效性測試是在模擬的環(huán)境下,運(yùn)用黑盒測試的方法,驗(yàn)證被測軟件是否能夠按照需求規(guī)格說明書中所要求的工作。任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經(jīng)明確規(guī)定,它包含的信息就是軟件確認(rèn)測試的基礎(chǔ)。確認(rèn)測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。

4.系統(tǒng)測試(System Testing)

系統(tǒng)測試的任務(wù)是盡可能徹底地檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗(yàn)系統(tǒng)“做得怎樣”。這階段又可分為三個步驟:模塊測試,測試每個模塊的程序是否有錯誤;組裝測試,測試模塊之間的接口是否正確;確認(rèn)測試,測試整個軟件系統(tǒng)是否滿足用戶功能和性能的要求。該階段結(jié)束應(yīng)交付測試報(bào)告,說明測試數(shù)據(jù)的選擇,測試用例以及測試結(jié)果是否符合預(yù)期結(jié)果。

三、軟件測試未來發(fā)展方向

目前,軟件測試存在4個發(fā)展方向。

1.驗(yàn)證技術(shù)

驗(yàn)證的目的在于證明在軟件生命期各個階段,以及階段間的邏輯協(xié)調(diào)性和正確性。驗(yàn)證技術(shù)目前僅適用于特殊用途的小程序。

2.靜態(tài)測試

正逐步地從代碼的靜態(tài)測試往高層開發(fā)產(chǎn)品的靜態(tài)測試發(fā)展。

3.測試用例的選擇

什么樣的測試用例是好的測試用例?可以從4個特性描述測試用例的質(zhì)量,即有效性、仿效性、經(jīng)濟(jì)性和修改性。

4.測試技術(shù)的自動化

這是一個最新的發(fā)展方向。自動測試也是一門技術(shù),但與測試技術(shù)存在很大的區(qū)別。

參考文獻(xiàn):

軟件測試范文第3篇

關(guān)鍵詞:軟件測試;集成測試;調(diào)用圖;MM-路徑

中圖分類號:TP317文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2012) 03-0000-02

Analysis of Integration Testing of Software Testing

Hou Yanfang,Chu Shulai

(Zhoukou Vocational and Technical College,Zhoukou466001,China)

Abstract:The integration testing plays a very important role in software testing,the concept of integration testing,integration testing strategy and the main types of integration testing (phase) briefly discusses the analysis of several key integration testing.

Keywords:Software testing;Integration testing;Call graph;MM-path

軟件測試作為軟件質(zhì)量保證的關(guān)鍵技術(shù)之一,其目的就是能夠有效地發(fā)現(xiàn)軟件中的錯誤或缺陷。集成測試是軟件測試中處于組件測試和系統(tǒng)測試之間一個非常重要的環(huán)節(jié),這是因?yàn)樗薪M件都經(jīng)過測試并能正常運(yùn)行并不意味著這些組件放到一起經(jīng)過集成后還能正常運(yùn)行,正是基于這一點(diǎn),很多大的軟件公司成立了專門關(guān)注集成測試的測試團(tuán)隊(duì),如能恰當(dāng)實(shí)施,集成測試能大大減少一些在系統(tǒng)測試階段才會發(fā)現(xiàn)的缺陷。

一、集成測試的概念

(一)集成測試的定義

集成測試是構(gòu)造軟件體系結(jié)構(gòu)的系統(tǒng)化技術(shù),同時也是進(jìn)行一些旨在發(fā)現(xiàn)與接口相關(guān)的錯誤的測試。其目標(biāo)是利用已通過單元測試的構(gòu)件建立設(shè)計(jì)中描述的程序結(jié)構(gòu)。

(二)集成測試遵循的原則

集成測試遵循的原則主要包括:所有公共接口都要被測試到;關(guān)鍵模塊必須進(jìn)行充分的測試;集成測試應(yīng)當(dāng)按一定的層次進(jìn)行;集成測試的策略選擇應(yīng)當(dāng)綜合考慮質(zhì)量、成本和進(jìn)度之間的關(guān)系;集成測試應(yīng)當(dāng)盡早開始,并已總體設(shè)計(jì)為基礎(chǔ);在模塊與接口的劃分上,測試人員應(yīng)當(dāng)和開發(fā)人員進(jìn)行充分的溝通;當(dāng)接口發(fā)生修改時,涉及的相關(guān)接口必須進(jìn)行再測試;測試執(zhí)行結(jié)果應(yīng)當(dāng)如實(shí)的記錄;集成測試應(yīng)根據(jù)集成測試計(jì)劃和方案進(jìn)行,不能隨意測試;項(xiàng)目管理者應(yīng)保證審核測試用例。

(三)集成測試的任務(wù)

集成測試的主要任務(wù)包括:將各模塊連接起來,檢查模塊相互調(diào)用時,數(shù)據(jù)經(jīng)過接口是否丟失;將各個子功能組合起來,檢查能否達(dá)到預(yù)期要求的各項(xiàng)功能;一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題,會不會被異常修改;單個模塊的誤差積累起來,是否被放大,從而達(dá)到不可接受的程度。

(四)集成測試的文檔

軟件集成的總體計(jì)劃和特定的測試描述應(yīng)該在測試規(guī)約中文檔化。這個文檔包含測試計(jì)劃和測試規(guī)程,它是軟件過程的工作產(chǎn)品,也是軟件配置的一部分。

下列準(zhǔn)則和相應(yīng)的測試可應(yīng)用于所有的測試階段:接口一致性。當(dāng)每個模塊(或簇)引入程序結(jié)構(gòu)中時,要對其內(nèi)部和外部接口進(jìn)行測試;功能有效性。執(zhí)行的測試旨在發(fā)現(xiàn)功能錯誤;信息內(nèi)容。執(zhí)行的測試旨在發(fā)現(xiàn)與局部或全局?jǐn)?shù)據(jù)結(jié)構(gòu)相關(guān)的錯誤;性能。執(zhí)行的測試旨在驗(yàn)證軟件設(shè)計(jì)期間建立的性能邊界。

測試計(jì)劃主要包括:集成測試的進(jìn)度,確定每個階段的開始和結(jié)束時間;附加軟件(樁模塊及驅(qū)動模塊)的簡要描述側(cè)重于專門進(jìn)行的工作的特征;描述測試環(huán)境和資源;特殊的硬件配置、特殊的仿真器和專門的測試工具或技術(shù)也是需要討論的問題;詳細(xì)測試規(guī)程。

測試規(guī)約:集成策略(包含在測試計(jì)劃中)和測試細(xì)節(jié)(在測試規(guī)程中描述)是最基本的成分,因此必須要有。

二、集成測試的策略

驅(qū)動模塊(Driver):用來模擬待測模塊的上級模塊。驅(qū)動模塊在集成測試中接受測試數(shù)據(jù),將相關(guān)的數(shù)據(jù)傳送給待測模塊,啟動待測模塊,并打印出相應(yīng)的結(jié)果。樁模塊(Stub):也稱為存根程序,用以模擬待測模塊工作過程中所調(diào)用的模塊。樁模塊由待測模塊調(diào)用,它們一般只進(jìn)行很少的數(shù)據(jù)處理,例如打印入口和返回,以便于檢驗(yàn)待測模塊與下級模塊的接口。

一般可分為非增量集成和增量式集成,其中增量集成指的是程序以小增量的方式逐步進(jìn)行構(gòu)造和測試,這樣錯誤易于分離和糾正,更易于對接口進(jìn)行徹底測試,而且可以運(yùn)用系統(tǒng)化的測試方法,傳統(tǒng)的將增量測試策略分為自頂向下集成、自底向上集成以及三明治集成。

三、集成測試的主要類型(階段)

(一)基于功能分解的集成

在討論集成測試時,測試方法都基于采用樹或文字形式來表示的功能分解。這類討論不可避免地要深入到將要集成的模塊的順序。

1.自頂向下集成(從樹頂開始向下)。深度優(yōu)先集成是首先集成結(jié)構(gòu)中主控路徑下的所有模塊。

2.自底向上集成(從樹底開始向上)。自底向上集成是自頂向下順序的“鏡像”,不同的是,樁由模擬功能分解樹上一層單元的驅(qū)動模塊替代。在自底向上集成中,首先從分解樹的葉子開始,并用特別編寫的驅(qū)動模塊進(jìn)行測試。驅(qū)動模塊中的一次性代碼比樁中的少。大多數(shù)系統(tǒng)在接近葉子節(jié)點(diǎn)時都有相當(dāng)高的扇出數(shù),因此在自底向上集成順序中,不需要同樣數(shù)量的驅(qū)動模塊,不過代價是驅(qū)動模塊都比較復(fù)雜。

3.三明治集成(前兩種方法的某種組合)。三明治集成測試是將自頂向下測試與自底向上測試兩種模式有機(jī)結(jié)合起來,采用并行的自頂向下、自底向上集成方式,形成的方法。三明治集成測試更重要的是采取持續(xù)集成的策略。樁和驅(qū)動的開發(fā)工作都比較小,不過代價是作為大爆炸集成的后果,在一定程度上增加了定位缺陷的難度。

(二)基于功能分解方法的優(yōu)缺點(diǎn)

1.自頂向下集成,其優(yōu)點(diǎn):在于它可以自然地做到逐步求精,一開始就能讓測試者看到系統(tǒng)的框架。缺點(diǎn):需要提供樁模塊,樁模塊是對被調(diào)用子模塊的模擬,可能不能反映真實(shí)情況,因此測試有可能不充分。

由于被調(diào)用模擬子模塊不能模擬數(shù)據(jù),如果模塊間的數(shù)據(jù)流不能構(gòu)成有向無環(huán)圖,一些模塊的測試數(shù)據(jù)便難以生成。同時,觀察和解釋測試輸出往往也是困難的。

2.自底向上集成,其優(yōu)點(diǎn):由于驅(qū)動模塊模擬了所有調(diào)用參數(shù),即便數(shù)據(jù)流并未構(gòu)成有向無環(huán)圖,生成測試數(shù)據(jù)也沒有困難。如果關(guān)鍵的模塊是在結(jié)構(gòu)圖的底部,那么自底向上測試是有優(yōu)越性的。缺點(diǎn):直到最后一個模塊被加入進(jìn)去之后才能看到整個程序(系統(tǒng))的框架。

3.三明治集成測試采用自頂向下、自底向上集成相結(jié)合的方式,并采取持續(xù)集成的策略,有助于盡早發(fā)現(xiàn)缺陷,也有利于提高工作效率。

4.功能分解缺點(diǎn)。為了滿足項(xiàng)目管理的需要,而不是為了滿足軟件開發(fā)人員的需要。樁或驅(qū)動的開發(fā)工作量,此外還有重新測試所需工作量的問題。對于自頂向下集成,需要開發(fā)(節(jié)點(diǎn)-1個)樁模塊;對于自底向上集成,需要開發(fā)(節(jié)點(diǎn)-葉子)個驅(qū)動模塊。

(三)基于調(diào)用圖的集成

基于調(diào)用圖的集成一般分為成對集成和相鄰集成?;谡{(diào)用圖方法的優(yōu)點(diǎn):偏離了純結(jié)構(gòu)基礎(chǔ),轉(zhuǎn)向行為基礎(chǔ),因此底層假設(shè)是一種改進(jìn);這些技術(shù)還免除了樁/驅(qū)動器開發(fā)工作量;與以構(gòu)建和合成為特征的開發(fā)匹配得很好。缺點(diǎn):缺陷隔離問題,尤其是對有大量鄰居的情況;清除缺陷后,意味著以前測試過的包含已變更代碼的鄰居,都需要重新進(jìn)行測試。

(四)基于路徑的集成

將集成測試的側(cè)重點(diǎn)由測試單獨(dú)開發(fā)并通過測試的單元之間的接口,轉(zhuǎn)移到這些單元的交互上,即它們的“協(xié)同功能”上。接口是結(jié)構(gòu)性的,而交互是功能性的。

MM-路徑是功能性測試和結(jié)構(gòu)性測試的一種混合,其優(yōu)點(diǎn):它與實(shí)際系統(tǒng)行為結(jié)合緊密,而不依賴于基于分解和調(diào)用圖集成的結(jié)構(gòu)性推動?;诼窂郊蓽y試也適用于面向?qū)ο蟮能浖y試。缺點(diǎn):需要更多的工作量標(biāo)識MM-路徑。這種工作量可能會與樁和驅(qū)動的開發(fā)所需工作量有偏差。

(五)面向?qū)ο蟓h(huán)境中的集成測試

兩種不同的策略:

1.基于線程的測試(thread-based testing)。

2.基于使用的測試(use-based testing)。

驅(qū)動程序和樁程序:驅(qū)動程序可用于測試低層中的操作和整組類的測試。驅(qū)動程序也可用于代替用戶界面以便在界面實(shí)現(xiàn)之前就可以進(jìn)行系統(tǒng)功能的測試。樁程序可用于在需要類間的協(xié)作但其中的一個或多個協(xié)作類仍未完全實(shí)現(xiàn)的情況下。

四、結(jié)語

集成測試既是一種測試類型也是一個測試階段,因?yàn)榧啥x為一組交互,因此組件之間的所有已定義的交互都需要測試,體系結(jié)構(gòu)和設(shè)計(jì)可以提供系統(tǒng)內(nèi)部的交互細(xì)節(jié),但是測試一個系統(tǒng)與另一個系統(tǒng)之間的交互要求對這些系統(tǒng)一起工作的方式有深刻理解,此時的集成測試是一個階段。由于集成測試的目標(biāo)是模塊之間的交互,這種測試就像白盒、黑盒及其它類型的測試一樣,也有一套技術(shù)和方法,因此集成測試也被看作是一種測試類型。

參考文獻(xiàn):

[1]周燕,宋敬華.面向?qū)ο蟮募蓽y試順序的研究[J].計(jì)算機(jī)測量與控制,2010,9

[2]張?jiān)茘?劉春茂.軟件測試技術(shù)淺析[J].技術(shù)與市場,2011,2

[3]朱家云.淺析軟件測試[J].信息系統(tǒng)工程,2011,4

[4王麗達(dá).論軟件系統(tǒng)的測試[J].經(jīng)濟(jì)研究導(dǎo)刊,2011,14

[5]劉欣.軟件測試方法分析與實(shí)踐[D].北京郵電大學(xué),2009

[6]趙,孫寧.軟件測試技術(shù):基于案例的測試[M].北京:機(jī)械工業(yè)出版社,2011

軟件測試范文第4篇

1.1軟件測試的含義

軟件測試根據(jù)用戶的使用目的,將成功開發(fā)的軟件進(jìn)行相應(yīng)的糾錯動作,從而披露該軟件的各種問題及缺失因素,促進(jìn)研發(fā)人員進(jìn)行相應(yīng)的改進(jìn),從而達(dá)到完善軟件的目的。

1.2軟件測試的關(guān)鍵性階段

主要有以下兩個關(guān)鍵性的檢測階段。第一階段是軟件開發(fā)過程中各主要單元模塊完成后進(jìn)行測試。這一階段測試可以將缺陷控制在最小單元模塊內(nèi),給研發(fā)人員最快的測試反饋,促使其完善單元模塊的功能,達(dá)到用戶的使用要求;第二階段測試是軟件系統(tǒng)全部完成后,進(jìn)行全方位的綜合測試,查找系統(tǒng)在使用過程中可能存在的問題。此時,需要根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能進(jìn)行多種測試工具的應(yīng)用,以其找到系統(tǒng)不符合要求的功能或性能瑕疵。

1.3軟件工程中軟件測試的方法

對軟件工程進(jìn)行軟件測試時,不同軟件可以運(yùn)用不同的測試方法?,F(xiàn)階段,主要以軟件測試在測試過程中是否需要將程序進(jìn)行完全運(yùn)行來判斷測試方法,不需要系統(tǒng)程序運(yùn)行就能完成測試的方法稱為靜態(tài)方法;需要系統(tǒng)時時傳送相應(yīng)數(shù)據(jù),并通過相應(yīng)程序檢測系統(tǒng)是否達(dá)到用戶的期望值,是否存在運(yùn)行邏輯上的問題和算法上的缺陷等的測試方法稱為動態(tài)方法。目前,靜態(tài)測試方法應(yīng)用較廣的有靜態(tài)排演法、軟件檢查法和軟件審查法。隨著軟件測試方法的不斷創(chuàng)新和完善,新興的測試方法如靜態(tài)自動分析、分析模型等方法不斷得到應(yīng)用;動態(tài)測試方法隨著精細(xì)化測試進(jìn)程的深入逐漸細(xì)分為單元測試方法、集成測試方法、系統(tǒng)測試方法。這些測試方法相較于靜態(tài)測試方法,具有范圍廣、測試成功率高、內(nèi)容覆蓋面大、應(yīng)用程度高等特點(diǎn)。如白盒測試、代碼覆蓋測試等。

2軟件測試在軟件工程中的作用分析

2.1軟件工程項(xiàng)目需要軟件測試進(jìn)行全方位的輔助管理

所謂軟件工程項(xiàng)目就是將用戶的要求進(jìn)行立項(xiàng)管理,通過建立項(xiàng)目組、研究用戶的使用目標(biāo)來確立項(xiàng)目目標(biāo),對目標(biāo)現(xiàn)狀進(jìn)行系統(tǒng)研究與分析、總體目標(biāo)細(xì)分階段性目標(biāo)以及規(guī)劃項(xiàng)目總體方案等,將軟件開發(fā)過程建立在項(xiàng)目管理過程中。在這一過程中,各階段性成果都需要軟件測試來校驗(yàn)其可行性,從而輔助軟件工程項(xiàng)目步入更完善的項(xiàng)目管理中。首先,軟件工程項(xiàng)目需要精細(xì)化項(xiàng)目管理和集中項(xiàng)目管理兩者協(xié)調(diào)統(tǒng)一。因此,需要設(shè)立軟件測試機(jī)構(gòu),能夠?qū)?xiàng)目細(xì)分的各階段、各模塊進(jìn)行軟件測試。其次,項(xiàng)目組人員組成和責(zé)任落實(shí)要依照規(guī)章制度實(shí)施。要體現(xiàn)軟件測試的重要性和實(shí)際意義,測試機(jī)構(gòu)負(fù)責(zé)人為項(xiàng)目組組長的最佳人選。其組員為各項(xiàng)目負(fù)責(zé)人和其他測試人員組成。軟件測試結(jié)果必須立即反饋到軟件研發(fā)人員、程序員及系統(tǒng)分析人員等相關(guān)人員手中,以期促進(jìn)其團(tuán)結(jié)協(xié)作,將軟件各部分呈現(xiàn)出的問題解決。最終滿足用戶的使用要求,實(shí)現(xiàn)軟件設(shè)計(jì)的目標(biāo)??梢?軟件測試的輔助作用,對于軟件工程項(xiàng)目的精細(xì)化管理、軟件相關(guān)技術(shù)的綜合管理等至關(guān)重要。

2.2軟件工程項(xiàng)目實(shí)施反促軟件測試發(fā)展

研發(fā)一個新的軟件系統(tǒng)時,其核心內(nèi)容包括目標(biāo)確定、框架設(shè)計(jì)、分支設(shè)計(jì)和編碼應(yīng)用等,這些核心內(nèi)容均需要軟件測試來實(shí)現(xiàn)其統(tǒng)一性和兼容性。系統(tǒng)目標(biāo)是軟件測試的最終目的,軟件測試需要圍繞系統(tǒng)目標(biāo)進(jìn)行缺陷的發(fā)現(xiàn)和反饋,從而實(shí)現(xiàn)各階段測試的統(tǒng)一性和完整性,從而促進(jìn)系統(tǒng)的協(xié)調(diào)和完善。經(jīng)過軟件測試的系統(tǒng),必須保證達(dá)到項(xiàng)目目標(biāo),且在長時間運(yùn)行下無重大bug。從這一過程來看,軟件測試是在軟件工程項(xiàng)目實(shí)施中得以發(fā)展的。軟件測試機(jī)構(gòu)并不是真正意義上的獨(dú)立,其“獨(dú)立”僅是功能上的獨(dú)立。實(shí)際上,在進(jìn)行軟件工程項(xiàng)目實(shí)施的整個過程中,無論是整體設(shè)計(jì)還是精細(xì)化管理,都需要軟件測試參與其中,以測試角度對軟件工程項(xiàng)目的設(shè)計(jì)和實(shí)施進(jìn)行指導(dǎo)和輔助,從而糾正一些設(shè)計(jì)上的錯誤和細(xì)節(jié)上的缺陷。這種參與的直接性促進(jìn)軟件測試必須緊跟項(xiàng)目研發(fā)現(xiàn)狀,才能提出及時有效的參考意見,促進(jìn)項(xiàng)目順利開發(fā)。軟件編碼規(guī)范是軟件研發(fā)團(tuán)隊(duì)必須規(guī)范執(zhí)行的,而這種規(guī)范的編碼剛是軟件測試機(jī)構(gòu)的首要任務(wù),制定規(guī)范要嚴(yán)肅,執(zhí)行規(guī)范要嚴(yán)格,才能給用戶呈現(xiàn)出高質(zhì)量的軟件產(chǎn)品。

2.3軟件測試原則

軟件測試的原則是在其測試的基本目的和要求下產(chǎn)生的,因此,在進(jìn)行軟件測試時,必須注意其原則性。(1)堅(jiān)持用戶使用目的,堅(jiān)持項(xiàng)目總體目標(biāo)和階段性目標(biāo)的實(shí)現(xiàn)原則;(2)測試“精細(xì)化”即細(xì)分分支、單元模塊、階段性成果、系統(tǒng)全面測試等隨時進(jìn)行;(3)測試時間要越早越好,頻率越高越好;(4)測試中邏輯性檢測和算法檢測要注重;(5)測試要結(jié)合數(shù)據(jù)檢測進(jìn)行;(6)保證測試的嚴(yán)肅性;(7)測試堅(jiān)持第三方進(jìn)行原則;(8)不合理?xiàng)l件值都要進(jìn)行測試;(9)測試過程、方法、用便、結(jié)果、完善等都要記錄在案,便于故障定位和日常維護(hù)。

3自動化軟件測試技術(shù)分析

隨著智能化技術(shù)和自動化技術(shù)的不斷深入應(yīng)用,在軟件測試中,自動化軟件測試技術(shù)得到創(chuàng)新和發(fā)展,并在軟件開發(fā)中應(yīng)用得越來越廣泛。所以,人們將各種自動測試的效果進(jìn)行評估,將成功案例進(jìn)行相似引用,來判斷檢測的可行性。最初的自動化測試具有較嚴(yán)格的針對性,運(yùn)用特定的測試原則和測試方法,將統(tǒng)計(jì)指標(biāo)運(yùn)用其中,從而得到測試結(jié)果,并對其進(jìn)行全面評估,從而得出自動化測試的嚴(yán)密性。隨著自動化測試的不斷深入推進(jìn)和創(chuàng)新,其測試準(zhǔn)則和自動測試技術(shù)越來越成熟,逐漸過渡到自動測試模型化階段。逐漸形成自動測試的等級制度,使得自動軟件測試技術(shù)成為測試控制能力高低優(yōu)劣的一個重要判斷依據(jù)。

4結(jié)語

軟件測試范文第5篇

軟件工程目前一直缺少一個明確的定義,但是目前業(yè)內(nèi)專家都一致認(rèn)為軟件工程一般分為需求分析、設(shè)計(jì)、編碼及測試4個環(huán)節(jié)。其中前面3個環(huán)節(jié)是整個軟件的編寫,而最后1個環(huán)節(jié)的軟件測試,則是通過各種專業(yè)測試方法來測試軟件是否滿足軟件工程下的10種特性:可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性。

2當(dāng)前軟件測試的現(xiàn)狀

從對軟件工程的分析來看,軟件測試是保證軟件最終健壯性的最后一個工序。但是,當(dāng)前很多軟件設(shè)計(jì)公司,在軟件測試方面投入的人力物力都非常低,甚至沒有專門的軟件測試部門,而是由一些軟件設(shè)計(jì)人員兼職。雖然這樣也有了所謂的軟件測試這道工序,顯然因?yàn)檐浖O(shè)計(jì)人員本身的先入為主,所以在軟件測試的過程中,往往不容易發(fā)現(xiàn)潛在的問題。另外有的軟件測試人員僅僅把軟件推到市場上,部分使用人員來進(jìn)行測試,雖然這也是一種測試方法,但是這種由用戶測試的軟件測試環(huán)節(jié),更多的是在軟件的操作體驗(yàn)的測試,并不能夠發(fā)現(xiàn)軟件潛在的bug,正確的軟件測試流程,應(yīng)該設(shè)計(jì)專業(yè)的測試軟件,通過白盒測試的方法來針對軟件代碼進(jìn)行測試。而上述的僅僅測試界面和操作,那只是軟件測試中的黑盒測試法,只有綜合白盒和黑盒,才可能獲得更好的軟件測試效果。但是,目前能夠綜合這2種測試方法的專業(yè)軟件測試部門,還是非常稀缺的。這自然導(dǎo)致了國內(nèi)整個軟件行業(yè)的軟件健壯性存在缺陷的主要原因之一。

3軟件測試重要性分析

3.1軟件危機(jī)下凸顯軟件測試的重要性

軟件危機(jī)一直是IT行業(yè)的最重要的話題,其實(shí)在軟件危機(jī)這個名詞出來之前,軟件工程就已經(jīng)初步有了核心流程,不過正是因?yàn)楹芏鄬<矣兄约旱睦碚?,所以讓軟件工程這門技術(shù)的解釋出現(xiàn)了很多不同的版本,不過在眾多版本中,軟件測試始終占據(jù)一個重要的模塊。軟件危機(jī)常見的表現(xiàn)就是因?yàn)檐浖陂_發(fā)的過程中,成本失控、時間跳水、穩(wěn)定性和兼容性欠缺等諸多問題,而不得不一而再再而三的重新開發(fā),特別是軟件在設(shè)計(jì)的過程中,對于可維護(hù)性、可修復(fù)性不重視,導(dǎo)致維護(hù)的成本占據(jù)了整個軟件生存周期的90%以上,這很明顯是不正常的。通常而言,軟件維護(hù)的成本應(yīng)該是軟件生存周期的70%以下,超過70%,這個軟件最終的結(jié)局一定會失敗。軟件測試的過程,除了針對軟件的運(yùn)行是否穩(wěn)定,同樣也會對軟件的可維護(hù)性進(jìn)行有效的判斷,盡可能的避免軟件危機(jī)的產(chǎn)生,所以從軟件危機(jī)的角度上來看,軟件測試在軟件工程中的地位無疑是非常重要的。

3.2軟件測試的必要性

(1)是交流的問題,容易導(dǎo)致軟件接口處的錯誤?,F(xiàn)代軟件設(shè)計(jì)已經(jīng)不是單人作戰(zhàn)的模式,已經(jīng)上升到團(tuán)隊(duì)甚至全球軟件工程師通過互聯(lián)網(wǎng)這個大平臺進(jìn)行合作,這種方式顯然對軟件工程規(guī)范要求更高。其中交流往往就成了一個很重要的問題,很多軟件工程師在設(shè)計(jì)的過程中,盡可能的將自己負(fù)責(zé)的模塊做到完美,甚至也能夠考慮到模塊間的借口問題。但是因?yàn)榻涣魃系牟槐?,或者忽視交流,往往會產(chǎn)生2個模塊接口不兼容,甚至還會發(fā)生軟件需要重新改寫的問題。

(2)軟件結(jié)構(gòu)有越來越復(fù)雜的趨勢。雖然軟件開始實(shí)施模塊化設(shè)計(jì)方式,將一個軟件整體拆解成無數(shù)個小的系統(tǒng)模塊進(jìn)行設(shè)計(jì),然后將設(shè)計(jì)好的模塊進(jìn)行統(tǒng)一封裝。這種化整為零的軟件設(shè)計(jì)方式的確有效的改善了軟件復(fù)雜性的問題,但是同樣也面臨著模塊間的兼容問題,不同設(shè)計(jì)師的設(shè)計(jì)風(fēng)格可能會導(dǎo)致軟件可維護(hù)性降低及可移植性降低,特別是一些軟件開發(fā)公司,根本就沒有軟件工程的概念,其研發(fā)的軟件產(chǎn)品,更是漏洞百出,自然很難保證軟件產(chǎn)品的健壯性。

(3)程序代碼的設(shè)計(jì)問題。目前一個軟件的誕生,往往會有好幾千萬行的代碼,而且在軟件正式代碼編寫之前,還需要撰寫概要設(shè)計(jì)代碼和詳細(xì)設(shè)計(jì)代碼,這些往往都給錯誤埋下伏筆。如果程序設(shè)計(jì)代碼撰寫不規(guī)范,沒有相應(yīng)的注釋,沒有相應(yīng)的模塊設(shè)計(jì),往往計(jì)算式發(fā)現(xiàn)了軟件的錯誤,最終維護(hù)起來,也很難讓維護(hù)工程師定位,甚至連測試工程師也很難找到錯誤的地方。

(4)設(shè)計(jì)文檔的組成非常少。一個軟件產(chǎn)品的誕生,除了優(yōu)秀的代碼設(shè)計(jì)之外,還要一份完善的代碼文檔,包括軟件的可行性研究、需求分析、詳細(xì)設(shè)計(jì)、代碼編寫,以及軟件測試等工作流程中所需要的一切的代碼文檔。如果代碼文檔貧乏,甚至沒有,那么一旦在軟件測試環(huán)節(jié),或者在軟件使用環(huán)節(jié),出現(xiàn)錯誤時,那就很難進(jìn)行維護(hù)調(diào)試了。這時候的維護(hù)成本往往會比重新編寫一款軟件的成本還要低,可見設(shè)計(jì)文檔的錯誤撰寫給軟件健壯性的影響。

(5)一些軟件測試工具和開發(fā)工具本身的問題,往往導(dǎo)致軟件出現(xiàn)嚴(yán)重的bug。而且在設(shè)計(jì)階段,還很難發(fā)現(xiàn),因?yàn)槭潜旧碥浖y試工具和軟件開發(fā)工具引起的,因?yàn)檐浖y試工具和開發(fā)工具實(shí)際上也是一種軟件,如果這些軟件的健壯性有問題,自然也會導(dǎo)致測試結(jié)果出現(xiàn)偏差,最終影響到軟件的健壯性。

3.3軟件測試成本過半證明了軟件測試的重要性

軟件工程雖然在很多專家和權(quán)威機(jī)構(gòu)的定義有所偏差,但是無一例外,對于軟件成本構(gòu)成的分析上,軟件測試的成本一直占據(jù)了主要部分,最低的認(rèn)為,軟件測試成本要占據(jù)30%,最高的則認(rèn)為占據(jù)到50%。如果將后期維護(hù)成本也放在軟件測試板塊中,那么這個測試成本就會變得更高。因?yàn)檐浖M(jìn)入維護(hù)期時,一旦出現(xiàn)軟件需要進(jìn)行調(diào)試,那么修復(fù)后的軟件依然要進(jìn)行軟件測試,否則很難保證調(diào)試后軟件依然能夠保證健壯性。作為一個軟件系統(tǒng)的所有代碼,都是牽一發(fā)而動全身,修改了某處代碼,可能會影響到另外一個模塊的功能,所以在維護(hù)期內(nèi),對軟件的任何變動,都需要進(jìn)行軟件測試,才能夠保證軟件接下來的健壯性。但很明顯,如果將軟件測試工作放在軟件推出市場之前,就來進(jìn)行有效的測試,那么對于軟件整個生命周期的成本,將能夠得到有效的降低。軟件測試的成本的高低,往往和軟件的質(zhì)量成正比,而軟件質(zhì)量提升了,后期的維護(hù)成本就能夠有效的降低,所以綜合起來,軟件測試這部分的成本支出是非常有必要的。

4軟件測試流程分析

(1)建立獨(dú)立的軟件測試部門,測試部門領(lǐng)導(dǎo)應(yīng)該對這個專業(yè)非常精通,而不是簡單的由開發(fā)人員兼職,這個測試部門需要從可行性研究開始就應(yīng)該著手對軟件研發(fā)進(jìn)行測試,可行性研究的最終確認(rèn)應(yīng)該也有軟件測試主管部門的簽字確認(rèn)才能夠進(jìn)行下一步的工作。

(2)軟件測試工作不是等到軟件全部開發(fā)完畢才來進(jìn)行測試,而是跟隨軟件設(shè)計(jì)的整改生命周期,針對每一個環(huán)節(jié)進(jìn)行測試,軟件測試部門應(yīng)該擁有獨(dú)立的物理部門和獨(dú)立于開放環(huán)境的測試環(huán)境,這樣才能夠提供更加完善的軟件測試,盡可能的將軟件bug扼殺在搖籃里。

(3)軟件模塊測試,因?yàn)楝F(xiàn)在軟件設(shè)計(jì)都已經(jīng)進(jìn)入模塊化設(shè)計(jì)標(biāo)準(zhǔn),比如一個完整的軟件是S,它有A、B、C、D等模塊構(gòu)成,那么對于A模塊的軟件設(shè)計(jì)過程中,就應(yīng)該有獨(dú)立的軟件測試人員進(jìn)行跟蹤,直到A模塊被測試證明沒有隱患。以此類推,分別對B、C、D等模塊分別進(jìn)行測試,合格以后,組裝后的軟件依然進(jìn)行測試,這樣才能夠最終提升軟件健壯性。在軟件設(shè)計(jì)的過程中,其實(shí)測試人員是和軟件開發(fā)人員并行工作的,而不是等到軟件設(shè)計(jì)完畢之后,再來對模塊進(jìn)行測試,這種方法才能夠提升軟件測試的效果。

5結(jié)語