一推姻、測(cè)試行業(yè):
1、 測(cè)試的重要性(所有的產(chǎn)品或者服務(wù)上線都需要進(jìn)行測(cè)試)
2、 測(cè)試工程師成長(zhǎng)路線
管理方向:測(cè)試組長(zhǎng)\測(cè)試經(jīng)理\測(cè)試總監(jiān)
技術(shù)方向:測(cè)試工程師醉旦、測(cè)試開(kāi)發(fā)、測(cè)試架構(gòu)師、性能測(cè)試髓抑、安全測(cè)試
轉(zhuǎn)崗:開(kāi)發(fā)咙崎、運(yùn)維
3、 人員要求
懂技術(shù)吨拍、懂代碼褪猛、精通測(cè)試、懂運(yùn)維
4羹饰、 測(cè)試發(fā)展過(guò)程
初級(jí)階段:以發(fā)現(xiàn)bug為主伊滋,手工測(cè)試為主
平臺(tái)建設(shè)階段:從手工解放
全面監(jiān)控項(xiàng)目質(zhì)量
全員測(cè)試階段:測(cè)試人員具有開(kāi)發(fā)工具的能力,開(kāi)發(fā)更智能的測(cè)試工具
二队秩、基礎(chǔ)概念:
1笑旺、 什么是軟件測(cè)試?——找bug馍资,發(fā)現(xiàn)缺陷
檢查軟件產(chǎn)品是否符合設(shè)計(jì)的要求
確認(rèn)軟件產(chǎn)品是否符合用戶(hù)的實(shí)際要求
提高軟件產(chǎn)品的質(zhì)量信息筒主,投入較低的成本保障極大的降低劣質(zhì)產(chǎn)品
驗(yàn)證軟件產(chǎn)品的需求,設(shè)計(jì)和實(shí)現(xiàn)的一致性
對(duì)軟件質(zhì)量的全面評(píng)估
提示軟件產(chǎn)品的質(zhì)量風(fēng)險(xiǎn)
驗(yàn)證和確認(rèn)
2鸟蟹、 測(cè)試的定義
使用人工或者自動(dòng)的手段來(lái)進(jìn)行或者測(cè)試某個(gè)系統(tǒng)的過(guò)程
目的在于檢驗(yàn)它是否滿足規(guī)定的需求
弄清預(yù)期結(jié)果和實(shí)際結(jié)果的區(qū)別
3乌妙、 測(cè)試的目的
以最小的人力、物力和時(shí)間建钥,找出軟件中潛在的錯(cuò)誤和缺陷藤韵。
4、 測(cè)試的原則
證明軟件中存在缺陷
不能窮盡測(cè)試
測(cè)試應(yīng)該盡早介入
28原則:我們80%的用戶(hù)只用到%20的功能熊经,重點(diǎn)測(cè)
不存在缺陷謬論:沒(méi)有程序沒(méi)有缺陷
妥善保存一切文檔:工作記錄泽艘,回歸測(cè)試
5、 測(cè)試標(biāo)準(zhǔn)
國(guó)際標(biāo)準(zhǔn):ISO25010
國(guó)內(nèi)標(biāo)準(zhǔn):GBT20438??? GBT18905
6镐依、 測(cè)試的基本要求
外觀界面測(cè)試
功能測(cè)試
性能測(cè)試
安全性測(cè)試
兼容性測(cè)試
易用測(cè)試
7匹涮、 bug的由來(lái)
作為一名軟件測(cè)試人員,我們經(jīng)常聽(tīng)到Bug這個(gè)詞槐壳。
測(cè)試的過(guò)程其實(shí)就是在找Bug然低!
Bug是一個(gè)英文單詞,本意是指昆蟲(chóng)宏粤、小蟲(chóng)子脚翘。
那為什么測(cè)試就是在找Bug呢?
這需要我們?nèi)プ匪輾v史绍哎,當(dāng)時(shí)人們還在使用第一代真空計(jì)算機(jī)(馬克二型)来农,這種計(jì)算機(jī)是依靠控制電流來(lái)改變開(kāi)關(guān),從而實(shí)現(xiàn)控制崇堰,但是它會(huì)發(fā)出大量的熱和光沃于。1949年9月9日涩咖,天氣非常炎熱,有一只娥死在了70號(hào)繼電器里面繁莹,造成電路不通檩互,機(jī)器死機(jī),經(jīng)過(guò)近一天的檢查咨演,Grace Hopper(格蕾斯哈珀)終于找到了真兇闸昨,原來(lái)正是被光吸引過(guò)來(lái)的娥造成了機(jī)器宕機(jī),在這兒之后薄风,在計(jì)算機(jī)科學(xué)中饵较,Bug就從蟲(chóng)子變成了程序的缺陷,一只蟲(chóng)子就這樣被載入了計(jì)算機(jī)史冊(cè)遭赂。
三循诉、測(cè)試與開(kāi)發(fā)模型:
1、 測(cè)試工作流程
A撇他、需求分析:
閱讀需求文檔茄猫、產(chǎn)品文檔、產(chǎn)品詳細(xì)設(shè)計(jì)說(shuō)明書(shū)——分析需求的點(diǎn)——參與需求評(píng)審
快速熟悉項(xiàng)目
B困肩、測(cè)試計(jì)劃與測(cè)試方案:
制定計(jì)劃:測(cè)試整個(gè)項(xiàng)目的總體的規(guī)劃
測(cè)試的范圍划纽,進(jìn)度的安排、人力物力的安排僻弹,整體的測(cè)試策略阿浓,風(fēng)險(xiǎn)的評(píng)估他嚷,風(fēng)險(xiǎn)的規(guī)避
5w 1h——why when who what where how
測(cè)試方案: how
測(cè)試的目標(biāo)蹋绽,測(cè)試工具,測(cè)試的方法筋蓖,測(cè)試的重點(diǎn)
C卸耘、測(cè)試用例設(shè)計(jì)
邊界值 等價(jià)類(lèi)…
D、測(cè)試用例執(zhí)行
E粘咖、評(píng)估階段蚣抗,測(cè)試報(bào)告
2、開(kāi)發(fā)模型
A瓮下、瀑布模型
特點(diǎn):
階段間具有順序性和依賴(lài)性翰铡、推遲實(shí)現(xiàn)、質(zhì)量保證的觀點(diǎn)
是文檔驅(qū)動(dòng)的模型讽坏,遵守這個(gè)約束可使軟件維護(hù)變得更容易一些锭魔,從而顯著降低軟件預(yù)算。
優(yōu)點(diǎn):
為項(xiàng)目提供了按階段劃分的檢查點(diǎn)路呜;
當(dāng)前一階段完成后迷捧,只需要去關(guān)注后續(xù)階段织咧;
可以在迭代模型中應(yīng)用瀑布模型
缺點(diǎn):
用戶(hù)可能需要較長(zhǎng)等待時(shí)間來(lái)獲取一個(gè)可供使用的系統(tǒng),也許會(huì)給用戶(hù)的信任程度帶來(lái)影響和打擊漠秋;
不適合需求模糊或者需求經(jīng)常變動(dòng)的系統(tǒng)笙蒙;
由于開(kāi)銷(xiāo)的逐步升級(jí)問(wèn)題,它不希望存在早期階段的反饋庆锦;
在一個(gè)系統(tǒng)完成以前捅位,它無(wú)法預(yù)測(cè)一個(gè)新系統(tǒng)引入一個(gè)機(jī)構(gòu)的影響。
B搂抒、 增量模型
把瀑布模型的順序特征與快速原型法的特征相結(jié)合绿渣,將軟件看作一系列相互聯(lián)系的增量,在開(kāi)發(fā)過(guò)程的各次迭代中燕耿,每次完成其中的一個(gè)增量
C中符、 快速原型:
是快速建立起來(lái)可以在計(jì)算機(jī)上運(yùn)行的程序
優(yōu)點(diǎn):
克服了瀑布模型的缺點(diǎn),減少由于軟件需求不明確帶來(lái)的開(kāi)發(fā)風(fēng)險(xiǎn)誉帅,適合預(yù)先不能確切定義需求的軟件系統(tǒng)的開(kāi)發(fā)淀散。
? 缺點(diǎn):
所選用的開(kāi)發(fā)技術(shù)和工具不一定符合主流的發(fā)展;快速建立起來(lái)的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會(huì)導(dǎo)致產(chǎn)品質(zhì)量低下蚜锨,使用的前提是要有一個(gè)展示性的產(chǎn)品原型档插,一點(diǎn)程度上可能會(huì)限制開(kāi)發(fā)人員的創(chuàng)新。
1亚再、 快速分析
2郭膛、 構(gòu)造
3、 運(yùn)行
4氛悬、 評(píng)價(jià)
D则剃、 螺旋開(kāi)發(fā)模型
E、 迭代開(kāi)發(fā)模型
和增量模型類(lèi)似如捅。一個(gè)小的版本往上開(kāi)發(fā)棍现,不可以并行。
F镜遣、 敏捷開(kāi)發(fā)模型
3己肮、 測(cè)試模型
V模型
需求分析-概要設(shè)計(jì)-詳細(xì)設(shè)計(jì)-編碼-單元測(cè)試-集成測(cè)試-系統(tǒng)測(cè)試-驗(yàn)收測(cè)試
優(yōu)點(diǎn):
每一個(gè)階段都清晰明了、便于控制開(kāi)發(fā)的每一個(gè)過(guò)程悲关,既包含單元測(cè)試有包含系統(tǒng)測(cè)試谎僻。
缺點(diǎn):
測(cè)試介入的較晚,對(duì)于前期的一些缺陷無(wú)從發(fā)現(xiàn)和修改寓辱,測(cè)試和開(kāi)發(fā)串行讶舰,總用時(shí)較長(zhǎng)肋乍。
W模型
測(cè)試與開(kāi)發(fā)同時(shí)進(jìn)行,有利于盡早地發(fā)現(xiàn)問(wèn)題蛉拙。
優(yōu)點(diǎn):
測(cè)試伴隨軟件的整個(gè)生命周期苞尝。例如抡砂,在需求分析結(jié)束后就可以進(jìn)行需求分析測(cè)試气破。測(cè)試與開(kāi)發(fā)是并行獨(dú)立進(jìn)行的碳锈。
缺點(diǎn):
對(duì)需求和測(cè)試的技術(shù)要求高绞呈,使用于大中企業(yè)倘要。
4、 開(kāi)發(fā)和測(cè)試的關(guān)系
目標(biāo)相同:都是為了制造出高質(zhì)量的軟件
相輔相成:開(kāi)發(fā)經(jīng)驗(yàn)對(duì)測(cè)試有用铛只,測(cè)試經(jīng)驗(yàn)對(duì)開(kāi)發(fā)有用
側(cè)重點(diǎn)不同:開(kāi)發(fā)注重于從無(wú)到有糠溜,測(cè)試偏重于從有到優(yōu)
思維定式淳玩、測(cè)試力度、關(guān)注度
四非竿、軟件測(cè)試的分類(lèi):
1蜕着、測(cè)試(開(kāi)發(fā))階段來(lái)分:
單元測(cè)試:一般在編碼完成前后;(模塊红柱、類(lèi)承匣、函數(shù)、方法)锤悄;開(kāi)發(fā)人員韧骗、白盒測(cè)試人員
集成測(cè)試:?jiǎn)卧獪y(cè)試完成以后;模塊已經(jīng)完成編碼以后零聚;(模塊和模塊之間內(nèi)容)袍暴;開(kāi)發(fā)人員、白盒測(cè)試人員
系統(tǒng)測(cè)試:集成測(cè)試完成之后隶症;(程序政模、軟件、APP蚂会、系統(tǒng)淋样、網(wǎng)站、項(xiàng)目)整體測(cè)試胁住;開(kāi)發(fā)人員趁猴、白盒黑盒測(cè)試人員測(cè)試
驗(yàn)收(交付)測(cè)試:系統(tǒng)測(cè)試之后刊咳;(整個(gè)的系統(tǒng):α測(cè)試【小范圍、內(nèi)測(cè)】儡司、β測(cè)試【大范圍芦缰、公測(cè)】);媒體枫慷、用戶(hù)
2让蕾、是否覆蓋源碼
黑盒測(cè)試:沒(méi)有覆蓋源碼;不關(guān)心代碼如何實(shí)現(xiàn)或听,只在乎結(jié)果探孝。
功能測(cè)試
性能測(cè)試
白盒測(cè)試:覆蓋源碼(透明測(cè)試)
灰盒測(cè)試:介于黑盒與白盒
3、是否運(yùn)行
靜態(tài)測(cè)試
動(dòng)態(tài)測(cè)試
4誉裆、是否自動(dòng)化
手工測(cè)試
自動(dòng)化測(cè)試
5顿颅、地域測(cè)試
本地化測(cè)試
國(guó)際化測(cè)試
6、其他測(cè)試分類(lèi)
回歸測(cè)試
冒煙測(cè)試
隨機(jī)測(cè)試
探索測(cè)試
五足丢、測(cè)試用例
1粱腻、 概念:
測(cè)試用例又叫test case,是為了某個(gè)特殊目標(biāo)而編制的一組測(cè)試輸入斩跌,執(zhí)行條件以及預(yù)期結(jié)果绍些,以便測(cè)試某個(gè)程序路徑或核實(shí)是否滿足某個(gè)特定需求。
2耀鸦、 特性:
有效性:測(cè)試用例可以被使用柬批,且不同人員使用測(cè)試結(jié)果一致
可復(fù)用性:良好的測(cè)試用例具有重復(fù)使用的功能,如:回歸測(cè)試
易組織性:好的測(cè)試用例會(huì)分門(mén)別類(lèi)地提供給測(cè)試人員參考和使用
可評(píng)估性:從測(cè)試管理的角度袖订,測(cè)試用例的通過(guò)率和軟件缺陷的數(shù)目是軟件產(chǎn)品質(zhì)量好壞的標(biāo)準(zhǔn)
可管理性:從測(cè)試管理的角度氮帐,測(cè)試用例的通過(guò)率和軟件缺陷的數(shù)目是軟件產(chǎn)品質(zhì)量好壞的標(biāo)準(zhǔn)
3、 測(cè)試用例的要素
1. 測(cè)試用例編號(hào)
編號(hào)由字符和數(shù)字組合成的字符串洛姑,用例編號(hào)具有唯一性上沐,容易識(shí)別
2. 測(cè)試項(xiàng)目/模塊
測(cè)試的項(xiàng)目屬于哪個(gè)項(xiàng)目或者被測(cè)試的需求,被測(cè)的模塊楞艾、被測(cè)的單元等
3. 預(yù)置條件
執(zhí)行當(dāng)前用例的前提條件参咙,如果前提條件不滿足,則后面的測(cè)試步驟不能進(jìn)行或者得不到預(yù)期結(jié)果
4. 測(cè)試輸入
測(cè)試用例執(zhí)行過(guò)程中需要加工的外部信息产徊,根據(jù)測(cè)試用例的具體條件有手工輸入昂勒、數(shù)據(jù)庫(kù)等
5. 預(yù)期輸出
測(cè)試用例的預(yù)期輸出結(jié)果,包括返回值內(nèi)容舟铜、界面響應(yīng)結(jié)果等(來(lái)自需求文檔)
6. 操作步驟
執(zhí)行當(dāng)前測(cè)試用例需要經(jīng)過(guò)的操作步驟,需要明確的給出一個(gè)步驟的描述奠衔,測(cè)試用例執(zhí)行人員可以根據(jù)步驟完成測(cè)試
7. 測(cè)試用例標(biāo)題
對(duì)測(cè)試用例的簡(jiǎn)單描述谆刨。用概括的語(yǔ)言描述該測(cè)試用例的測(cè)試點(diǎn)塘娶,每個(gè)測(cè)試用例的變體不能夠重復(fù),因?yàn)槊總€(gè)測(cè)試用例的測(cè)試點(diǎn)是不一樣的
8. 級(jí)別
a痊夭、高級(jí)別:保證系統(tǒng)基本功能刁岸,核心業(yè)務(wù),重要特征她我,實(shí)際使用頻率比較高的用例
b虹曙、中級(jí)別:重要程度結(jié)余高和低之間的測(cè)試用例
c、低級(jí)別:實(shí)際使用頻率不高番舆,對(duì)系統(tǒng)業(yè)務(wù)功能影響不大的模塊或功能的測(cè)試用例
9.其他要素
【】對(duì)應(yīng)的開(kāi)發(fā)人員酝碳,出現(xiàn)bug后能及時(shí)找到相應(yīng)的人員進(jìn)行修護(hù)
【】測(cè)試結(jié)果,執(zhí)行用例最后的結(jié)果恨狈,包括pass疏哗、fail、block
【】用例的設(shè)計(jì)者禾怠,能準(zhǔn)確找到測(cè)試用例設(shè)計(jì)人員返奉,對(duì)用例修改時(shí)能方便找到人員
【】用例設(shè)計(jì)日期,方便查用例的設(shè)計(jì)進(jìn)度
【】測(cè)試類(lèi)型:功能吗氏、性能芽偏、壓力等
4、 測(cè)試用例的設(shè)計(jì)原則
1. 明確性
盡量避免測(cè)試賽用例存在含糊的因素在測(cè)試過(guò)程中弦讽,測(cè)試用例的測(cè)試結(jié)果是唯一的
2. 代表性
盡量將具有相似功能的測(cè)試用例抽象合并哮针,功能相似的用例要合并
3. 簡(jiǎn)潔性
可讀性良好,測(cè)試過(guò)程目的明確坦袍,測(cè)試結(jié)果唯一十厢。測(cè)試用例要用陳述性語(yǔ)句直指問(wèn)題的核心,不要使用浮夸的修飾手法
5捂齐、 測(cè)試用例的設(shè)計(jì)方法
a.等價(jià)類(lèi)劃分法
定義:是把所有可能的輸入數(shù)據(jù)蛮放,即程序的輸入域劃分成若干部分,然后從每一部分中選取少數(shù)代表性的數(shù)據(jù)作為測(cè)試用例奠宜。使用等價(jià)劃分法設(shè)計(jì)測(cè)試用例要經(jīng)歷劃分等價(jià)類(lèi)(列出等價(jià)類(lèi)表)和選取測(cè)試用例兩步包颁。它將不能窮舉的測(cè)試過(guò)程進(jìn)行合理分類(lèi),從而保證設(shè)計(jì)出來(lái)的測(cè)試用例機(jī)用例完整性和代表性压真。
b.有效等價(jià)類(lèi)
有效等價(jià)類(lèi)是指對(duì)程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的娩嚼,可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能。
c.無(wú)效等價(jià)類(lèi)
可檢驗(yàn)程序?qū)τ跓o(wú)效數(shù)據(jù)的處理能力滴肿,檢測(cè)程序的健壯性和容錯(cuò)能力岳悟。
設(shè)計(jì)測(cè)試用例步驟
1. 確定需求
2. 確定有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi)
3. 對(duì)每條等價(jià)類(lèi)設(shè)計(jì)測(cè)試用例
d.邊界值法
e.因果圖法
f.判定表法
g.正交表法
h.場(chǎng)景法(冒煙測(cè)試)(例如:打電話的過(guò)程)
i.流程分析法(例如:ATM、銀行設(shè)備)廣度、深度
j.錯(cuò)誤推斷法
測(cè)試用例的力度:簡(jiǎn)單贵少、復(fù)雜呵俏、中庸
六、測(cè)試用例設(shè)計(jì)方法總結(jié)
本質(zhì):
基于需求
理解需求滔灶,反應(yīng)需求普碎,忠于需求
需求會(huì)變化,則測(cè)試用例也應(yīng)該是活的录平,變化的
及時(shí)響應(yīng)變更比準(zhǔn)尋變化更重要
原則:
1. 根據(jù)程序的重要性和一旦發(fā)生故障帶來(lái)的損失麻车,來(lái)確定測(cè)試等級(jí)和測(cè)試重點(diǎn)。
2. 認(rèn)真選擇測(cè)試策略斗这。用盡可能少的的測(cè)試用例發(fā)現(xiàn)盡可能多的的錯(cuò)誤动猬。測(cè)試用例不足則會(huì)導(dǎo)致風(fēng)險(xiǎn)的增大;測(cè)試過(guò)度會(huì)導(dǎo)致資源浪費(fèi)涝影。需要找到平衡點(diǎn)枣察。
方法選取:
1. 先關(guān)注主要功能燃逻,業(yè)務(wù)流程序目、業(yè)務(wù)邏輯是否正確,考慮場(chǎng)景法
2. 需要輸入數(shù)據(jù)的地方伯襟,考慮等價(jià)類(lèi)劃分法
3. 在任何情況下都使用邊界值法
4. 如果程序的功能包括輸入條件的組合情況猿涨,則選取因果法和判定表法
5. 對(duì)于配置類(lèi)軟件,需要考慮參數(shù)的組合情況姆怪,考慮使用正交表法
6. 對(duì)照程序邏輯叛赚,如果發(fā)現(xiàn)沒(méi)有達(dá)到要求的覆蓋標(biāo)準(zhǔn),社黨補(bǔ)充更多的測(cè)試用例
7. 采用錯(cuò)誤推斷法稽揭,追加其他測(cè)試用例
七俺附、測(cè)試用例的評(píng)審
1. 同行評(píng)審
“個(gè)體和交互比過(guò)程中和工具更有價(jià)值”
有測(cè)試小組內(nèi)部進(jìn)行評(píng)審,達(dá)到思想碰撞溪掀,通過(guò)探討事镣、協(xié)作完成測(cè)試用例設(shè)計(jì)
2. 用戶(hù)評(píng)審
“顧客的協(xié)作比合同談判更有價(jià)值”
如果測(cè)試是對(duì)產(chǎn)品的批判,則顧客是最終用戶(hù)或者顧客代表
在公司內(nèi)部可以是市場(chǎng)調(diào)查人員或者相關(guān)領(lǐng)域?qū)<?/p>
如果測(cè)試視為軟件開(kāi)發(fā)提供幫助和支持揪胃,那么顧客就是程序員
八璃哟、軟件缺陷
定義:
內(nèi)部:產(chǎn)品開(kāi)發(fā)或者維護(hù)過(guò)程中存在的錯(cuò)誤
外部:系統(tǒng)所需要實(shí)現(xiàn)的某種功能失效或者違背
總的來(lái)說(shuō),缺陷就是問(wèn)題喊递,最終表現(xiàn)為所需要的功能沒(méi)有完全實(shí)現(xiàn)随闪,沒(méi)有滿足用戶(hù)需求
具體包含(程序、數(shù)據(jù)骚勘、文檔)
缺陷產(chǎn)生的原因:
需求解釋或者記錄錯(cuò)誤
用戶(hù)需求定義錯(cuò)誤
需求說(shuō)明存在錯(cuò)誤
編碼說(shuō)明铐伴、程序代碼有誤
硬件或者系統(tǒng)存在錯(cuò)誤
文檔錯(cuò)誤、內(nèi)容不正確、拼寫(xiě)錯(cuò)誤
缺陷產(chǎn)生的根源:
交流不充分
軟件的復(fù)雜性
開(kāi)發(fā)任務(wù)的錯(cuò)誤
需求的變化
進(jìn)度壓力
九盛杰、缺陷報(bào)告
在測(cè)試后挽荡,如果發(fā)現(xiàn)缺陷藐石,則應(yīng)該進(jìn)行缺陷報(bào)告即供。
缺陷報(bào)告有如下作用:
1.記錄測(cè)試結(jié)果
2.方便開(kāi)發(fā)人員進(jìn)行缺陷定位
3.為后期統(tǒng)計(jì)缺陷提供依據(jù)