閱讀675 返回首頁    go 財經資訊


什麼?性能測試(PTS)居然還有這麼多隱藏技能?

最近性能測試服務 (PTS)的產品經理提了很多需求(鄭重聲明,來源於客戶),雖然開發GG說已經上線了,但是我*,作為產品經理的智商愣是沒找到。。。
看完開發GG的介紹和文檔,我內心的OS是:“我!@#¥%... ...&&,這貨估計被魂⽃羅和97殘害了十 ⼏年,←→←→←→←→AC,↑↓↑↓↑↓↑↓BD,↑←↓→↑↓BC,上、上、下、下、左、右、左、 右、B、A、B、A。。。。。。”

給你們舉例子,比如Header和Cookie設置:

基礎版⾥Header的設置是這樣的,在新增腳本或編輯腳本的頁麵,將光標移至請求鏈接上方,將出現鏈接的編輯選項,單擊高級屬性。

Header 項中 POST 請求默認添加 Content Type 請求頭,值為 application/x-www-form- urlencoded。

鉑⾦版裏是這樣的:

然後你發現大有文章。。。。

比如Header和Cookie的設置,其實直接支持批量在參數文件⾥設置了,⽽且超簡單:格式為 “header::key=value”。
如果有多個 Header,請使用 & 隔開,與普通參數的區別是 Header 有⼀個前綴 header::,跟普通參數放在⼀起,沒有順序要求。而Cookie 是一種特殊的 header,也可以參照設置 header ⽅式來設置,例如:
開發GG說這樣便於構造大量的壓測數據,隨導隨⽤,而且有開發背景的⽤戶一看就懂, 我。。。。。。。。

然後,遠還沒有結束,類似這種開發視⻆的,geek風的設計還有,⽐如業務場景⾥很常見的串行實踐:

對於同⼀個業務係統,鏈路和鏈路之間存在⼀定的邏輯關係。鏈路串⾏主要適⽤用於這種存在參數依賴的場景。建議不要將隻是邏輯上存在依賴的鏈路串⾏起來。

開發GG還不忘把理念也輸出。

具體的他⽤了商城係統抽獎活動為例說明,本次活動會引導⽤戶進⼊首⻚進⾏抽獎,預估的訪問⾸頁的峰值 TPS 為 10000,其中有 8000 TPS 進⾏了抽獎,抽中的概率為50%,那麼會有⼤大概 4000 TPS 對商品進⾏瀏覽,根據曆史的數據⽤戶下單付款的概率在 10% 左右。我們可以抽象出“⾸⻚”、“抽獎”、“查看詳情⻚”和“下單”等四個業務鏈路,從業務的維度來說存在⼀定的邏輯關係,但是我們進⼀步分析可以發現,除了首頁之外,“查看詳情頁”和“下單”都依賴“抽獎”的結果。因此可以將後⾯三條鏈路串⾏起來。

然後怎麼串起來呢?他說這⾥編排,呐,這⾥

開發GG是這麼一本正經的給(hu)我(shuo)解(ba)釋(dao)的:

編排是通過json格式實現的,就是數組和對象的組合,最外側的數組就是表示並⾏的⼏個業務場景

單個場景⾥是串⾏的,然後重點來了,在單場景的數組⾥可以定義很多指令(directive),⽐如:
chain(鏈路)
wait(思考時間)
cookieStore(存儲cookie)
cookieGet(獲取cookie)
condition(條件判斷)
prepare(具備監聽和指揮的功能,互相關聯,配合cookie的操作,⽐如需要⼏個⽤戶完成登錄再
進⾏其他場景的開始)
dam(集合點)

其中
chain(鏈路)默認就是循環執⾏,可以增加⼀個參數,隻執⾏⼀次,⽐如登錄場景

wait(思考時間)⽀持三種:固定時間、區間隨機、正態分布,分別如下圖:

cookieStore(存儲cookie),⼀般在登錄完成之後,如果有並⾏的場景需要共享cookie則使⽤

cookieGet(獲取cookie),主要⽤於並⾏的其他場景共享使⽤

condition(條件判斷),⽀持return/continue/jump,可以通過鏈路ID.key來獲取作為判斷的依據,下⾯的例⼦中這個值分別為3、4、5時對應的是return、continue、jump

prepare,這⾥的prepare就是指揮型的

這⾥的prepare是監聽型的,監聽上⾯這個prepare,業務側看就是9個⽤戶完成了登錄就可以開始這邊的業務場景了

dam(集合點),這個厲害了,適配很多真實的業務場景,秒殺、搶票、查成績等等。

實踐出真知,現在就動手吧,不客氣

最後更新:2017-10-30 15:34:00

  上一篇:go  阿裏雲馬來西亞大區正式開服
  下一篇:go  怡海軟件:企業實施ERP的難點在哪裏?