1.軟件生命周期模型 從概念提出的那一刻開(kāi)始,軟件產(chǎn)品就進(jìn)入了軟件生命周期。在經(jīng)歷需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、部署后,軟件將被使用并進(jìn)入維護(hù)階段,直到最后由于缺少維護(hù)費(fèi)用而逐漸消亡。這樣的一個(gè)過(guò)程,稱(chēng)為"生命周期模型"(Life Cycle Model)。 典型的幾種生命周期模型包括瀑布模型、快速原型模型、迭代模型。 瀑布模型的特點(diǎn)(文檔是主體),很多的問(wèn)題在最后才會(huì)暴露出來(lái)。迭代模型比瀑布模型問(wèn)題暴露的要早;快速原型法比瀑布模型直觀。 2.軟件測(cè)試概念 廣義概念:指軟件生存周期中所有的檢查、評(píng)審和確認(rèn)工作,其中包括了對(duì)分析、設(shè)計(jì)階段,以及完成開(kāi)發(fā)后維護(hù)階段的各類(lèi)文檔、代碼的審查和確認(rèn) 狹義概念:識(shí)別軟件缺陷的過(guò)程,即實(shí)際結(jié)果與預(yù)期結(jié)果的不一致 3.軟件測(cè)試目的 ü 測(cè)試的目的就是發(fā)現(xiàn)軟件中的各種缺陷 ü 測(cè)試只能證明軟件存在缺陷,不能證明軟件不存在缺陷 ü 測(cè)試可以使軟件中缺陷降低到一定程度,而不是徹底消滅 ü 以較少的用例、時(shí)間和人力找出軟件中的各種錯(cuò)誤和缺陷,以確保軟件的質(zhì)量 4.軟件測(cè)試原則 ü Good-enough: 一種權(quán)衡投入/產(chǎn)出比的原則 ü 保證測(cè)試的覆蓋程度,但窮舉測(cè)試是不可能的 ü 所有的測(cè)試都應(yīng)追溯到用戶需求 ü 越早測(cè)試越好,測(cè)試過(guò)程與開(kāi)發(fā)過(guò)程應(yīng)是相結(jié)合的 ü 測(cè)試的規(guī)模由小而大,從單元測(cè)試到系統(tǒng)測(cè)試 ü 為了盡可能地發(fā)現(xiàn)錯(cuò)誤,應(yīng)該由獨(dú)立的第三方來(lái)測(cè)試 ü 不能為了便于測(cè)試擅自修改程序 ü 既應(yīng)該測(cè)試軟件該做什么也應(yīng)該測(cè)試軟件不該做什么 5.軟件測(cè)試的的重點(diǎn) ü 測(cè)試用例的設(shè)計(jì) – 測(cè)試用例的設(shè)計(jì)是整個(gè)軟件測(cè)試工作的核心 – 測(cè)試用例反映對(duì)被測(cè)對(duì)象的質(zhì)量要求,決定對(duì)測(cè)試對(duì)象的質(zhì)量評(píng)估 ü 測(cè)試工作的管理 – 尤其是對(duì)包含多個(gè)子系統(tǒng)的大型軟件系統(tǒng),其測(cè)試工作涉及大量人力和物力,有效的測(cè)試工作管理是保證有效測(cè)試工作的必要前提 ü 測(cè)試環(huán)境的建立 – 測(cè)試環(huán)境應(yīng)該與實(shí)際測(cè)試環(huán)境一致 6.黑盒測(cè)試 ü 什么是黑盒測(cè)試 – 又稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,是針對(duì)軟件的功能需求/實(shí)現(xiàn)進(jìn)行測(cè)試,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否符合需求,不考慮程序內(nèi)部的邏輯結(jié)構(gòu) ü 黑盒測(cè)試方法 – 功能劃分 – 等價(jià)類(lèi)劃分 – 邊界值分析 – 因果圖 – 錯(cuò)誤推測(cè)等 7.什么是白盒測(cè)試 – 白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,必須知道軟件內(nèi)部工作過(guò)程,通過(guò)測(cè)試來(lái)檢測(cè)軟件內(nèi)部是否按照需求、設(shè)計(jì)正常運(yùn)行 – 白盒測(cè)試的主要方法 – 對(duì)應(yīng)于程序的一些主要結(jié)構(gòu):語(yǔ)句、分支、邏輯路徑、變量;白盒測(cè)試的主要方法是: – 語(yǔ)句覆蓋方法 – 分支覆蓋方法 – 邏輯覆蓋方法 8. 什么是動(dòng)態(tài)測(cè)試 動(dòng)態(tài)測(cè)試需要在開(kāi)發(fā)/測(cè)試環(huán)境或?qū)嶋H運(yùn)行環(huán)境中運(yùn)行軟件,并使用測(cè)試用例去查找軟件缺陷;動(dòng)態(tài)測(cè)試包括功能確認(rèn)與接口測(cè)試、覆蓋率分析、性能分析、內(nèi)存分析等 9.什么是靜態(tài)測(cè)試 靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件,主要是對(duì)軟件的編程格式、結(jié)構(gòu)等方面進(jìn)行評(píng)估.靜態(tài)測(cè)試包括代碼檢查、程序結(jié)構(gòu)分析、代碼質(zhì)量度量等。它可以由人工進(jìn)行,也可以借助軟件工具自動(dòng)進(jìn)行 10.手工測(cè)試和自動(dòng)測(cè)試 a.手工測(cè)試缺點(diǎn)在于測(cè)試工作量大,重復(fù)多,回歸測(cè)試難以實(shí)現(xiàn) b.自動(dòng)測(cè)試?yán)密浖y(cè)試工具自動(dòng)實(shí)現(xiàn)全部或部分測(cè)試工作:管理、設(shè)計(jì)、執(zhí)行和報(bào)告;節(jié)省大量的測(cè)試開(kāi)銷(xiāo),并能夠完成一些手工測(cè)試無(wú)法實(shí)現(xiàn)的測(cè)試 ü 手工完成測(cè)試的全部過(guò)程無(wú)法保證測(cè)試的科學(xué)性與嚴(yán)密性: – 修改的缺陷越多,回歸測(cè)試越困難 – 沒(méi)有人能向決策層提供精確的數(shù)據(jù)以度量當(dāng)前的工作進(jìn)度及工作效率 – 反復(fù)測(cè)試帶來(lái)的倦怠情緒及其他人為因素使得測(cè)試標(biāo)準(zhǔn)前后不一 – 測(cè)試花費(fèi)的時(shí)間越長(zhǎng),測(cè)試的嚴(yán)格性也就越低 ü 自動(dòng)測(cè)試將測(cè)試人員從反復(fù)、煩雜的測(cè)試執(zhí)行中解放出來(lái),用更多的時(shí)間進(jìn)行測(cè)試設(shè)計(jì)和結(jié)果分析 ü 軟件測(cè)試不可能完全自動(dòng)化 ü 不能完成所有手工測(cè)試任務(wù) ü 無(wú)創(chuàng)造性且靈活性差,不能改進(jìn)測(cè)試的有效性 ü 過(guò)程中可能會(huì)遇到許多意想不到的問(wèn)題,特別是當(dāng)軟件不穩(wěn)定時(shí) ü 測(cè)試腳本的維護(hù)高 11. 測(cè)試流程 ü 單元測(cè)試 ü 集成測(cè)試 ü 系統(tǒng)測(cè)試 ü 用戶驗(yàn)收測(cè)試 ü 12.單元測(cè)試 ü 完成對(duì)最小的軟件設(shè)計(jì)單元—模塊的驗(yàn)證工作 ü 目標(biāo)是確保模塊被正確地編碼 ü 使用過(guò)程設(shè)計(jì)描述作為指南,對(duì)重要的控制路徑進(jìn)行測(cè)試以發(fā)現(xiàn)模塊內(nèi)的錯(cuò)誤 ü 通常情況下是面向白盒的 ü 對(duì)代碼風(fēng)格和規(guī)則、程序設(shè)計(jì)和結(jié)構(gòu)、業(yè)務(wù)邏輯等進(jìn)行靜態(tài)測(cè)試,及早地發(fā)現(xiàn)和解決不易顯現(xiàn)的錯(cuò)誤 ü 單元測(cè)試的內(nèi)容 – 接口測(cè)試 – 內(nèi)部數(shù)據(jù)結(jié)構(gòu) – 全局?jǐn)?shù)據(jù)結(jié)構(gòu) – 邊界 – 語(yǔ)句覆蓋,錯(cuò)誤路徑 13.集成測(cè)試 ü 通過(guò)測(cè)試發(fā)現(xiàn)與模塊接口有關(guān)的問(wèn)題 ü 目標(biāo)是把通過(guò)了單元測(cè)試的模塊拿來(lái),構(gòu)造一個(gè)在設(shè)計(jì)中所描述的程序結(jié)構(gòu) ü 應(yīng)當(dāng)避免一次性的集成(除非軟件規(guī)模很?。捎迷隽考?/span> 集成測(cè)試主要內(nèi)容 ü API ü API/參數(shù)組合 14.系統(tǒng)測(cè)試 ü 根據(jù)軟件需求規(guī)范的要求進(jìn)行系統(tǒng)測(cè)試,確認(rèn)系統(tǒng)滿足需求的要求 ü 系統(tǒng)測(cè)試人員相當(dāng)于用戶代言人 ü 在需求分析階段要確定軟件的可測(cè)性,保證有效完成系統(tǒng)測(cè)試工作 ü 系統(tǒng)測(cè)試主要內(nèi)容 ü 所有功能需求得到滿足 ü 所有性能需求得到滿足 ü 其他需求(例如安全性、容錯(cuò)性、兼容性等)得到滿足 15.用戶驗(yàn)收/確認(rèn)測(cè)試 ü Alpha測(cè)試 – 是由用戶在開(kāi)發(fā)者的場(chǎng)所來(lái)進(jìn)行的,Alpha測(cè)試是在一個(gè)受控的環(huán)境中進(jìn)行的 ü Beta測(cè)試 – 由軟件的最終用戶在一個(gè)或多個(gè)用戶場(chǎng)所來(lái)進(jìn)行的,開(kāi)發(fā)者通常不在現(xiàn)場(chǎng),用戶記錄測(cè)試中遇到的問(wèn)題并報(bào)告給開(kāi)發(fā)者 16.壓力測(cè)試VS性能測(cè)試 性能測(cè)試是為了檢查系統(tǒng)的反映,運(yùn)行速度等性能指標(biāo),他的前提是要求在一定負(fù)載下,如檢查一個(gè)網(wǎng)站在100人同時(shí)在線的情況下的性能指標(biāo),每個(gè)用戶是否都還可以正常的完成操作等。 壓力測(cè)試是為了發(fā)現(xiàn)系統(tǒng)能支持的最大負(fù)載,他的前提是要求系統(tǒng)性能處在可以接受的范圍內(nèi),比如經(jīng)常規(guī)定的葉面3秒鐘內(nèi)響應(yīng);概括就是:在性能可以接受的前提下,測(cè)試系統(tǒng)可以支持的最大負(fù)載。 舉例說(shuō)明:針對(duì)一個(gè)網(wǎng)站進(jìn)行測(cè)試,模擬10到50個(gè)用戶就是在進(jìn)行常規(guī)性能測(cè)試,用戶增加到1000乃至上萬(wàn)就變成了壓力/負(fù)載測(cè)試。如果同時(shí)對(duì)系統(tǒng)進(jìn)行大量的數(shù)據(jù)查詢操作,就包含了強(qiáng)度測(cè)試。 17. 主流測(cè)試工具的測(cè)試流程 ========winrunner |
|
來(lái)自: _雨 > 《我的圖書(shū)館》