1.問題思考
A.什么是自動(dòng)化象泵?自動(dòng)化分為哪幾個(gè)文搂?
B.自動(dòng)化測(cè)試是不是可信?
C.自動(dòng)化并沒有解放我們?
A.1:
“手工測(cè)試”:
如圖可以土陪,手工測(cè)試就是手動(dòng)地去遍歷被測(cè)軟件的所有功能昼汗。
自動(dòng)化測(cè)試:
自動(dòng)化測(cè)試就是讓被測(cè)試的軟件自己運(yùn)行起來(lái),執(zhí)行軟件的功能鬼雀。
實(shí)際上我們所說(shuō)的自動(dòng)化測(cè)試就是通過(guò)編寫一點(diǎn)的腳本顷窒,讓被測(cè)程序按照編寫好的路徑遍歷功能
事實(shí)上,自動(dòng)化測(cè)試覆蓋了從 UI (功能測(cè)試)到接口測(cè)試以及單元測(cè)試的整個(gè)過(guò)程源哩,要想很好的掌握自動(dòng)化測(cè)試鞋吉,那么的確需要以下三種領(lǐng)域的經(jīng)驗(yàn)積累:
編程語(yǔ)言,面向?qū)ο缶幊虄?yōu)先励烦,因?yàn)榇罅康拈_源技術(shù)方案谓着,都是基于面向?qū)ο蟮木幊谭绞?br>
第三方測(cè)試工具和測(cè)試框架,這些主要通過(guò)官網(wǎng)的文檔學(xué)習(xí)
測(cè)試的理念與設(shè)計(jì)坛掠,工具和語(yǔ)言赊锚,只是測(cè)試的手段,如何準(zhǔn)備測(cè)試數(shù)據(jù)屉栓,如何設(shè)置測(cè)試的檢查點(diǎn)與測(cè)試步驟舷蒲,這些決定了測(cè)試的成敗
1,UI自動(dòng)化(以selenium2為例)
- 多瀏覽器支持
- 多語(yǔ)言支持
- 多操作系統(tǒng)支持
- 開源免費(fèi)
image
1友多,腳本運(yùn)行之后打開指定的瀏覽起牲平,接收測(cè)試腳本的命令
2,webdriver操作瀏覽器(通過(guò)瀏覽器的原生組件域滥,轉(zhuǎn)化webserver命令為瀏覽器調(diào)用)
3欠拾,用戶操作web application過(guò)程
手動(dòng)功能測(cè)試:
1.打開瀏覽器,輸入網(wǎng)址
2.找到賬號(hào)輸入框輸入賬號(hào)
3.找到密碼輸入框輸入密碼
4.點(diǎn)擊登錄按鈕
5.判斷是否登錄成功
自動(dòng)化測(cè)試
最小測(cè)試case
以及修改后只關(guān)心流程的代碼
測(cè)試報(bào)告
接口測(cè)試:
接口簡(jiǎn)介:
用戶登錄平臺(tái)
接口地址:
https://luoqingfu.cn/api/account/login
請(qǐng)求類型:
post
請(qǐng)求參數(shù)
參數(shù)名 | 類型 | 必填 | 描述 | 默認(rèn)值 | 參考值 |
---|---|---|---|---|---|
device_type | string | 是 | 設(shè)備類型 | 空 | web |
token | string | 是 | token值 | 空 | 空 |
company_id | string | 是 | 組織id | 空 | 空 |
target | string | 是 | 賬號(hào) | 無(wú) | 132xxxxxxxx |
password | string | 是 | 密碼 | 無(wú) | 123456 |
target_type | string | 是 | 賬號(hào)類型 | 無(wú) | 1(手機(jī)號(hào)碼) |
{
"code": 1,
"msg": "登錄成功!",
"data": {
"token": "4baf601b78ebbc99a29bd97d604de65c879afc7e091b7ea209e3eb5f4e1aabee",
"user": {
"id": 2215,
"mobile": "+86-132xxxxxxxx",
"user_email": "",
"user_type": 2,
"user_login": "",
"user_name": "",
"user_nickname": "+8****2263",
"qq_openid": null,
"weibo_openid": null,
"weixin_unionid": null,
"sex": 0,
"birthday": 0,
"score": 0,
"balance": "0.00",
"user_status": 1,
"avatar": "https:\/\/lqf.oss-cn-shenzhen.aliyuncs.com\/default\/avatar\/1.png",
"signature": "",
"last_login_ip": "219.137.186.204",
"unique": "74f6f5718db0cd3d6f9fce8c8e8981f9",
"im_token": "29266c5c935fdf4866a71458874cbe89",
"more": [],
"from_device_type": "web",
"last_login_time": 1557851794,
"create_time": 1556443720,
"update_time": 1557851794,
"delete_time": null,
"wx_pay_openid": null,
"has_company": 1,
"company_id": 148,
"company_name": "lqf"
}
},
"runtime": 0.13,
"time": 1557851968
}
接口測(cè)試:
B:提高自動(dòng)化的可信度
1骗绕,失敗重試機(jī)制
2藐窄,自動(dòng)化場(chǎng)景用例設(shè)計(jì)依據(jù)測(cè)試用例(完善場(chǎng)景)
3,及時(shí)更新自動(dòng)化用例
4酬土,更好的協(xié)作(自動(dòng)化與手工相互補(bǔ)充荆忍,減少重復(fù)勞動(dòng))
5,每天定時(shí)構(gòu)建撤缴。
C.自動(dòng)化并沒有解放我們刹枉?
自動(dòng)化與ci結(jié)合。
場(chǎng)景:
這里沒改過(guò)啊屈呕,怎么出錯(cuò)了微宝?不知道是哪一次提交影響到了
什么是持續(xù)集成?
持續(xù)集成強(qiáng)調(diào)開發(fā)人員提交了新代碼之后虎眨,立刻進(jìn)行構(gòu)建蟋软、(單元)測(cè)試镶摘。根據(jù)測(cè)試結(jié)果,我們可以確定新代碼和原有代碼能否正確地集成在一起
價(jià)值岳守?
(1) 減小風(fēng)險(xiǎn)(快速發(fā)現(xiàn)錯(cuò)誤)凄敢;
(2) 減少手動(dòng)過(guò)程;
(3) 生成構(gòu)建結(jié)果湿痢;
成本涝缝?
持續(xù)集成的成本在于對(duì)持續(xù)集成代碼的維護(hù)成本和集成的時(shí)間成本。因?yàn)殡S著項(xiàng)目進(jìn)行譬重,軟硬件環(huán)境會(huì)越來(lái)越復(fù)雜拒逮,成品代碼也會(huì)不斷膨脹。此時(shí)臀规,需要團(tuán)隊(duì)而修改或增加原有的測(cè)試代碼滩援,以適應(yīng)這些變化,同時(shí)以现,每次集成所需時(shí)間也會(huì)變長(zhǎng)狠怨,這就是持續(xù)集成的成本约啊。
持續(xù)集成應(yīng)該自動(dòng)化什么呢邑遏?
1.自動(dòng)產(chǎn)生可部署的成品(android包,或者iOS包恰矩,或者docker鏡像)
2.自動(dòng)將成品部署到環(huán)境中去
3.自動(dòng)的回歸測(cè)試
4.自動(dòng)生成報(bào)告
選擇一個(gè)ci平臺(tái)记盒?
Jenkins。
Jenkins是一個(gè)獨(dú)立的開源自動(dòng)化服務(wù)器外傅,可用于自動(dòng)執(zhí)行與構(gòu)建纪吮,測(cè)試,交付或部署軟件相關(guān)的各種任務(wù)萎胰。
打包:
場(chǎng)景:昨天這個(gè)功能還是好的碾盟,今天怎么就出錯(cuò)了?(也可能是不知道什么就出錯(cuò)了)
定時(shí)測(cè)試:
場(chǎng)景:需要手動(dòng)更新平臺(tái)代碼技竟。需要在電腦前等待
部署-測(cè)試-結(jié)果
以及消息通知:
[圖片上傳失敗...(image-1d57c1-1576578798461)]
未完:持續(xù)交付