前言
產(chǎn)品需求
業(yè)務(wù)場(chǎng)景:
一個(gè)問(wèn)卷調(diào)查的功能,然后產(chǎn)品和業(yè)務(wù)會(huì)不定時(shí)通過(guò)前端界面去根據(jù)篩選條件查詢相關(guān)問(wèn)卷問(wèn)題的答案明細(xì),但是覺(jué)得很慢,讓測(cè)試這邊給出一個(gè)指標(biāo)。
系統(tǒng)架構(gòu):
MySQL數(shù)據(jù)庫(kù),所有問(wèn)卷問(wèn)題相關(guān)的數(shù)據(jù)都存儲(chǔ)在同一張表,單臺(tái)服務(wù)器,無(wú)緩存,通過(guò)一個(gè)查詢接口去查詢返回?cái)?shù)據(jù)。
數(shù)據(jù)量:
每天大概新增3000張問(wèn)卷調(diào)查,每張問(wèn)卷30個(gè)問(wèn)題,每個(gè)問(wèn)題下面還有具體的答案,答案的數(shù)據(jù)類型、大小不清楚。
PS:從我個(gè)人的了解來(lái)看,對(duì)大部分測(cè)試人員來(lái)說(shuō),遇到的性能需求大體都是這種范圍不明確,指標(biāo)不清楚的性能需求,那么如何做好測(cè)試工作,在體現(xiàn)自己價(jià)值的同時(shí),還能學(xué)習(xí)提升呢?
具體問(wèn)題具體分析
場(chǎng)景建模:
和產(chǎn)品業(yè)務(wù)溝通,明確他們的操作場(chǎng)景,比如查詢的條件(時(shí)間范圍、問(wèn)卷類型、分?jǐn)?shù)范圍、用戶類型等),操作時(shí)間(具體到每天哪個(gè)時(shí)間段有多少人進(jìn)行這些操作)。
確定指標(biāo):
明確了業(yè)務(wù)場(chǎng)景后,確認(rèn)不同的操作下,用戶(這里是產(chǎn)品和業(yè)務(wù)人員)的可接受值(比如每天早晨9:00-9:10,100個(gè)人進(jìn)行查詢操作,查詢條件是最近一周A類型用戶的B類型問(wèn)卷,分?jǐn)?shù)在80分以上),
可接受的最大響應(yīng)時(shí)間不超過(guò)5S。
測(cè)試進(jìn)行中
確認(rèn)測(cè)試范圍和具體的性能指標(biāo)后,接下來(lái)就需要進(jìn)行測(cè)試方案設(shè)計(jì)、測(cè)試用例設(shè)計(jì)等一系列的計(jì)劃了,這個(gè)階段是最耗費(fèi)時(shí)間也是最麻煩的。
1、環(huán)境確認(rèn)
首先需要確認(rèn)測(cè)試的執(zhí)行環(huán)境,是生產(chǎn)、UAT還是獨(dú)立的測(cè)試環(huán)境。測(cè)試環(huán)境對(duì)測(cè)試結(jié)果的影響是很大的,大體如下:
生產(chǎn):在執(zhí)行測(cè)試的過(guò)程不能對(duì)其他用戶訪問(wèn)造成影響(時(shí)間選擇很重要),測(cè)試數(shù)據(jù)污染要解決(數(shù)據(jù)隔離:線程標(biāo)記、用戶白名單、擋板、mock對(duì)象、測(cè)試數(shù)據(jù)落入影子庫(kù));
UAT:作為驗(yàn)收環(huán)境,一般來(lái)說(shuō)數(shù)據(jù)的準(zhǔn)確性和系統(tǒng)版本都是最新和相對(duì)穩(wěn)定的,但要考慮對(duì)其他業(yè)務(wù)的影響,理由同上;
測(cè)試:數(shù)據(jù)預(yù)埋、基礎(chǔ)數(shù)據(jù)準(zhǔn)備、測(cè)試數(shù)據(jù)準(zhǔn)備、每次執(zhí)行迭代后的數(shù)據(jù)初始化、服務(wù)器配置和生產(chǎn)是否可以等量代換等;
2、團(tuán)隊(duì)合作
性能測(cè)試不是一個(gè)人就可以搞定的,一般都需要運(yùn)維、DBA、開(kāi)發(fā)、測(cè)試配合來(lái)進(jìn)行,因此做好溝通和協(xié)作很重要。
3、測(cè)試要做什么
上面的工作做完之后,你需要考慮測(cè)試執(zhí)行工具和腳本開(kāi)發(fā)的工作。
需要做的事情如下:
①、和開(kāi)發(fā)溝通,獲取業(yè)務(wù)功能對(duì)應(yīng)的接口文檔(如果沒(méi)有,想辦法),參數(shù)字段的含義,對(duì)應(yīng)的數(shù)據(jù)庫(kù)表字段,造成的影響;
②、和運(yùn)維溝通,確確認(rèn)服務(wù)器的部署,配置(這里可能需要進(jìn)行基準(zhǔn)測(cè)試和配置測(cè)試);
③、和DBA溝通,確認(rèn)測(cè)試數(shù)據(jù)預(yù)埋、基礎(chǔ)數(shù)據(jù)準(zhǔn)備、迭代后的數(shù)據(jù)初始化工作;
④、測(cè)試人員本身,需要準(zhǔn)備測(cè)試數(shù)據(jù),開(kāi)發(fā)測(cè)試腳本,進(jìn)行腳本調(diào)試,執(zhí)行和監(jiān)控分析等工作;
如何在性能測(cè)試中體現(xiàn)測(cè)試的價(jià)值?
我相信很多測(cè)試朋友都經(jīng)歷過(guò)那種不被看中的階段,但也要努力去改變現(xiàn)狀,不斷體現(xiàn)自己的價(jià)值。
如何體現(xiàn),請(qǐng)看下面:
1、做好溝通協(xié)調(diào)
①、和業(yè)務(wù)產(chǎn)品溝通,確認(rèn)需求和場(chǎng)景;
②、和技術(shù)團(tuán)隊(duì)溝通,盡量多溝通,達(dá)成一致(測(cè)試方案、測(cè)試用例、測(cè)試數(shù)據(jù)、測(cè)試環(huán)境);
2、本職工作要做好
①、測(cè)試方案、測(cè)試用例設(shè)計(jì);
②、測(cè)試工具選型、測(cè)試腳本開(kāi)發(fā)和調(diào)試;
③、測(cè)試數(shù)據(jù)的準(zhǔn)備;
④、測(cè)試執(zhí)行、監(jiān)控和分析定位;
3、創(chuàng)造價(jià)值才能贏得尊重
職場(chǎng),一切到頭來(lái)還要從自身創(chuàng)造的價(jià)值來(lái)贏得尊重,那么如何從測(cè)試的角度創(chuàng)造價(jià)值?
①、提高交付的產(chǎn)品質(zhì)量(覆蓋率、風(fēng)險(xiǎn)分析、容錯(cuò)方案、容災(zāi)方案);
②、提高交付速率(解決問(wèn)題的過(guò)程拋出問(wèn)題,流程不規(guī)范、開(kāi)發(fā)不規(guī)范、管理不規(guī)范等,拋出問(wèn)題,然后推動(dòng)解決問(wèn)題)
③、打鐵也要自身硬!因此不斷學(xué)習(xí)提高自己的技術(shù)能力,不斷總結(jié)溝通,才能更好和同事交流,從解決問(wèn)題的角度出發(fā),去解決問(wèn)題,創(chuàng)造價(jià)值!
性能需求的一些優(yōu)化建議
數(shù)據(jù)庫(kù)優(yōu)化:
問(wèn)題點(diǎn):從上面描述的情況來(lái)看,每天產(chǎn)生的數(shù)據(jù)大概有10W+條,且只有一張表存儲(chǔ);
解決方案:分庫(kù)分表,表可以拆分為問(wèn)卷主表、問(wèn)卷對(duì)應(yīng)的問(wèn)題表、問(wèn)題對(duì)應(yīng)的答案明細(xì)表等,長(zhǎng)期來(lái)說(shuō)數(shù)據(jù)量不小,可以考慮分庫(kù),主從分離等,查詢添加索引等方法。
處理邏輯優(yōu)化:
問(wèn)題點(diǎn):一次性查詢的數(shù)據(jù)過(guò)多,導(dǎo)致前端展示較慢;
解決方案:查詢結(jié)果分批次展示(比如有100W條數(shù)據(jù),分為100個(gè)批次,每個(gè)批次10000條數(shù)據(jù))。
存儲(chǔ)優(yōu)化:
問(wèn)題點(diǎn):沒(méi)有緩存,直接從DB單表讀取,容易造成超時(shí)和表鎖;
解決方案:將數(shù)據(jù)放入緩存服務(wù)器(比如Redis),設(shè)定查詢次數(shù)或者有效時(shí)間,多級(jí)緩存,提高緩存命中,防止緩存穿透和同時(shí)失效帶來(lái)的瞬間DB壓力。
業(yè)務(wù)優(yōu)化:
問(wèn)題點(diǎn):多人短時(shí)間內(nèi)查詢大量數(shù)據(jù),對(duì)服務(wù)造成巨大壓力;
解決方案:和產(chǎn)品業(yè)務(wù)溝通,讓查詢操作時(shí)間在業(yè)務(wù)平緩期,拉長(zhǎng)查詢操作的時(shí)間線等。
服務(wù)優(yōu)化:
問(wèn)題點(diǎn):?jiǎn)闻_(tái)服務(wù)器;
解決方案:做服務(wù)集群和負(fù)載均衡,增加監(jiān)控,設(shè)定閾值,超過(guò)閾值則臨時(shí)增加新的服務(wù)器,分流。
下面是我整理的2023年最全的軟件測(cè)試工程師學(xué)習(xí)知識(shí)架構(gòu)體系圖 |
一、Python編程入門到精通
二、接口自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
三、Web自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
四、App自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
五、一線大廠簡(jiǎn)歷
六、測(cè)試開(kāi)發(fā)DevOps體系
七、常用自動(dòng)化測(cè)試工具
八、JMeter性能測(cè)試
九、總結(jié)(尾部小驚喜)
生命是一場(chǎng)馬拉松,成功需要不斷的奔跑和堅(jiān)持。別讓平庸成為你的選擇,擁抱挑戰(zhàn)并享受過(guò)程中的成長(zhǎng)與收獲。相信自己,勇敢前行,未來(lái)的路會(huì)更加美好!
每個(gè)人都有不同的起點(diǎn),但只要你肯付出努力,就能到達(dá)成功的終點(diǎn)。不要被眼前的挫折打倒,相信自己的實(shí)力,堅(jiān)持奮斗,未來(lái)必將充滿可能和無(wú)限可能!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-496855.html
不要害怕失敗,因?yàn)槊看问《际沁~向成功的一步。只有敢于嘗試和不斷努力,才能創(chuàng)造出更好的自己。堅(jiān)持奮斗,迎接挑戰(zhàn),成功將屬于你!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-496855.html
到了這里,關(guān)于你真的會(huì)性能測(cè)試嗎?性能測(cè)試需求分析,從業(yè)務(wù)到數(shù)據(jù)(詳細(xì))...的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!