一.單元測(cè)試(模塊測(cè)試) 單元測(cè)試是對(duì)軟件組成單元進(jìn)行測(cè)試,。其目的是檢驗(yàn)軟件組成單位的正確性。測(cè)試對(duì)象是:模塊,。 對(duì)模塊進(jìn)行測(cè)試,,單獨(dú)的一個(gè)模塊測(cè)試,屬于靜態(tài)測(cè)試的一類 測(cè)試階段:編碼后或者編碼前(TDD) 測(cè)試對(duì)象:最小模塊 測(cè)試人員:白盒測(cè)試工程師或開(kāi)發(fā)工程師(測(cè)源碼) 測(cè)試依據(jù):代碼和注釋 詳細(xì)設(shè)計(jì)文檔 測(cè)試方法:白盒測(cè)試(因?yàn)橐獪y(cè)源碼) 測(cè)試內(nèi)容:模塊接口測(cè)試(測(cè)試模塊里面的參數(shù)傳遞是否正確),、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試(測(cè)試變量的作用域范圍),、路徑測(cè)試(if-else 判斷必須覆蓋所有分支)、錯(cuò)誤處理測(cè)試,、邊界測(cè)試( for 循環(huán)) 二.集成測(cè)試 集成測(cè)試也稱聯(lián)合測(cè)試,,將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來(lái),對(duì)系統(tǒng)的接口(白盒測(cè)試)以及集成后的功能(黑盒測(cè)試進(jìn)行正確性檢測(cè)的一種測(cè)試,。集成主要目的是檢查軟件單位之間的接口是否正確,。 測(cè)試階段:一般單元測(cè)試之后進(jìn)行 測(cè)試對(duì)象:模塊間的接口 測(cè)試人員:白盒測(cè)試工程師或開(kāi)發(fā)工程師 測(cè)試依據(jù):?jiǎn)卧獪y(cè)試的模塊 概要設(shè)計(jì)文檔 測(cè)試方法:黑盒測(cè)試與白盒測(cè)試相結(jié)合 測(cè)試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突,、模塊組裝功能正確性,、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單個(gè)模塊缺陷對(duì)系統(tǒng)的影響 三.系統(tǒng)測(cè)試 將軟件系統(tǒng)看成是一個(gè)系統(tǒng)的測(cè)試,。包括對(duì)功能,、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測(cè)試。時(shí)間大部分在系統(tǒng)測(cè)試執(zhí)行階段,,包括回歸測(cè)試和冒煙測(cè)試,。 測(cè)試階段:集成測(cè)試通過(guò)之后 測(cè)試對(duì)象:整個(gè)系統(tǒng)(軟、硬件) 測(cè)試人員:黑盒測(cè)試工程師(對(duì)功能測(cè)試) 測(cè)試依據(jù):需求規(guī)格說(shuō)明文檔 測(cè)試方法:黑盒測(cè)試 測(cè)試內(nèi)容:功能,、界面,、可靠性、易用性,、性能,、兼容性、安全性等 回歸測(cè)試(Regression Testing) 四.回歸測(cè)試 回歸測(cè)試是指修改了舊代碼后,,重新進(jìn)行測(cè)試以確認(rèn)修改沒(méi)有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤,。 有了代碼修改后就進(jìn)行回歸測(cè)試,根據(jù)測(cè)試階段確定回歸范圍。 在整個(gè)軟件測(cè)試過(guò)程中占有很大的工作量比重,,軟件開(kāi)發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測(cè)試,。隨著系統(tǒng)的龐大,回歸測(cè)試的成本越來(lái)越大,,通過(guò)選擇正確的回歸測(cè)試策略來(lái)改進(jìn)回歸測(cè)試的效率和有效性是很有意義的,。 五.冒煙測(cè)試 這一術(shù)語(yǔ)源自硬件行業(yè)。 對(duì)一個(gè)硬件或硬件組件進(jìn)行更改或修復(fù)后,,直接給設(shè)備加電,。如果沒(méi)有冒煙,則該組件就通過(guò)了測(cè)試,。也可以理解為該種測(cè)試耗時(shí)短,,僅用一袋煙功夫足夠了。 冒煙測(cè)試的對(duì)象是每一個(gè)新編譯的需要正式測(cè)試的軟件版本,,目的是確認(rèn)軟件基本功能正常,,可以進(jìn)行后續(xù)的正式測(cè)試工作。冒煙測(cè)試的執(zhí)行者是版本編譯人員,。 概念:對(duì)核心主干流程進(jìn)行測(cè)試,,如果成功,就認(rèn)為成功 作用:判斷是否接受測(cè)試的標(biāo)準(zhǔn),,若核心主干都走不通,,那么直接打下去 六.驗(yàn)收測(cè)試 買到新手機(jī),一般會(huì)有7天包退,,一個(gè)月包換,,我們會(huì)盡量在7天內(nèi)把手機(jī)的所有功能都試一遍。 驗(yàn)收測(cè)試是部署軟件之前的最后一個(gè)測(cè)試操作,。它是技術(shù)測(cè)試的最后一個(gè)階段,,也稱為交付測(cè)試。驗(yàn)收測(cè)試的目的是確保軟件準(zhǔn)備就緒,,按照項(xiàng)目合同,、任務(wù)書、雙方約定的驗(yàn)收依據(jù)文檔,,向軟件購(gòu)買都展示該軟件系統(tǒng)滿足原始需求,。 測(cè)試階段:系統(tǒng)測(cè)試通過(guò)之后 測(cè)試對(duì)象:整個(gè)系統(tǒng)(包括軟硬件)。 測(cè)試人員:主要是最終用戶或者需求方,。 測(cè)試依據(jù):用戶需求,、驗(yàn)收標(biāo)準(zhǔn) 測(cè)試方法:黑盒測(cè)試(對(duì)功能進(jìn)行測(cè)試) 測(cè)試內(nèi)容:同系統(tǒng)測(cè)試(功能…各類文檔等) 七.靜態(tài)測(cè)試(不運(yùn)行程序本身,測(cè)試文檔) 靜態(tài)測(cè)試是指不運(yùn)行被測(cè)程序本身,,僅通過(guò)分析或檢查源程序的語(yǔ)法,、結(jié)構(gòu),、過(guò)程、接口等來(lái)檢查程序的正確性,。'對(duì)需求規(guī)格說(shuō)明書、軟件設(shè)計(jì)說(shuō)明書,、源程序做結(jié)構(gòu)分析,、流程圖分析、符號(hào)執(zhí)行來(lái)找錯(cuò),。 八.動(dòng)態(tài)測(cè)試 動(dòng)態(tài)測(cè)試方法是指通過(guò)運(yùn)行被測(cè)程序,,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率,、正確性和健壯性等性能,。大多數(shù)軟件測(cè)試工作都屬于動(dòng)態(tài)測(cè)試。 九.手工測(cè)試 就是由人去一個(gè)一個(gè)的輸入測(cè)試用例,,然后觀察結(jié)果,,和機(jī)器測(cè)試相對(duì)應(yīng),屬于比較原始但是不可缺少的一個(gè)步驟,。 總結(jié)優(yōu)缺點(diǎn): (1)優(yōu)點(diǎn):自動(dòng)化無(wú)法替代探索性測(cè)試,、發(fā)散思維結(jié)果的測(cè)試。 (2)缺點(diǎn):執(zhí)行效率慢,,量大易錯(cuò),。 十.自動(dòng)化測(cè)試 就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,,預(yù)先條件應(yīng)包括正常條件和異常條件,。 簡(jiǎn)單說(shuō)自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。 自動(dòng)化實(shí)施步驟: 1.完成功能測(cè)試,,版本基本穩(wěn)定 2.根據(jù)項(xiàng)目特性,,選擇適合項(xiàng)目的自動(dòng)化工具,并搭建環(huán)境 3.提取手工測(cè)試的測(cè)試用例轉(zhuǎn)化為自動(dòng)化測(cè)試的用例 4.通過(guò)工具,、代碼實(shí)現(xiàn)自動(dòng)化的構(gòu)造輸入,,自動(dòng)檢測(cè)輸出結(jié)果是否符合預(yù)期 5.生成自動(dòng)測(cè)試報(bào)告 6.持續(xù)改進(jìn),腳本優(yōu)化,。 十一.業(yè)務(wù)測(cè)試 業(yè)務(wù)測(cè)試是測(cè)試人員把系統(tǒng)各個(gè)模塊串接起來(lái)運(yùn)行,、模擬真實(shí)用戶實(shí)際的工作流程,滿足用戶需求定義的功能來(lái)進(jìn)行測(cè)試的過(guò)程,。 例如查看郵件: 登錄網(wǎng)站-輸入用戶名,、密碼登錄-進(jìn)入收件箱-查到郵件-點(diǎn)擊打開(kāi)-查閱-關(guān)閉郵件-退出郵箱-關(guān)閉網(wǎng)站 業(yè)務(wù)測(cè)試關(guān)注需求和用戶 所有業(yè)務(wù)流程進(jìn)行測(cè)試,包過(guò)主干流程,,分支流程,,甚至更小的流程 測(cè)不同的業(yè)務(wù),必須對(duì)項(xiàng)目的需求特別了解 十二.界面測(cè)試 界面測(cè)試(簡(jiǎn)稱UI測(cè)試),測(cè)試用戶界面的功能模塊的布局是否合理,、整體風(fēng)格是否一致,、各個(gè)控件的放置位置是否符合客戶使用習(xí)慣,此外還要測(cè)試界面操作便捷性,、導(dǎo)航簡(jiǎn)單易懂性,,頁(yè)面元素的可用性,界面中文字是否正確,,命名是否統(tǒng)一,,頁(yè)面是否美觀,文字,、圖片組合是否完美等,。 十三.文檔測(cè)試 十四.兼容性測(cè)試 大家經(jīng)常上網(wǎng),同一網(wǎng)站在不同的瀏覽器上表現(xiàn)不一樣 WEB測(cè)試 ,;APP測(cè)試 兼容性主要是指軟件之間能否很好地運(yùn)作,,會(huì)不會(huì)有影響、軟件和硬件之間能否發(fā)揮很好的效率工作,,會(huì)不會(huì)影響導(dǎo)致系統(tǒng)的崩潰,。 平臺(tái)測(cè)試 瀏覽器測(cè)試 軟件本身能否向前或者向后兼容 測(cè)試軟件能否與其它相關(guān)的軟件兼容 數(shù)據(jù)兼容性測(cè)試 最常見(jiàn)的就是瀏覽器的兼容性測(cè)試,不同瀏覽器在css,,js解析上的不同會(huì)導(dǎo)致頁(yè)面的顯示不同,。 十五.易用性測(cè)試 易用性(Useability)是交互的適應(yīng)性、功能性和有效性的集中體現(xiàn),。 手機(jī)拔打電話功能不放在首頁(yè),,放在一個(gè)目錄下邊,點(diǎn)擊三四次才可以找到拔打電話功能,,這個(gè)功能好用嗎,? 十六.性能測(cè)試 檢查系統(tǒng)是否滿足需求規(guī)格說(shuō)明書中規(guī)定的性能。 通常表現(xiàn)在以下幾個(gè)方面: 對(duì)資源利用(如內(nèi)存,、處理機(jī)周期等)進(jìn)行的精確度量 對(duì)執(zhí)行間隔 日志事件(如中斷,,報(bào)錯(cuò)) 響應(yīng)時(shí)間 吞吐量(TPS) 輔助存儲(chǔ)區(qū)(例如緩沖區(qū)、工作區(qū)的大小等) 處理精度等進(jìn)行的監(jiān)測(cè) 十七.易用性測(cè)試 易用性(Useability)是交互的適應(yīng)性,、功能性和有效性的集中體現(xiàn),。易用性屬于人體工程學(xué)的范疇,人體工程學(xué)(ergonomics)是一門將日常使用的東西設(shè)計(jì)為易于使用和實(shí)用性強(qiáng)的學(xué)科,。 手機(jī)拔打電話功能不放在首頁(yè),,放在一個(gè)目錄下邊,點(diǎn)擊三四次才可以找到拔打電話功能,,這個(gè)功能好用嗎,? 在某些大廠會(huì)有專門的部門來(lái)進(jìn)行易用性測(cè)試,,又叫用戶體驗(yàn)測(cè)試。 十八. 安裝測(cè)試 測(cè)試程序的安裝,、卸載 典型的是app的安裝,、卸載 十九.安全測(cè)試 安全測(cè)試是一個(gè)相對(duì)獨(dú)立的領(lǐng)域,需要更多的專業(yè)知識(shí),。例如web的安全測(cè)試,,需要熟悉各種網(wǎng)絡(luò)協(xié)議 TCP\HTTP,防火墻,,CDN,熟悉各種操作系統(tǒng)的漏洞,,熟悉路由器等,。從軟件來(lái)說(shuō),熟悉各種攻擊手段,,例如 SQL注入,、Xss等。 作為web入門測(cè)試,,可以IBM的appscan,。 二十.內(nèi)存泄漏測(cè)試 電腦打開(kāi)的東西太多,機(jī)器反應(yīng)慢甚至死機(jī),,重啟之后就好了,,過(guò)會(huì)同樣的問(wèn)題出現(xiàn) 很多軟件系統(tǒng)都存在內(nèi)存泄露的問(wèn)題,尤其是缺乏自動(dòng)垃圾回收機(jī)制的“非托管”語(yǔ)言 編寫的程序,,例如C,、CH、Delphi等,。從用戶使用的角度來(lái)看,,內(nèi)存泄露本身不會(huì)造成什 么危害,一般用戶可能根本不會(huì)感覺(jué)到內(nèi)存泄露的存在,。但是內(nèi)存泄露是會(huì)累積的,,只要執(zhí) 行的次數(shù)足夠多,最終會(huì)耗盡所有可用內(nèi)存,,使軟件的執(zhí)行越來(lái)越慢,,最后停止響應(yīng)??梢?把這種軟件的問(wèn)題比喻成軟件的“慢性病”,。 造成內(nèi)存泄露的原因有很多,最常見(jiàn)的有以下幾種,。 1.分配完內(nèi)存之后忘了回收,。 2.程序?qū)懛ㄓ袉?wèn)題,,造成沒(méi)辦法回收。 3.某些API函數(shù)的使用不正確,,造成內(nèi)存泄露,。 4.沒(méi)有及時(shí)釋放。 內(nèi)存泄漏的檢測(cè): 1.對(duì)于不同的程序可以使用不同的方法來(lái)進(jìn)行內(nèi)存泄露的檢查,,還可以使用一些專門的工具來(lái)進(jìn)行內(nèi)存問(wèn)題的檢查,,例如MemProof. AQTime、Purify,、BundsChecker等,。 有些開(kāi)發(fā)工具本身就帶有內(nèi)存問(wèn)題檢查機(jī)制.要確保程序員在編寫程序和編譯程序的時(shí)候打開(kāi)這些功能。 2.通過(guò)代碼掃描分析工具來(lái)檢查 最后感謝每一個(gè)認(rèn)真閱讀我文章的人,,下面這個(gè)網(wǎng)盤鏈接也是我費(fèi)了幾天時(shí)間整理的非常全面的,,希望也能幫助到有需要的你! 這些資料,,對(duì)于想轉(zhuǎn)行做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),,這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你,!凡事要趁早,,特別是技術(shù)行業(yè),一定要提升技術(shù)功底,。希望對(duì)大家有所幫助……
|
|
來(lái)自: 新用戶82165308 > 《底盤架構(gòu)》