下面滾動條稍拉動一下,列會跳很遠(yuǎn)(鼠標(biāo)滾輪滾動時(shí)滾幾行總會往上跳動下)
958
2022-05-30
現(xiàn)在,你負(fù)責(zé)測試某一個(gè)電商網(wǎng)站一個(gè)用戶的訂單列表功能,測試過程中你發(fā)現(xiàn)頁面上展示的訂單數(shù)量與實(shí)際數(shù)據(jù)庫里的數(shù)量不一致,請大家結(jié)合自己平時(shí)的工作方式回憶下如何快速的定位該問題是不是BUG或者BUG產(chǎn)生的原因是什么?
如果這只是一道面試題,考察的可能只是你的邏輯思維和實(shí)踐經(jīng)驗(yàn);但如果發(fā)生在生產(chǎn)環(huán)境里,可是會直接造成經(jīng)濟(jì)損失和用戶投訴的!
什么是接口測試?
避免發(fā)生這種業(yè)務(wù)邏輯和數(shù)據(jù)的問題,上線前?API(接口)測試不可或缺!那什么又是接口測試呢?維基百科的解釋是:
API 測試是一種作為集成測試的一部分,通過直接控制被測應(yīng)用的接口(API)來確定是否在功能、可靠性、性能和安全方面達(dá)到預(yù)期的軟件測試活動。由于 API 都沒有 GUI 界面,API 測試都是在通訊層進(jìn)行的。現(xiàn)在 API 測試在自動化測試中有著很重要的地位,因?yàn)?API 一般是應(yīng)用邏輯的主要接口,同時(shí) GUI 測試在敏捷開發(fā)和 DevOps 的快速迭代和頻繁變更中很難維護(hù)。
云時(shí)代接口測試的現(xiàn)狀
接口測試由來已久,云計(jì)算技術(shù)迅速發(fā)展,接口測試的重要性更逐步凸顯。如軟件測試金字塔所言,單元級別測試、接口級別測試、界面級別測試三層由下而上組成測試金字塔,并建議增加下層的測試力度,這樣可以盡早在小范圍內(nèi)發(fā)現(xiàn)和解決軟件問題。但在實(shí)踐中因?yàn)楦鞣N原因單元測試并沒有被廣泛使用,越來越多的研發(fā)團(tuán)隊(duì)在接口層面增加測試投入。
在互聯(lián)網(wǎng)的前后端架構(gòu)中, HTTP REST格式的接口成為一種被廣泛接受的接口協(xié)議。HTTP?REST接口容易理解,獨(dú)立于開發(fā)語言,很多語言框架開箱支持,接口開發(fā)實(shí)現(xiàn)簡單。同時(shí)開源社區(qū)提供了一些輕量的接口開發(fā)插件和可視化工具,降低了接口開發(fā)門檻,如被廣泛使用的Swagger。
單體應(yīng)用向分布式和微服務(wù)架構(gòu)演化的過程中,HTTP?REST接口是組件和服務(wù)的主流調(diào)用方式,幫助完成服務(wù)解耦和服務(wù)自制,同時(shí)接口調(diào)用關(guān)系復(fù)雜度增加。一個(gè)典型的微服務(wù)接口會被多個(gè)服務(wù)調(diào)用,接口作為組件和服務(wù)之間的依賴點(diǎn),需要持續(xù)保證功能可用和性能穩(wěn)定,否則即產(chǎn)生單點(diǎn)失敗引起的連鎖反應(yīng)。在復(fù)雜云服務(wù)系統(tǒng)中,調(diào)用關(guān)系更為復(fù)雜,會有幾十個(gè)微服務(wù),上百個(gè)接口,幾百個(gè)接口操作定義。微服務(wù)之間形成網(wǎng)狀調(diào)用關(guān)系。單個(gè)服務(wù)接口出現(xiàn)問題后,對整個(gè)系統(tǒng)的影響?yīng)q如蝴蝶效應(yīng)。逐級追溯問題工作量巨大,并且需要多個(gè)微服務(wù)團(tuán)隊(duì)緊密配合。分布式和微服務(wù)架構(gòu)的采用,需要與之相對應(yīng)的快速測試反饋手段。
技術(shù)的接口會對應(yīng)組織和團(tuán)隊(duì)的人員溝通接口。接口跨角色、跨團(tuán)隊(duì)使用,不同的角色和團(tuán)隊(duì)對接口需求和驗(yàn)收標(biāo)準(zhǔn)的理解不一致。前端開發(fā)人員或業(yè)務(wù)人員對服務(wù)編程接口不熟悉,導(dǎo)致溝通困難。業(yè)界有很多種嘗試來解決這種問題,比如行為驅(qū)動的開發(fā)和測試,測試驅(qū)動的開發(fā)。歸根結(jié)底是希望用一種大家都可以理解的并且無歧義的方式來做驗(yàn)收。
接口測試功能點(diǎn)多,接口測試用例和場景多,對測試提出很大的挑戰(zhàn)。每個(gè)HTTP?REST接口有多個(gè)傳入?yún)?shù),傳入?yún)?shù)有多種組合,對應(yīng)到不同的輸出。接口測試設(shè)計(jì)還需要考慮鑒權(quán)token、請求頭、響應(yīng)頭、響應(yīng)碼等。再和典型值、邊界值等結(jié)合起來,接口測試用例和場景多,完全使用手工測試工作量大,并且容易有遺漏點(diǎn)。研發(fā)團(tuán)隊(duì)實(shí)踐接口測試需要一種編程門檻低自動化程度高的工具。
如何低投入高效完成接口自動化測試呢?
華為云DevCloud接口測試結(jié)合了華為優(yōu)秀研發(fā)實(shí)踐和研發(fā)理念:
測試用例免代碼編寫,技術(shù)門檻低,適合接口開發(fā)者、接口消費(fèi)者、測試人員、業(yè)務(wù)人員等不同角色。
一鍵導(dǎo)入Swagger接口定義自動生成腳本模板,基于腳本模板組裝編排、管理接口自動化測試用例。
支持HTTP和HTTPS協(xié)議,可視化用例編輯界面,豐富的預(yù)置檢查點(diǎn)、內(nèi)置變量,支持自定義變量、參數(shù)傳遞、持續(xù)自動化測試。
華為云DevCloud接口測試核心特性:
一鍵導(dǎo)入Swagger接口描述文檔,生成接口測試關(guān)鍵字
用戶只需要提供接口的Swagger描述文檔,一鍵導(dǎo)入即可以生成接口測試關(guān)鍵字,每一個(gè)接口操作對應(yīng)一個(gè)測試關(guān)鍵字。測試關(guān)鍵字在用例之間復(fù)用,免除了重復(fù)設(shè)置接口路徑、參數(shù)的工作量。
基于腳本模板關(guān)鍵字,拖拽組裝測試用例
拖拽一鍵生成的腳本模板關(guān)鍵字,在模板中填寫輸入?yún)?shù)和檢查點(diǎn)后,即可以生成接口測試用例,降低腳本編寫門檻,提升效率
提供豐富的預(yù)置檢查點(diǎn)、內(nèi)置參數(shù),支持自定義全局和局部參數(shù),支持測試步驟間參數(shù)傳遞
預(yù)置30多種檢查點(diǎn),簡單選擇即可創(chuàng)建測試檢查點(diǎn);通過把接口數(shù)據(jù)變量化,可以在測試步驟之間傳遞,并可以作為高級測試邏輯的輸入
支持測試套件,按需批量完成接口測試,支持和流水線集成的持續(xù)自動化測試
將接口測試放入流水線中按需執(zhí)行,可以實(shí)現(xiàn)DevOps持續(xù)測試,盡早發(fā)現(xiàn)接口問題。
為你的業(yè)務(wù)保駕護(hù)航,華為云DevCloud接口測試最牛體驗(yàn)官火爆公測中,限時(shí)免費(fèi)體驗(yàn),撰寫體驗(yàn)報(bào)告,更有Kindle閱讀器、頸肩放松器、筆記本支架等你拿!活動地址:http://forum.huaweicloud.com/thread-6353-1-1.html
軟件開發(fā)云 API DevCloud
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。