1. 軟件:
? ??計(jì)算機(jī)系統(tǒng)中的程序和相關(guān)文件或文檔的總稱;
2. 軟件測(cè)試的概念:
? ? ? ? 測(cè)試的對(duì)象:程序、數(shù)據(jù)、文檔
? ? ? ? 什么是軟件測(cè)試:通過(guò)人工或自動(dòng)的手段運(yùn)行和測(cè)量軟件系統(tǒng)的過(guò)程,以檢驗(yàn)軟件系統(tǒng)????是否滿足規(guī)定的要求,并找出與預(yù)期結(jié)果之間的差異;
3. 軟件測(cè)試的目的
? ? ? ? 找出軟件中存在的錯(cuò)誤(bug),使軟件盡可能的符合用戶需求;
4.為什么要進(jìn)行軟件測(cè)試
? ? 沒(méi)經(jīng)過(guò)測(cè)試的軟件無(wú)法保證質(zhì)量,測(cè)試中發(fā)現(xiàn)問(wèn)題,及時(shí)提交開發(fā)改進(jìn);
5.什么是軟件質(zhì)量及軟件質(zhì)量評(píng)審的依據(jù)
? ? 軟件質(zhì)量:軟件產(chǎn)品的特性可以滿足用戶的功能、性能需求的能力;
? ? ? ? 高質(zhì)量的軟件是適當(dāng)?shù)?、無(wú)錯(cuò)誤的、能在預(yù)算內(nèi)按時(shí)交貨的、滿足需求或期望并且可維護(hù)的;
? ? 軟件質(zhì)量評(píng)審的依據(jù):可靠性、安全性、性能、易用性、外觀、穩(wěn)定性
6.軟件測(cè)試與軟件質(zhì)量的關(guān)系
? ? -軟件測(cè)試時(shí)提高軟件質(zhì)量的有效手段
? ? -良好的軟件過(guò)程保證軟件質(zhì)量
? ? -軟件測(cè)試屬于軟件過(guò)程的一個(gè)部分
7.軟件的分類
? ? -按功能劃分:系統(tǒng)軟件、應(yīng)用程序
? ? -按技術(shù)架構(gòu)劃分:?jiǎn)螜C(jī)版軟件、C/S架構(gòu)軟件、B/S架構(gòu)軟件
? ? -按目標(biāo)用戶劃分:產(chǎn)品軟件、項(xiàng)目軟件
8. 軟件測(cè)試的原則:
????1??測(cè)試應(yīng)盡早介入(需求階段)
????2??程序員應(yīng)當(dāng)避免測(cè)試自己編寫的程序
????3??測(cè)試用例應(yīng)盡可能的100%覆蓋需求
????4??測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和預(yù)期輸出結(jié)果兩部分組成
????5??設(shè)計(jì)測(cè)試用例時(shí),包括合理的輸入條件和不合理的輸入條件
????6??充分注意測(cè)試中的集群現(xiàn)象
????7??應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果進(jìn)行全面檢查
? ? 8??計(jì)劃測(cè)試工作時(shí)不應(yīng)該默許假定不會(huì)發(fā)現(xiàn)錯(cuò)誤
? ? 9??窮舉測(cè)試不可能的
? ? ??對(duì)于測(cè)試相關(guān)文檔(測(cè)試計(jì)劃、測(cè)試用例、測(cè)試報(bào)告等)要進(jìn)行存檔,便與后期維護(hù);
9. 軟件的生命周期
? ? 用戶需求-->需求分析-->概要設(shè)計(jì)-->詳細(xì)設(shè)計(jì)-->軟件編碼-->單元測(cè)試-->集成測(cè)試-->系統(tǒng)測(cè)試-->驗(yàn)收測(cè)試
10.軟件開發(fā)的流程
? ? 需求分析-->概要設(shè)計(jì)-->詳細(xì)設(shè)計(jì)-->編碼-->單元測(cè)試-->代碼審查-->集成測(cè)試-->打包提交測(cè)試-->等待測(cè)試提交bug-->修復(fù)bug-->提交測(cè)試進(jìn)行回歸測(cè)試-->等bug改bugN輪-->版本上線-->交付用戶
11.軟件測(cè)試的流程
? ? 需求分析-->測(cè)試計(jì)劃-->冒煙測(cè)試-->編寫測(cè)試用例-->用例評(píng)審-->搭建測(cè)試環(huán)境-->等開發(fā)測(cè)試包-->部署測(cè)試包-->冒煙測(cè)試-->執(zhí)行測(cè)試用例-->提交并追蹤bug-->回歸測(cè)試N輪-->輸出測(cè)試報(bào)告-->版本上線-->交付用戶
12.軟件測(cè)試的對(duì)象
? ? 1??軟件需求說(shuō)明書
? ? 2??軟件概要設(shè)計(jì)
? ? 3??軟件詳細(xì)設(shè)計(jì)
? ? 4??軟件源代碼
? ? 5??可運(yùn)行程序
? ? 6??軟件運(yùn)行環(huán)境
13. 軟件測(cè)試的三種策略:
? ? 黑盒 : 測(cè)試過(guò)程中將程序視為一個(gè)黑盒子,測(cè)試目標(biāo)與程序的內(nèi)部特性與結(jié)構(gòu)完全無(wú)關(guān),它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)及產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性;
? ? ? ? 黑盒常用測(cè)試方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、隨機(jī)測(cè)試等;
? ? 白盒 : 測(cè)試過(guò)程中將程序視為一個(gè)透明白盒,也稱結(jié)構(gòu)測(cè)試和邏輯驅(qū)動(dòng)測(cè)試,知道程序內(nèi)部結(jié)構(gòu),驗(yàn)證內(nèi)部每條通路是否按需求正確工作不用顧其功能;主要用于軟件驗(yàn)證;
? ? ? ? 白盒常用測(cè)試方法:邏輯覆蓋法、循環(huán)覆蓋、基本路徑覆蓋等;
? ? 灰盒:介于白盒和黑盒之間的測(cè)試;結(jié)合外部接口、功能和內(nèi)部邏輯、路徑,根據(jù)程序?qū)嶋H情況,進(jìn)行測(cè)試;
14. 軟件測(cè)試的4個(gè)主要階段:
? ? 單元測(cè)試-->集成測(cè)試-->系統(tǒng)測(cè)試-->驗(yàn)收測(cè)試 ??
15. 單元測(cè)試
? ? 單元測(cè)試又稱模塊測(cè)試,是針對(duì)軟件的組成單元進(jìn)行測(cè)試、目的是檢驗(yàn)各個(gè)程序模塊是否正確實(shí)現(xiàn)了其規(guī)定功能;
? ? 測(cè)試階段:編碼后
? ? 測(cè)試對(duì)象:軟件的最小模塊
? ? 測(cè)試人員:白盒測(cè)試工程師或開發(fā)工程師
? ? 測(cè)試依據(jù):代碼和注釋+詳細(xì)設(shè)計(jì)文檔
? ? 測(cè)試方法:白盒為主、黑盒輔助
? ? 測(cè)試內(nèi)容:模塊接口測(cè)試、局部數(shù)據(jù)結(jié)構(gòu)測(cè)試、路徑測(cè)試、錯(cuò)誤處理測(cè)試、邊界測(cè)試;
16.集成測(cè)試
? ? 集成測(cè)試也稱聯(lián)合測(cè)試/組裝測(cè)試,在單元測(cè)試的基礎(chǔ)上,將所有模塊按照概要設(shè)計(jì)說(shuō)明書和詳細(xì)設(shè)計(jì)說(shuō)明書的要求進(jìn)行組裝。對(duì)系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢驗(yàn)的測(cè)試工作,其主要目的是檢查軟件單位之間的接口是否正確;
? ? 集成測(cè)試層次:子系統(tǒng)內(nèi)集成測(cè)試、子系統(tǒng)間集成測(cè)試、模塊間集成測(cè)試
? ? 模塊組裝成系統(tǒng)的方式:一次性組裝方式和增殖式組裝方式
? ? 一次性組裝方式:先對(duì)模塊分別進(jìn)行測(cè)試、再把所有模塊組裝進(jìn)行測(cè)試
? ?增殖式組裝測(cè)試:分為-->自頂向下、自底向上、分層集成、三明治集成、基層集成、高配集成;
? ? 測(cè)試階段:一般在單元測(cè)試之后
? ? 測(cè)試對(duì)象:模塊之間的接口
? ? 測(cè)試人員:白盒測(cè)試或開發(fā)工程師
? ? 測(cè)試依據(jù):?jiǎn)卧獪y(cè)試的模塊+概要設(shè)計(jì)文檔
? ? 測(cè)試方法:黑+白盒測(cè)試相結(jié)合
? ? 測(cè)試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突、模塊組裝功能正確性、全局?jǐn)?shù)據(jù)結(jié)構(gòu)、單模塊缺陷對(duì)系統(tǒng)的影響;
17.系統(tǒng)測(cè)試
? ? 在實(shí)際運(yùn)行環(huán)境下,驗(yàn)證軟件的功能和性能等特性是否與用戶要求一致;
? ? 測(cè)試階段:集成測(cè)試通過(guò)之后
? ? 測(cè)試對(duì)象:整個(gè)系統(tǒng)(軟、硬件)
? ? 測(cè)試人員:黑盒測(cè)試工程師
? ? 測(cè)試依據(jù):需求規(guī)格說(shuō)明文檔
? ? 測(cè)試方法:黑盒測(cè)試
? ? 測(cè)試內(nèi)容:功能、界面、可靠性、易用性、性能、兼容性、安全性等;
18.驗(yàn)收測(cè)試
? ? 驗(yàn)收測(cè)試是以用戶為主去檢驗(yàn)軟件產(chǎn)品質(zhì)量的最后一道工序;驗(yàn)收測(cè)試分為Alpha測(cè)試、Beta測(cè)試;
? ? Alpha測(cè)試:用戶在開發(fā)環(huán)境下完成測(cè)試
? ? Beta測(cè)試:用戶在用戶環(huán)境下完成測(cè)試
? ? 測(cè)試依據(jù):用戶需求、驗(yàn)收標(biāo)準(zhǔn)
?19.冒煙測(cè)試
? ?概念:冒煙測(cè)試是對(duì)每一個(gè)新編譯的需要正式測(cè)試的軟件版本進(jìn)行一些基本的功能的測(cè)試、目的是確認(rèn)軟件基本功能正常,保證軟件系統(tǒng)能跑起來(lái),可以進(jìn)行后續(xù)的正式測(cè)試工作;
? ?為什么要進(jìn)行冒煙測(cè)試:進(jìn)行冒煙測(cè)試的目的就是為了提高質(zhì)量與效率,對(duì)于開發(fā)人員來(lái)說(shuō):冒煙測(cè)試可以確保主要功能的完整,以及提高產(chǎn)品質(zhì)量;對(duì)測(cè)試人員來(lái)說(shuō):冒煙測(cè)試可以避免不必要的測(cè)試失敗而造成的時(shí)間浪費(fèi);
冒煙測(cè)試的準(zhǔn)則:
? ? 1??初步了解代碼中進(jìn)行了什么更改
? ? 2??開發(fā)需告知該修改對(duì)其功能的影響
? ? 3??更改對(duì)各組件的依存關(guān)系有何影響
冒煙測(cè)試的注意點(diǎn):
? ? 1??列出冒煙測(cè)試的主要功能及測(cè)試點(diǎn)
? ? 2??冒煙測(cè)試不是只對(duì)修改過(guò)的功能進(jìn)行測(cè)試
? ? 3??重視平時(shí)測(cè)試時(shí)容易忽略的隱藏功能
? ? 4??重視常見又很重要的步驟如:下載安裝
20.回歸測(cè)試
? ? 回歸測(cè)試是指開發(fā)人員修改后,重新進(jìn)行測(cè)試以確保修復(fù)完成且沒(méi)有引入新的錯(cuò)誤或?qū)е缕渌δ墚a(chǎn)出錯(cuò)誤,工作量比重大,軟件開發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測(cè)試;
21.冒煙與回歸的區(qū)別
????-測(cè)試階段不同:冒煙測(cè)試是對(duì)新版本進(jìn)行驗(yàn)證的過(guò)程,回歸測(cè)試是指開發(fā)修改Bug后再次測(cè)試的過(guò)程;
????-測(cè)試目的不同:冒煙測(cè)試是代碼開發(fā)完成后進(jìn)行的功能完整性測(cè)試、回歸測(cè)試是為了驗(yàn)證Bug是否正確修改及其他功能是否受影響;
????-測(cè)試周期不同:冒煙測(cè)試只集中考慮了一開始的那個(gè)問(wèn)題,而忽略其他的問(wèn)題,這就可能引起新的Bug,回歸測(cè)試作為軟件生命周期的一個(gè)組成部分,在整個(gè)測(cè)試過(guò)程中占用很大的工作量比重,軟件開發(fā)的各個(gè)階段都會(huì)進(jìn)行多次回歸測(cè)試;
22.隨機(jī)測(cè)試
隨機(jī)測(cè)試主要依據(jù)測(cè)試人員的經(jīng)驗(yàn)對(duì)軟件進(jìn)行功能和性能抽查;
注:發(fā)現(xiàn)理解有錯(cuò)誤的地方,望告知?。。≈x謝?。?!