軟件測(cè)試相關(guān)概念以及原則
敏捷測(cè)試:1、強(qiáng)調(diào)從客戶角度進(jìn)行測(cè)試
2、重點(diǎn)關(guān)注迭代測(cè)試新功能,不再強(qiáng)調(diào)測(cè)試階段
3、盡早測(cè)試,不間斷測(cè)試,具備條件即測(cè)試
4、強(qiáng)調(diào)持續(xù)反饋
5、預(yù)防缺陷重于發(fā)現(xiàn)缺陷
敏捷測(cè)試 VS 傳統(tǒng)測(cè)試
傳統(tǒng)測(cè)試:1、測(cè)試是質(zhì)量的最后保護(hù)者
2、嚴(yán)格的變更管理
3、預(yù)先的計(jì)劃和細(xì)節(jié)的準(zhǔn)備
4、重量級(jí)文檔
敏捷測(cè)試:1、開發(fā)和測(cè)試人員是緊密合作,大家都有責(zé)任對(duì)軟件負(fù)責(zé)
2、變更是可接受的,擁抱變更
3、計(jì)劃隨著進(jìn)展時(shí)常調(diào)整
4、只需要絕對(duì)必要的文檔
基于腳本的測(cè)試:
Script-based Testing:先做測(cè)試設(shè)計(jì)再做測(cè)試
Script Testing(ST)
Exploratory Testing(ET):探索式測(cè)試;比較流行的測(cè)試方法。通過探索我們的被測(cè)系統(tǒng),帶著問題來使用我們的被測(cè)系統(tǒng),并在探索的過程中發(fā)現(xiàn)測(cè)試的要點(diǎn),找出我們被測(cè)系統(tǒng)的問題,在測(cè)試過程當(dāng)中測(cè)試設(shè)計(jì)和測(cè)試執(zhí)行原則是并行的,對(duì)于測(cè)試人員來說更加自由,更加依賴測(cè)試人員的責(zé)任。
1、完全拋開測(cè)試腳本的測(cè)試
2、它是一種測(cè)試風(fēng)格,思維,而不是一種測(cè)試技術(shù)
ST VS ET
ST:1、系統(tǒng)性強(qiáng)
2、容易管理,控制
3、設(shè)計(jì)在先,執(zhí)行在后
4、主要是驗(yàn)證自己的思路
5、可預(yù)見性
ET:1、自由靈活的
2、和ST是互補(bǔ)的
3、執(zhí)行和設(shè)計(jì)(思考)并行
4、不斷和系統(tǒng)交互,帶著問題測(cè)試
5、學(xué)習(xí)的過程
探索式測(cè)試的優(yōu)點(diǎn):1、更能激發(fā)測(cè)試人員的創(chuàng)造性和工作樂趣
2、增加了發(fā)現(xiàn)新的或較深入bug的可能性
3、在較短時(shí)間內(nèi)找到更多bug以及對(duì)SUT做一個(gè)快速的評(píng)估
4、有利于更加有效的實(shí)施自動(dòng)化
5、更加適用于敏捷項(xiàng)目
6、減少了在簡單,繁復(fù)上用例的無謂編寫時(shí)間
缺點(diǎn):1、測(cè)試管理上有局限性,膠南協(xié)調(diào)和控制
2、對(duì)于bug的重復(fù)利用和中時(shí)尚作用有限
3、對(duì)測(cè)試人員的測(cè)試技能和業(yè)務(wù)知識(shí)深度依賴較大
4、只有在被測(cè)系統(tǒng)已完全可用的前提下才更有作用
5、ET的生產(chǎn)率很難定義,測(cè)試的過程和測(cè)試完成度很難度量
6、ET本身較難進(jìn)行自動(dòng)化,更多的是看測(cè)試人員
---------
局部探索式測(cè)試:
輸入:接受輸入,產(chǎn)生輸出,存儲(chǔ)數(shù)據(jù),進(jìn)行運(yùn)算。從輸入順序,輸出內(nèi)容,輸出異常幾個(gè)角度來考慮我們的測(cè)試要點(diǎn)
狀態(tài):臨時(shí)狀態(tài)和永久狀態(tài)。運(yùn)行時(shí)有效,階段有效這種相對(duì)臨時(shí)的狀態(tài)。數(shù)據(jù)庫保存、文件保存為永久狀態(tài)。狀態(tài)的信息它可以協(xié)助我們來更加有效的判斷我們的測(cè)試輸入和輸出
代碼路徑:更多指代碼覆蓋
用戶數(shù)據(jù):更多的應(yīng)該采用真實(shí)用戶數(shù)據(jù)
執(zhí)行環(huán)境:軟件操作系統(tǒng)、跟系統(tǒng)交互的第三方系統(tǒng)、系統(tǒng)的配置數(shù)據(jù)、運(yùn)行系統(tǒng)的硬件設(shè)備
--------
全局探索式測(cè)試:漫游測(cè)試法
商業(yè)區(qū):軟件從啟動(dòng)到關(guān)閉這期間用戶可能使用到的功能
旅館區(qū):軟件在休息,也就是沒有在運(yùn)行時(shí)的一些功能,一般指運(yùn)行在后臺(tái)的或者一些定時(shí)任務(wù)
歷史區(qū):軟件版本歷史遺留代碼當(dāng)中的一些功能或者在以前測(cè)試中發(fā)現(xiàn)的較多問題的功能
旅游區(qū):比較關(guān)注的功能。新手指引、新用戶注冊(cè)
娛樂區(qū):系統(tǒng)功能之外,輔助的特性、功能
破舊區(qū):廢棄的功能
執(zhí)行探索性測(cè)試:
know you mession:需要了解測(cè)試任務(wù)的重點(diǎn)
learning session:詳細(xì)的學(xué)習(xí)和探索被測(cè)系統(tǒng),了解系統(tǒng)的業(yè)務(wù)邏輯,具體功能
coverage session:實(shí)施階段,完成主要功能點(diǎn)的測(cè)試驗(yàn)收,覆蓋測(cè)試
deep session:在上一階段的基礎(chǔ)上來進(jìn)行深入發(fā)散式探索式測(cè)試,挖掘深層次問題
close session:總結(jié),整理測(cè)試過程中出現(xiàn)的信息,分析測(cè)試過程是不是有遺漏
缺陷大掃除:針對(duì)信息進(jìn)行大掃除
基于風(fēng)險(xiǎn)的測(cè)試---RBT
定義:一種基于對(duì)軟件失效的風(fēng)險(xiǎn)評(píng)估并以此知道測(cè)試計(jì)劃、設(shè)計(jì)、執(zhí)行、結(jié)果評(píng)價(jià)的軟件測(cè)試類型
哪些是風(fēng)險(xiǎn)?
質(zhì)量風(fēng)險(xiǎn):軟件功能、應(yīng)用性、性能、軟件功能缺失、數(shù)據(jù)轉(zhuǎn)換
管理風(fēng)險(xiǎn):人員技能不足、人力不足、測(cè)試環(huán)境不具備、被測(cè)系統(tǒng)的需求不清晰
優(yōu)點(diǎn):1、有限測(cè)試高風(fēng)險(xiǎn),所以版本質(zhì)量更加有保障
2、對(duì)項(xiàng)目識(shí)別風(fēng)險(xiǎn)的人要求較高,對(duì)功能和數(shù)據(jù)比較詳細(xì),如果準(zhǔn)確率達(dá)不到要求,很容易產(chǎn)生風(fēng)險(xiǎn)評(píng)估率的偏差
按測(cè)試類型分類:功能測(cè)試,性能測(cè)試,兼容性測(cè)試,部署測(cè)試,易用性測(cè)試,文檔測(cè)試,本地化測(cè)試,安全測(cè)試,無障礙測(cè)試,可靠性測(cè)試
----------
功能測(cè)試:根據(jù)產(chǎn)品特性,操作描述和用戶方案,測(cè)試一個(gè)產(chǎn)品的特性和可操作行為以確定他們滿足設(shè)計(jì)要求。簡單來說,就是對(duì)提供給用戶的軟件功能進(jìn)行驗(yàn)證
針對(duì)的問題:功能錯(cuò)誤或遺漏、界面問題、性能錯(cuò)誤、數(shù)據(jù)及訪問錯(cuò)誤、初始化及終止錯(cuò)誤
功能測(cè)試工具:QTP/winrunner:使用較多
silkTest、Rational、robot
開源:selenium、watir、sikuli
--------
性能測(cè)試:驗(yàn)證軟件系統(tǒng)的性能,開源滿足需求規(guī)格給定的指標(biāo)要求
衍生出:負(fù)載測(cè)試。在我們測(cè)試過程中來逐步增加負(fù)載,并且記錄下被測(cè)系統(tǒng)相應(yīng)的性能表現(xiàn),最終確定出我們系統(tǒng)在正常的指標(biāo)范圍下最大的負(fù)載
--------
壓力測(cè)試:測(cè)試系統(tǒng)在極限情況下的壓力情況,測(cè)試在什么樣的負(fù)載壓力下會(huì)導(dǎo)致系統(tǒng)的失效,不能夠正常運(yùn)行,測(cè)試系統(tǒng)所能承受的最大極限
--------
穩(wěn)定性測(cè)試:稍大于正常業(yè)務(wù)量的一個(gè)負(fù)載,對(duì)系統(tǒng)進(jìn)行持續(xù)的、長時(shí)間的測(cè)試
性能指標(biāo):并發(fā)用戶數(shù)、每秒事務(wù)數(shù)、系統(tǒng)響應(yīng)時(shí)間、設(shè)備性能
性能測(cè)試工具:LoadRunner:使用較多,silkperformer,jmeter,webload
靜態(tài)性能評(píng)估(重點(diǎn)):開發(fā)web應(yīng)用時(shí),基于一系列web應(yīng)用頁面性能優(yōu)化的最佳實(shí)踐對(duì)web應(yīng)用的應(yīng)用進(jìn)行靜態(tài)分析,并給出評(píng)估結(jié)果的性能分析方法
工具:yslow,pagespeed
應(yīng)用性能管理:APM,提供對(duì)系統(tǒng)的實(shí)時(shí)監(jiān)控以實(shí)現(xiàn)性能管理、故障管理的解決方案
聽云:www.tingyun.com
---------
安全測(cè)試:對(duì)軟件產(chǎn)品進(jìn)測(cè)試以確保其符合產(chǎn)品需求和質(zhì)量標(biāo)準(zhǔn)
安全測(cè)試工具:Appscan、webinspect、nessus、nmap、metasploit、webscarab、fortify(白盒測(cè)試)、W3AF
-------
滲透測(cè)試:通過模擬對(duì)軟件系統(tǒng)的惡意攻擊行為來評(píng)估系統(tǒng)安全性的一種測(cè)試
滲透測(cè)試 VS 安全測(cè)試
滲透測(cè)試:攻擊。目的就是攻破我們的軟件系統(tǒng)以證明系統(tǒng)存在的問題。------關(guān)注“點(diǎn)”
安全測(cè)試:防。對(duì)整個(gè)系統(tǒng)防御的功能進(jìn)行系統(tǒng)的考慮來驗(yàn)證。------關(guān)注“面”
--------
兼容性測(cè)試:軟件本身的兼容性,不同平臺(tái)軟件對(duì)運(yùn)行設(shè)備的兼容性,軟件互操作性(比如開發(fā)的軟件是否與微信、qq等其他第三方軟件一起使用),瀏覽器內(nèi)核
瀏覽器兼容性測(cè)試工具:Browsershorts、Browser Sandbox、Google瀏覽器兼容性測(cè)試插件
性能知識(shí)庫網(wǎng)址:www.w3help.org
---------
文檔測(cè)試:針對(duì)軟件產(chǎn)品的交付品,配套的文檔類部件的測(cè)試。如用戶手冊(cè)、使用說明、用戶幫助文檔等
關(guān)注要點(diǎn):完整性、正確性、一致性、易瀏覽性、易理解性
--------
可靠性測(cè)試:軟件可靠性、硬件可靠性
-------
易用性測(cè)試:指測(cè)試用戶使用軟件時(shí)是否感覺方便,是否能保證用戶使用體驗(yàn)的測(cè)試類型
-------
本地化測(cè)試:針對(duì)軟件的本地化版本實(shí)施的針對(duì)性測(cè)試(比如中文、英文)
主要測(cè)試內(nèi)容:語言、書寫習(xí)慣、時(shí)區(qū)、日期格式、貨幣、當(dāng)?shù)仫L(fēng)俗、法律法規(guī)、政治敏感內(nèi)容
--------
部署測(cè)試:也稱安裝測(cè)試,主要驗(yàn)證系統(tǒng)部署過程,并確保軟件經(jīng)過安裝測(cè)試后可以正常使用
主要測(cè)試內(nèi)容:在不同環(huán)境下的部署驗(yàn)證,參照部署文檔執(zhí)行,過程的合理,正確性,基礎(chǔ)數(shù)據(jù)
-------
無障礙測(cè)試:可訪問性測(cè)試,是指軟件需要提供便于特殊人群使用的功能,包括視障、聽障、老年人、身體殘疾用戶等
------
回歸測(cè)試:軟件功能修改后,對(duì)軟件進(jìn)行重新測(cè)試以確認(rèn)修改沒有引入新的錯(cuò)誤或?qū)е缕渌糠之a(chǎn)生錯(cuò)誤?;貧w測(cè)試的中心在關(guān)鍵模塊和重點(diǎn)功能組件
------
冒煙測(cè)試:來自于硬件板卡驗(yàn)證術(shù)語。軟件上則用于確認(rèn)代碼中的更改會(huì)按預(yù)期運(yùn)行,切不會(huì)破壞整個(gè)版本的穩(wěn)定性
------
A/B測(cè)試:多用于互聯(lián)網(wǎng)行業(yè)。通過為頁面提供兩個(gè)版本給用戶使用并記錄相關(guān)用戶行為數(shù)據(jù),來確定更優(yōu)化設(shè)計(jì)的一種方案
A/B測(cè)試實(shí)施要點(diǎn):1、多個(gè)方案并行
2、每次測(cè)試僅改動(dòng)一個(gè)變量
3、按照某種規(guī)律進(jìn)行優(yōu)勝劣汰
