软件测试-环境搭建思路/测试流程
環(huán)境搭建思路/測試流程
- 1.軟件測試環(huán)境搭建
- 1.1 搭建測試環(huán)境前
- 1.2 環(huán)境搭建模式
- 1.3 測試環(huán)境建設(shè)思路
- 2.測試過程
- 2.1 測試策劃過程
- 2.1.1 需求分析
- 余額寶需求測試實戰(zhàn)
- 2.1.2 測試策略
- 2.1.3 測試方案設(shè)計
- 2.1.4 測試方案評審
是看著課程聽的,做的課程的隨堂筆記
課程的鏈接如下:
https://coding.imooc.com/class/411.html
1.軟件測試環(huán)境搭建
思考:
在什么條件下做軟件測試?
怎么做軟件測試?
1.1 搭建測試環(huán)境前
確定測試目的
功能測試(驗證軟件是否滿足用戶的需求),穩(wěn)定性測試,還是性能測試(軟件的效率),測試目的不同,搭建測試環(huán)境時應(yīng)注意的點也不同。
例如:
1.功能測試:不需要大量的數(shù)據(jù),需要覆蓋率高,測試數(shù)據(jù)要盡量真實;
性能測試:需要大量存量數(shù)據(jù)或者與實際硬件環(huán)境盡可能相似的硬件配置;(比如對于app在當(dāng)一千萬個用戶同時訪問的時候能否應(yīng)付)
2.測試的軟件環(huán)境要盡可能模擬真實的環(huán)境,選用合適的操作系統(tǒng)和軟件。(比如有的用戶用ios系統(tǒng),有的用安卓系統(tǒng))
3.了解測試軟件運行的最低要求及用戶使用的硬件配置
4.了解用戶常使用的軟件,避免我們做的軟件配置與其相沖突(萬一產(chǎn)生沖突可能會閃退或者別的錯誤,所以要避免和用戶常用軟件配置沖突。)
5.產(chǎn)品化的測試需要考慮兼容性測試(舉例就是對外的app或者網(wǎng)頁,即不管什么手機(jī)裝了什么軟件都能使用我的軟件)
6.營造獨立的測試環(huán)境,不同人員和項目不要對當(dāng)前測試產(chǎn)生影響(希望我們的測試不要因為其他人員,項目而改變。比如我現(xiàn)在做的測試,萬一開發(fā)也能看到他改動了,對我的測試就會有影響。)
7.構(gòu)建可復(fù)用的測試環(huán)境
通過備份或數(shù)據(jù)隔離的方式。
重復(fù)運用一套測試環(huán)境進(jìn)行多版本多時間段的測試。
1.2 環(huán)境搭建模式
線下搭建:在公司本地進(jìn)行搭建
申請獨立測試服務(wù)器或者虛擬機(jī)測試環(huán)境配置測試項目導(dǎo)入例如:
對于搭建java環(huán)境:
配置java環(huán)境(下載jdk并配置環(huán)境變量)
下載并安裝中間件(tomcat、 jetty或其他)
安裝數(shù)據(jù)庫并導(dǎo),入初始化腳本
線上搭建:
Docker模式(我把我的環(huán)境,想要的東西封到一個大盒子里,然后想用的時候就把盒子扔出去,盒子就直接構(gòu)建出環(huán)境。)
構(gòu)建自己的image鏡像,然后執(zhí)行deploy
依賴第三方平臺:
比如一個云環(huán)境,上面有可以使用的虛擬機(jī),數(shù)據(jù)庫等,自己按需組合即可
eg.螞蟻金融云
1.3 測試環(huán)境建設(shè)思路
考慮點:
用途、使用成本、維護(hù)成本
基本架構(gòu):
研發(fā)環(huán)境:用于研發(fā)自測、集成測試(基于研發(fā)使用的環(huán)境,他自己可以進(jìn)行自調(diào))
測試環(huán)境:用于日常單系統(tǒng)或兩兩微服務(wù)之間測試,可同時集成自動化測試回歸
聯(lián)測環(huán)境:
完備環(huán)境,用于大型聯(lián)測。
(整體的聯(lián)測涉及到所有的業(yè)務(wù)流,接口等,所以要一個非常完備的環(huán)境)
外聯(lián)環(huán)境(如果有需求) :
穩(wěn)定版本環(huán)境,用于外部商戶等聯(lián)調(diào)
灰度/沙箱環(huán)境:
用于生產(chǎn)數(shù)據(jù)測試,仿真測試。
僅僅在測試中自己造數(shù)據(jù)可能會遺漏,所以引入生產(chǎn)數(shù)據(jù)
(灰度 生產(chǎn)驗證等;沙箱 數(shù)據(jù)查詢 生產(chǎn)數(shù)據(jù),生產(chǎn)文件校驗等)
2.測試過程
在邏輯上。測試活動是按順序進(jìn)行的
但是實際測試過程中,這些活動是可以重疊或同時進(jìn)行的(比如支付寶的加好友,登錄,轉(zhuǎn)賬等。對于加好友模塊的測試,還是需要先登錄這個模塊的操作的)
2.1 測試策劃過程
測試策劃分為以下三個部分:
測試策劃步驟:
進(jìn)行 測試需求的分析
確定需要測試的內(nèi)容或質(zhì)量特征
明確測試的充分性要求
提出 測試的基本方法
測試策劃需要進(jìn)行:
確定 測試的資源和技術(shù)需求
進(jìn)行 風(fēng)險分析與評估
根據(jù)上述分析結(jié)果制 定測試計劃
根據(jù)測試計劃開展相應(yīng)的 測試控制活動
2.1.1 需求分析
過往的軟件生命周期中,需求分析階段是沒有測試人員參與的。但隨著軟件過程的優(yōu)化, 測試人員的加入對需求分析階段有了更大的作用。
測試在需求分析階段加入的原因
1.測試工程師參與需求分析, 對需求了解很深刻,減少與開發(fā)人員的交互,節(jié)省時間(針對一些功能,測試需要在初期和開發(fā)人員來進(jìn)行溝通)
2.早期確定測試用例的編寫思路, 為測試打好了基礎(chǔ)
3.可以 獲取一些測試數(shù)據(jù),為測試用例設(shè)計提供幫助(產(chǎn)品可能會更了解用戶的需求和掌握更多的數(shù)據(jù),所以早一點可以獲取一些測試數(shù)據(jù))
4.可以 發(fā)現(xiàn)需求不合理的地方,降低測試成本(違反正常的操作準(zhǔn)則等 可以提早發(fā)現(xiàn),避免更多的回爐重造。)
需求測試的作用:
1.測試需求的分析用來確定整個測試工作,明確測試對象以及測試工作的范圍和作用,并作為測試覆蓋的基礎(chǔ)。
2.被確定的測試需求項必須是可核實的,測試需求必須有一個可觀察、可評測的結(jié)果。
3.如果無法核實的需求就不是測試需求。
4.測試需求分析還包括與客戶的交流以澄清某些混淆
5.明確哪些需求更重要
6.確保風(fēng)險承擔(dān)者盡早對項目達(dá)成共識
7.對將來的產(chǎn)品有清晰的認(rèn)識
8.測試需求是制訂測試計劃的基本依據(jù)
9.測試需求是設(shè)計測試用例的指導(dǎo)
10.確定了要測什么、測哪些方面才能有效設(shè)計用例
需求驗證:
◆審查需求文檔
◆對需求文檔及相關(guān)模型進(jìn)行仔細(xì)檢查
◆另外在需求開發(fā)期間所做的非正式評審也是有所裨益的
應(yīng)當(dāng)這樣做:
以需求為依據(jù)編寫測試用例:
編寫用戶手冊
在需求開發(fā)早期即可起草一份淺顯易懂的用戶手冊,用以描述出所有對用戶可見的功能并用它作為需求規(guī)格說明的參考并輔助需求分析
確定合格的標(biāo)準(zhǔn):
讓用戶描述什么樣的產(chǎn)品才算滿足他們的要求和適合他們的使用
將確認(rèn)合格的測試建立在使用情景描述或使用實例的基礎(chǔ)之.上
余額寶需求測試實戰(zhàn)
以支付寶上余額寶業(yè)務(wù)為例分析
1.原始需求:
早在2012年左右,支付寶雖然很快被大眾接受,但是卻面臨著一種比較普遍的現(xiàn)象:支付寶賬戶余額內(nèi)總是有一 筆閑置資金,雖然不同賬戶資金數(shù)額有多有少,但總的來說,這筆躺在賬戶什么做不了的閑置資金數(shù)額還是比較龐大的,對于支付寶的發(fā)展而言非常不利
2.產(chǎn)生需求:
于是,產(chǎn)生了這樣一個需求,與基金公司合作推出貨幣基金產(chǎn)品,同時用戶購買貨幣基金后,可直接通過貨幣基金金額進(jìn)行支付購買商品或服務(wù)。
貨幣基金可以視同余額、集分寶一樣作為支付工具進(jìn)行消費。
3.審查需求文檔:
我們一起簡單看下需求文檔,大概分為以下:
需求分析
流程圖
文字流程
約束條件
扣款的優(yōu)先級
異常處理
安全控制
頁面
需求分析過程中我們會將上面的流程分為:
貨幣基金購買、提現(xiàn)、消費、資產(chǎn)管理、交易查詢幾部分
可以通過需求規(guī)格說明書檢查列表進(jìn)行檢查
2.1.2 測試策略
測試之前需要考慮的問題:
你知道要測試的系統(tǒng)是干什么的嗎?
你了解系統(tǒng)有些什么特點嗎?
系統(tǒng)有些什么功能?
系統(tǒng)哪些部分需要測試?哪些不要測試?
系統(tǒng)對性能有什么要求?
系統(tǒng)對安全性有什么要求?
由以上問題可以得出測試策略的要求:
測試策略是描述測試項目和測試任務(wù)之間的關(guān)系。
它用來說明要測什么,如何測,如何協(xié)調(diào)測試資源和測試時間等。
測試策略要素:
1.測試安排、發(fā)布計劃
羅列測試項目本身重要的里程碑
每個里程碑都需要有明確的結(jié)束時間,這個時間可以指導(dǎo)我們后續(xù)的測試
2.測試時間
如果測試時間安排不足,我們就可以在后續(xù)的測試范圍中挑選優(yōu)先級比較高的特性來執(zhí)行測試
這樣可以最大限度的保證產(chǎn)品的質(zhì)量
3.測試范圍(按照優(yōu)先級排列)
分為In Scope和Out Of Scope(分為在范圍內(nèi)和范圍外)
需要說明哪些模塊是在測試范圍中的,哪些是本階段測試不考慮的
對于在測試范圍中的模塊,需要給出優(yōu)先級,以便相應(yīng)測試時間不足的情況
對于不在測試范圍中的模塊,需要給出原因
4.測試資源
測試資源在測試策略中也是很重要的一環(huán),它分為人力和工具兩部分
人力資源主要說明參與測試的人員,當(dāng)然可以包括很多的角色,如專業(yè)測試人員,客戶,產(chǎn)品經(jīng)理等
工具即可能用到的其他軟件
5.測試環(huán)境
測試環(huán)境主要包括推薦環(huán)境解決方案,操作系統(tǒng)要求,軟硬件要求
對于推薦解決方案,需要陳述的是對測試項目對其他軟件的依賴
比如測試項目對JAVA有依賴,推薦版本可能就是1.7
6.測試方法
測試方法的羅列主要是為了說明針對測試項目我們要開展哪些類型的測試
功能測試是必須的,非功能測試是可選的
7.文檔管理
對于一個完整的產(chǎn)品來說,文檔是很重要的一環(huán),它一般包括安裝、升級文檔,用戶指南等
文檔不單單是一個文件,已經(jīng)是軟件的一部分,所以需要完成測試才能發(fā)給用戶,以免文檔不正確誤導(dǎo)用戶從而使他們對測試項目失去信心。
8.風(fēng)險管理
風(fēng)險管理模塊需要羅列出來現(xiàn)在已知的可能會出現(xiàn)不確定性的因素(比如我們這個公司的技術(shù)沒法達(dá)到用戶的要求,比如同時有3億人來訪問某個app)
這些因素可能來自技術(shù),資源或者其他方面的(對于需要的軟件,有可能非常貴,公司負(fù)擔(dān)不起,或者需要和銀行對接才能測試成功,但是有可能無法和銀行對接)
2.1.3 測試方案設(shè)計
測試策略:
側(cè)重需求分析,評估風(fēng)險,定義測試范圍
確定測試方法,制定測試啟動、停止、完成標(biāo)準(zhǔn)和條件
測試計劃:
制定項目 測試過程中的測試重點
各個階段的任務(wù)分配以及時間進(jìn)度安排
并提出對各項任務(wù)的評估,風(fēng)險分析,可以包括測試策略
測試方案:
側(cè)重測試的方法,測試環(huán)境的規(guī)劃
測試工具的設(shè)計和選擇,測試用例的設(shè)計方法,測試代碼的設(shè)計方案
測試策略VS測試計劃VS測試方案
◆實際實施過程中,往往存在這樣類似的方式:
◆ 測試方案=測試計劃+用例設(shè)計方案+工具選擇+自動化/性能測試具體方案
◆ 測試計劃=測試策略+測試任務(wù)分配+時間進(jìn)度安排
貨幣基金消費測試方案分析過程
1.分析需求:
當(dāng)前測試包含需求項(需求文檔或wiki鏈接等)
2.測試計劃(里程碑)及負(fù)責(zé)人:
整理當(dāng)前項目各模塊測試負(fù)責(zé)人、任務(wù)分配及測試時間安排
3.測試范圍、測試重點:
那些point需要測試, 重點放在什么地方,優(yōu)先級安排
4. 策略及工具: 是否需要進(jìn)行自動化、性能、安全測試?使用哪些工具.
5. 測試用例設(shè)計方法:
使用什么樣的黑盒測試方法進(jìn)行設(shè)計(等價類?邊界值?因果圖?等等)
6. 測試環(huán)境:
測試環(huán)境是什么?需要哪些服務(wù)器、數(shù)據(jù)庫,配置如何等
7.聯(lián)調(diào)測試:
是否需要與第三方或其他部門進(jìn)行聯(lián)調(diào)?何時開展?聯(lián)調(diào)包括哪些功能?例如基金公司
8.測試限制:
在測試環(huán)境中哪些內(nèi)容無法測試?
9.測試風(fēng)險:
在測試或計劃測試過程中由于時間安排、測試限制、優(yōu)先級分布可能帶來的測試風(fēng)險考量
2.1.4 測試方案評審
如果不進(jìn)行測試方案的評審,會造成嚴(yán)重后果:
僅從文檔、溝通獲取信息,可能會造成信息不對稱,認(rèn)識片面,理解錯誤或不深入等問題
缺少同行交叉評審和開發(fā)評審機(jī)制,無法充分發(fā)揮集體智慧,個人的思維難以突破,可能會出現(xiàn)測試遺漏的情況
測試評審的目的:
呈現(xiàn)測試的工作
與開發(fā)達(dá)成共識.(比如發(fā)紅包這個操作,對于開發(fā)來說:錢到了賬上 就算操作完成;對于測試:用戶是否有不想要這個紅包的需求)
不同的思維方式碰撞出火花,借鑒被人的思考方式
培養(yǎng)這樣的行為模式:愿意為團(tuán)隊或他人出謀劃策
發(fā)揮團(tuán)隊協(xié)作,最大限度發(fā)揮個人的經(jīng)驗,特長,實現(xiàn)技能互補(bǔ).
評審重點:
采用的測試方法(比如我認(rèn)為這個項目不需要用性能測試,但是有可能他需要)
等價類劃分的依據(jù)
測試數(shù)據(jù)的選取和準(zhǔn)備方法(比如現(xiàn)在做一個加法計算器,驗證它是否選取,不可能輸入所有的數(shù)據(jù),那么選取那些數(shù)據(jù)為什么選取就是需要評審的)
流程測試的路徑組合(在淘寶中如何進(jìn)行購買商品的流程)
數(shù)據(jù)比對選取的對象和檢查點(比如在淘寶上買了新手機(jī),評估下單后數(shù)據(jù)庫的接口,數(shù)據(jù)等是否正常)
是否需要模擬數(shù)據(jù)及模擬數(shù)據(jù)的方法(比如預(yù)言雙十一的活動,那么需要模擬多少數(shù)據(jù)多少下單量來制定方案)
基于風(fēng)險的測試取舍(當(dāng)克服不了風(fēng)險的時候需要批漏出來)
總結(jié)
以上是生活随笔為你收集整理的软件测试-环境搭建思路/测试流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首届恩智浦智能车比赛回顾
- 下一篇: 数字图像简介及表示