版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第十章軟件測試技術(shù)與工具常用的軟件測試方法黑盒測試:將被測系統(tǒng)看成一個黑盒,從外界取得輸入,然后再輸出。又叫功能測試或數(shù)據(jù)驅(qū)動測試。白盒測試:是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試?;陲L(fēng)險的測試:是指評估測試的優(yōu)先級,先做高優(yōu)先級的測試,如果時間或精力不夠,低優(yōu)先級的測試可以暫時先不做。基于模型的測試:是利用模型來生成相應(yīng)的測試用例,然后根據(jù)實際結(jié)果和原先預(yù)想的結(jié)果的差異來測試系統(tǒng)。常見的軟件測試類型BVT(BuildVerificationTest):是在所有開發(fā)工程師都已經(jīng)鍵入自己的代碼,項目組編譯生成當(dāng)天的版本之后進(jìn)行,主要目的是驗證最新生成的軟件版本在功能上是否完整,主要的軟件特性是否正確。ScenarioTests(基于用戶實際應(yīng)用場景的測試):模仿用戶這樣一個真實的使用環(huán)境,即用戶會有哪些用法,會用這個應(yīng)用程序做哪些事情,操作會是一個怎樣的流程。
SmokeTest:想知道修復(fù)是否真的解決了程序的Bug,或者是否會對其它模塊造成影響,進(jìn)行的專門測試。WEB性能測試:隨著需求量與應(yīng)用領(lǐng)域的不斷擴(kuò)大,對WEB應(yīng)用軟件的正確性、有效性和對WEB服務(wù)器等方面都提出了越來越高的性能要求,對WEB應(yīng)用程序進(jìn)行有效系統(tǒng)的測試變得十分重要。后面將對WEB應(yīng)用程序的測試進(jìn)行深入討論。WEB測試技術(shù)
WEB應(yīng)用程序體系結(jié)構(gòu)WEB應(yīng)用程序采用B/S結(jié)構(gòu),在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯則在服務(wù)器端實現(xiàn),形成所謂的三層結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實現(xiàn)原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。WEB測試的內(nèi)容與目的測試的目的是證偽,但不能片面的理解為簡單的找Bug就可以了。軟件測試應(yīng)該經(jīng)歷以下四個步驟:
1.測試人員描述發(fā)現(xiàn)的問題(找到Bug);
2.測試人員詳細(xì)說明是在何種情況下測試發(fā)現(xiàn)的問題,包括測試的環(huán)境、輸入的數(shù)據(jù)、發(fā)現(xiàn)問題的類型、問題的嚴(yán)重程度等情況;
3.測試人員協(xié)同開發(fā)人員一起去分析Bug的原因,找出軟件的缺陷所在;
4.測試人員根據(jù)解決的情況進(jìn)行分類匯總,以便日后進(jìn)行軟件設(shè)計的時候提供參考,避免以后出現(xiàn)類似軟件缺陷。WEB測試技術(shù)制定WEB測試計劃1.首先對被測的WEB應(yīng)用程序進(jìn)行需求分析。2.寫出測試策略和方法。3.確定測試環(huán)境的要求(包括軟件和硬件方面),選擇合適的測試工具。4.針對主要的測試行為描述測試的細(xì)節(jié)。測試的類型WEB測試的類型包括內(nèi)容測試、界面測試、功能測試、性能測試、兼容性測試、安全性測試等情況。WEB的功能測試與傳統(tǒng)的軟件測試區(qū)別不大,主要是在連接測試方面有區(qū)別。WEB應(yīng)用程序的測試包括客戶端連接服務(wù)器速度方面的測試和壓力測試這兩方面。WEB測試技術(shù)WEB應(yīng)用程序的步驟可以分為以下幾步:分析產(chǎn)品結(jié)構(gòu),明確性能測試的需求。分析應(yīng)用場景和用戶數(shù)據(jù),并完成初步的測試用例設(shè)計。依據(jù)性能測試需求和確定的測試點進(jìn)行測試組網(wǎng)設(shè)計,并明確不同組網(wǎng)方案的重
要程度或優(yōu)先級作為取舍評估的依據(jù)。完成性能測試用例設(shè)計、分類選擇和依據(jù)用戶行為分析設(shè)計測試規(guī)程,并準(zhǔn)備好測試用例將用到的測試數(shù)據(jù)。確定采用的測試工具。迭代進(jìn)行全面的性能測試。進(jìn)行初驗測試。完成性能測試評估報告。進(jìn)行性能測試時候的有效性能指標(biāo):通用指標(biāo);Web服務(wù)器指標(biāo);數(shù)據(jù)庫服務(wù)器指標(biāo)。WEB測試技術(shù)測試工具介紹ACT(或者M(jìn)SACT)。ACT是微軟的VisualStudio和VisualStudio.NET帶的一套進(jìn)行程序測試的工具OpenSystemTestingArchitecture(OpenSTA)。OpenSTA是一個功能強(qiáng)大、自定義設(shè)置功能完備的軟件,其特點是可以模擬很多用戶來訪問需要測試的網(wǎng)站。PureLoad。PureLoad是基于Java的測試工具,它的Script代碼完全使用XML技術(shù)。QALoad。QALoad不僅僅可以測試WEB應(yīng)用程序,還可以測試一些服務(wù)器上的內(nèi)容。不但可以測試Windows操作系統(tǒng),而且可以測試AIX,HP-UX和Solaris等系統(tǒng)。LoadRunner。MercuryLoadRunner是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。軟件測試技術(shù)軟件測試技術(shù)大致分為:自動化測試,手工測試,探索性測試,單元測試,單元級別性能測試,數(shù)據(jù)庫性能測試,壓力測試,軟件的安全性測試,軟件安裝/卸載測試,環(huán)境測試。其中,手工測試與自動化測試可以認(rèn)為是測試互補(bǔ)方法。自動化測試自動化測試技術(shù)的含義非常廣泛,任何幫助流程的自動流轉(zhuǎn)、替換手工的動作、解決重復(fù)性問題以及大批量產(chǎn)生內(nèi)容,從而幫助測試人員進(jìn)行測試工作的相關(guān)技術(shù)或工具的使用都叫自動化測試技術(shù)。目的是幫助軟件系統(tǒng)測試,它可能部分地替代手工測試,但是不可能完全替代手工測試。優(yōu)點:對程序的回歸測試更方便;可以運行更多更繁瑣的測試;可以執(zhí)行一些手工測試?yán)щy或不可能進(jìn)行的測試;更好地利用資源;測試具有一致性和可重復(fù)性;測試的復(fù)用性;增加軟件信任度。缺點:不能取代手工測試;手工測試比自動測試發(fā)現(xiàn)的缺陷更多;對測試質(zhì)量的依賴性極大;測試自動化不能提高有效性;可能會制約軟件開發(fā);工具本身并無想象力。手工測試手工測試有其不可替代的地方,因為人具有很強(qiáng)的判斷能力,而工具沒有。不可替代的地方至少包括以下幾點:測試用例的設(shè)計:測試人員的經(jīng)驗和對錯誤的判斷能力是工具不可替代的。界面和用戶體驗測試:人類的審美觀和心理體驗是工具不可模擬的。正確性的檢查:人們對是非的判斷、邏輯推理能力是工具不具備的手工測試也存在這一些缺陷,手工測試者最常做的就是重復(fù)的手工回歸測試,不但代價昂貴,而且容易出錯。探索性測試探索性測試是:同時設(shè)計測試和執(zhí)行測試。是一種測試思維技術(shù)。缺乏可管理性和度量性。因此,JamesBach提出了基于任務(wù)的測試管理(Session-BasedTestManagement)。基于任務(wù)的測試管理是用于度量和管理探索性測試的一種方法??砂烟剿餍詼y試方式作為傳統(tǒng)測試方式的補(bǔ)充,在每一項測試后留下一定的時間給測試人員做探索性的測試,以彌補(bǔ)相對刻板的傳統(tǒng)測試方式的不足。單元測試單元測試是針對軟件設(shè)計中的最小單位(程序模塊),進(jìn)行正確性檢驗的測試工作,其目的在于發(fā)現(xiàn)每個程序模塊內(nèi)部可能存在的差錯。單元測試由誰來做:存在兩種截然不同的對立觀點。一部分人認(rèn)為單元測試既然是測試的一種類型,當(dāng)然應(yīng)該由測試人員負(fù)責(zé);另外一部分人則認(rèn)為,開發(fā)人員應(yīng)該通過編寫單元測試的代碼來保證自己寫的程序是正常工作的。結(jié)對單元測試:讓測試人員和開發(fā)人員結(jié)對進(jìn)行單元測試,如圖所示。單元級別性能測試性能測試不應(yīng)該只是一種后期的測試活動,更不應(yīng)該是軟件系統(tǒng)上線前才進(jìn)行的“演練”,而應(yīng)該是貫穿軟件的生產(chǎn)全過程,如圖所示。單元階段的性能測試可以考慮從以下幾個方面進(jìn)行:
代碼效率評估;
應(yīng)用單元性能測試工具;
數(shù)據(jù)庫優(yōu)化。數(shù)據(jù)庫性能測試:很多軟件系統(tǒng)除了代碼層的性能測試之外,都需要應(yīng)用到數(shù)據(jù)庫,通常數(shù)據(jù)庫也會成為性能瓶頸之一。壓力測試:指模擬巨大的工作負(fù)荷以查看應(yīng)用程序在峰值使用情況下如何執(zhí)行操作,是一種驗證軟件系統(tǒng)極限能力的性能測試。軟件的安全性測試包括程序、數(shù)據(jù)庫安全性測試。根據(jù)系統(tǒng)安全指標(biāo)不同測試策略也不同。不同安全測試考慮的問題也不同。用戶認(rèn)證安全的測試;系統(tǒng)網(wǎng)絡(luò)安全的測試;數(shù)據(jù)庫安全考慮問題。軟件安裝/卸載測試安裝測試需要注意以下幾點:安裝過程是否是必要的;安裝過程;卸載;升級安裝;安裝后的第一次運行;利用工具輔助測試。環(huán)境測試是驗證在不同的機(jī)器環(huán)境下,軟件系統(tǒng)是否正常工作。環(huán)境測試,也有人叫兼容性測試或配置測試等,是指測試軟件系統(tǒng)在不同的環(huán)境下是否仍然能正常使用。自動化測試什么是自動化測試自動化測試就是利用策略、工具以及產(chǎn)出等,減少人工介入到非技術(shù)性、重復(fù)性、冗長的測試活動里,從而達(dá)到無人監(jiān)守完成測試,并自動產(chǎn)生測試報告,分析測試結(jié)果等一系列活動。自動化測試是可以使測試自動進(jìn)行,并對測試輸出結(jié)果與期望輸出進(jìn)行比較(這一點往往為人們所忽略)的測試技術(shù)??捎糜谌魏坞A段的測試中,如單元測試、集成測試、系統(tǒng)測試或驗收測試。自動化測試標(biāo)準(zhǔn)要成功地實現(xiàn)軟件測試自動化,需要周密的計劃和大量艱苦的工作,軟件測試自動化的開發(fā)人員首先必須清楚自動化測試的內(nèi)容。以下幾條可以作為自動化軟件測試的標(biāo)準(zhǔn):自動回歸測試對穩(wěn)定的應(yīng)用進(jìn)行測試對沒有時間依賴性的測試重復(fù)性測試的自動化合理限制自動化的范圍自動化測試體系結(jié)構(gòu)從軟件自動化測試的適用范圍以及實現(xiàn)機(jī)制,總結(jié)出軟件測試自動化以下幾個關(guān)鍵要素:要測試什么軟件?要被測試的軟件的構(gòu)件或者特征是什么?被測軟件系統(tǒng)的運行環(huán)境是什么?被測試軟件系統(tǒng)的對外提供的接口是什么?數(shù)據(jù)的輸入格式是什么以及結(jié)果的捕獲?基于這幾個關(guān)鍵要素,可以描繪下圖所示的軟件自動測試體系結(jié)構(gòu):自動化測試原理和方法軟件測試自動化實現(xiàn)的原理和方法主要有:直接對代碼進(jìn)行靜態(tài)和動態(tài)分析、測試過程的捕獲和回放、測試腳本技術(shù)、虛擬用戶技術(shù)和測試管理技術(shù)。代碼分析:是一種白盒測試的自動化方法,類似于高級編譯系統(tǒng)。捕獲和回放:是一種黑盒測試的自動化方法。腳本技術(shù):可分為,線性腳本,結(jié)構(gòu)化腳本,數(shù)據(jù)驅(qū)動腳本,關(guān)鍵字驅(qū)動腳本。虛擬用戶技術(shù)和測試管理技術(shù):虛擬用戶技術(shù)的應(yīng)用極大的減少了人工測試的工作量,保證了自動化測試的高效性;同時,大量的用戶訪問測試又能對測試對象的穩(wěn)定性及不確定的因素進(jìn)行測試,增強(qiáng)了測試的效果;軟件測試管理包括測試計劃管理、測試用例管理、軟件缺陷管理、軟件執(zhí)行及軟件報告等軟件測試過程中的一系列的流程管理。自動化測試優(yōu)缺點自動化測試的優(yōu)點:對新版本運行回歸測試,提高測試覆蓋度,縮短測試時間??蛇\行更多更頻繁的測試??蓤?zhí)行一些手工測試?yán)щy和不可能做到的測試。更好的利用資源。提高測試的復(fù)用性??梢愿焖俚膶a(chǎn)品發(fā)布到市場。增加軟件的信任度。自動化測試的缺點:不會比手工測試發(fā)現(xiàn)更多的缺陷。在產(chǎn)品頻繁變更的條件下的維護(hù)代價會很高。通過自動化沒有發(fā)現(xiàn)缺陷并不代表系統(tǒng)便沒有缺陷。對環(huán)境的依賴性要遠(yuǎn)遠(yuǎn)大于手工測試。對于流程的要求也要遠(yuǎn)遠(yuǎn)大于手工測試。對測試工程師的技能要求要比手工測試更高。對工具的依賴性較高。手工測試與自動測試的應(yīng)用比較這二者存在一些相通之處。但是與手工測試相比,自動化測試又有許多新的功能與特點,從而導(dǎo)致二者的差異。兩者的差別如下圖所示:軟件自動化測試只是對手工測試的一種補(bǔ)充,是絕不能代替手工測試,在實際中根據(jù)不同的應(yīng)用、不同性質(zhì)的測試情況,應(yīng)該合理的選取自動化測試,而不能一味的為了自動化而選擇自動化測試。常用的軟件測試工具測試工具一般可分為白盒測試工具、黑盒測試工具、性能測試工具,另外還有用于測試管理(測試流程管理、缺陷跟蹤管理、測試用例管理)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑裝修勞務(wù)分包合同范本
- 2024年小吃檔口的承包合同協(xié)議書
- 代理配股繳款協(xié)議專業(yè)版
- 家庭住宅客戶專用
- 正式授權(quán)加工合同書
- 房產(chǎn)中介銷售代理合同范例
- 電臺合作協(xié)議范本新
- 委托投資合同協(xié)議書模板
- 長期出租協(xié)議
- 改進(jìn)版用工合同格式
- 提請法院裁定變價方案
- 小型服裝廠應(yīng)急預(yù)案范文
- 消防報警設(shè)備合同
- 提升初中英語書面表達(dá)能力的教學(xué)策略探析
- 第五單元寫作《如何突出中心》公開課一等獎創(chuàng)新教學(xué)設(shè)計-統(tǒng)編版語文七年級上冊
- 2023-2024學(xué)年北京朝陽區(qū)高三(上)期中地理試題及答案
- 江蘇省連云港市海州區(qū)新海初級中學(xué)2023-2024學(xué)年七年級上學(xué)期期中數(shù)學(xué)試題
- 污水處理廠冬季安全生產(chǎn)基礎(chǔ)知識
- 完整版八、施工現(xiàn)場總平面布置圖
- 分析化學(xué)期中考試試題
- 新外研版高二英語選擇性必修二Unit3-A-new-chapter課件(精編)
評論
0/150
提交評論