精準(zhǔn)測(cè)試:
精準(zhǔn)測(cè)試是一套計(jì)算機(jī)測(cè)試輔助分析系統(tǒng)。精準(zhǔn)測(cè)試的核心組件包含的軟件測(cè)試示波器万细、用例和代碼的雙向[追溯])扑眉、智能回歸[測(cè)試用例]、選取赖钞、覆蓋率分析腰素、[缺陷]定位、測(cè)試用例[聚類]雪营、分析弓千、測(cè)試用例自動(dòng)生成系統(tǒng),這些功能完整的構(gòu)成了精準(zhǔn)測(cè)試技術(shù)體系献起。
自動(dòng)化覆蓋率:
一般是自動(dòng)化案例除以所有手動(dòng)測(cè)試案例乘以百分百洋访。
前端性能測(cè)試標(biāo)準(zhǔn)的制定:
設(shè)置一般頁面加載參數(shù)的維度的某個(gè)值砰诵,再調(diào)整,最后落地一個(gè)頁面加載的值捌显。
全鏈路壓測(cè):
性能優(yōu)化的核心在我看來其實(shí)就是一個(gè)充分利用系統(tǒng)資源并平衡IO的過程茁彭。這句話怎么理解,首先在保證代碼沒有問題的情況下扶歪,充分利用系統(tǒng)的cpu理肺、內(nèi)存、磁盤資源善镰,一般來說在保證cpu妹萨、內(nèi)存都消耗到80%以上基本上就達(dá)到了性能峰值了,但是我們?cè)趬簻y(cè)過程中常常遇到的問題是cpu炫欺、內(nèi)存消耗都不高乎完,而是卡在了IO上,IO包括了磁盤IO品洛、數(shù)據(jù)庫IO树姨、網(wǎng)絡(luò)IO,我們需要根據(jù)監(jiān)控的數(shù)據(jù)從這3方面去找到瓶頸桥状,并去解決IO的問題帽揪。一般來說造成這種情況一般都是因?yàn)镮O聚集導(dǎo)致了阻塞,可以考慮采用緩存辅斟、異步的方式去解決转晰,對(duì)于一些關(guān)鍵交易的事務(wù)的完整性可以考慮采用先緩存最后通過緩存同步數(shù)據(jù)庫的方式來保證最終一致性。
wiremock:
模擬 API士飒,進(jìn)行快速查邢,強(qiáng)大和全面的測(cè)試。WireMock 是基于 HTTP 的 API 模擬器酵幕。 有些人可能會(huì)認(rèn)為它是服務(wù)虛擬化工具或模擬服務(wù)器扰藕。
當(dāng)依賴的 API 不存在或不完整時(shí),它可以使您保持高效裙盾。 它支持測(cè)試真實(shí) API 無法可靠生成的邊緣情況和故障模式实胸。 而且因?yàn)樗俣瓤焖眨梢詫?gòu)建時(shí)間從幾小時(shí)減少到幾分鐘番官。
Playwright的優(yōu)勢(shì)
(1) Selenium需要通過WebDriver操作瀏覽器;Playwright通過開發(fā)者工具與瀏覽器交互钢属,安裝簡(jiǎn)潔徘熔,不需要安裝各種Driver。
(2) Playwright幾乎支持所有語言淆党,且不依賴于各種Driver酷师,通過調(diào)用內(nèi)置瀏覽器所以啟動(dòng)速度更快讶凉。
(3) Selenium基于HTTP協(xié)議(單向通訊),Playwright基于Websocket(雙向通訊)可自動(dòng)獲取瀏覽器實(shí)際情況山孔。
(4) Playwright為自動(dòng)等待懂讯。
等待元素出現(xiàn)(定位元素時(shí),自動(dòng)等待30s台颠,等待時(shí)間可以自定義褐望,單位毫秒)
等待事件發(fā)生
failpoint:
Failpoint 項(xiàng)目(github.com/pingcap/failpoint)就是為此而生,它是 FreeBSD failpoints 的 Golang 實(shí)現(xiàn)串前,允許在代碼中注入錯(cuò)誤或異常行為瘫里, 并由環(huán)境變量或代碼動(dòng)態(tài)激活來觸發(fā)這些異常行為。Failpoint 能用于各種復(fù)雜系統(tǒng)中模擬錯(cuò)誤處理來提高系統(tǒng)的容錯(cuò)性荡碾、正確性和穩(wěn)定性谨读,比如:
微服務(wù)中某個(gè)服務(wù)出現(xiàn)隨機(jī)延遲、某個(gè)服務(wù)不可用坛吁。
存儲(chǔ)系統(tǒng)磁盤 IO 延遲增加劳殖、IO 吞吐量過低、落盤時(shí)間長(zhǎng)拨脉。
調(diào)度系統(tǒng)中出現(xiàn)熱點(diǎn)闷尿,某個(gè)調(diào)度指令失敗。
充值系統(tǒng)中模擬第三方重復(fù)請(qǐng)求充值成功回調(diào)接口女坑。
游戲開發(fā)中模擬玩家網(wǎng)絡(luò)不穩(wěn)定填具、掉幀、延遲過大等匆骗,以及各種異常輸入(外掛請(qǐng)求)情況下系統(tǒng)是否正確工作劳景。
微服務(wù):
微服務(wù)架構(gòu)是一種架構(gòu)模式,它提倡將單一應(yīng)用程序劃分成一組小的服務(wù)碉就,服務(wù)之間相互協(xié)調(diào)盟广、互相配合,為用戶提供最終價(jià)值瓮钥。每個(gè)服務(wù)運(yùn)行在其獨(dú)立的進(jìn)程中筋量,服務(wù)和服務(wù)之間采用輕量級(jí)的通信機(jī)制相互溝通(通常是基于HTTP的Restful API).每個(gè)服務(wù)都圍繞著具體的業(yè)務(wù)進(jìn)行構(gòu)建,并且能夠被獨(dú)立的部署到生產(chǎn)環(huán)境碉熄、類生產(chǎn)環(huán)境等桨武。另外,應(yīng)盡量避免統(tǒng)一的锈津、集中的服務(wù)管理機(jī)制呀酸,對(duì)具體的一個(gè)服務(wù)而言,應(yīng)根據(jù)業(yè)務(wù)上下文琼梆,選擇合適的語言性誉、工具對(duì)其進(jìn)行構(gòu)