成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

換個(gè)角度思考性能測(cè)試問(wèn)題和學(xué)習(xí)性能測(cè)試實(shí)踐

開(kāi)發(fā) 開(kāi)發(fā)工具
市面上現(xiàn)在有非常多關(guān)于性能測(cè)試的書(shū)籍,其中不少書(shū)籍都能夠系統(tǒng)地介紹性能測(cè)試。今天我想通過(guò)另一種方式來(lái)介紹性能測(cè)試,那就是通過(guò)提出一些關(guān)于性能測(cè)試的問(wèn)題,然后針對(duì)問(wèn)題進(jìn)行思考。

性能測(cè)試對(duì)于大部分測(cè)試人員都是一個(gè)神秘地帶,因?yàn)樵诤芏喙荆阅軠y(cè)試都是由一個(gè)性能測(cè)試團(tuán)隊(duì)來(lái)做,所以普通測(cè)試人員沒(méi)有機(jī)會(huì)接觸到真實(shí)的性能測(cè)試,因而很難學(xué)習(xí)到很多新的測(cè)試實(shí)踐知識(shí)。

市面上現(xiàn)在有非常多關(guān)于性能測(cè)試的書(shū)籍,其中不少書(shū)籍都能夠系統(tǒng)地介紹性能測(cè)試。今天我想通過(guò)另一種方式來(lái)介紹性能測(cè)試,那就是通過(guò)提出一些關(guān)于性能測(cè)試的問(wèn)題,然后針對(duì)問(wèn)題進(jìn)行思考。希望通過(guò)不一樣的方式讓讀者以另外一種視角來(lái)思考和學(xué)習(xí)性能測(cè)試實(shí)踐。

1. 如何在敏捷開(kāi)發(fā)中做性能測(cè)試?

敏捷開(kāi)發(fā),由于其持續(xù)集成、快速反饋等特點(diǎn),需要性能測(cè)試工具支持輕量化、集成CI服務(wù)器、全代碼化等特性,所以傳統(tǒng)的性能測(cè)試工具比如JMeter和LoadRunner等已經(jīng)很難適用于敏捷開(kāi)發(fā)。在敏捷開(kāi)發(fā)中,性能測(cè)試應(yīng)該需要具有以下特點(diǎn):

(1) 性能測(cè)試是持續(xù)集成和持續(xù)發(fā)布的一部分,盡可能早的發(fā)現(xiàn)性能問(wèn)題,從而降低修復(fù)成本。這樣可以使得很多性能問(wèn)題在開(kāi)發(fā)過(guò)程中被持續(xù)的盡快發(fā)現(xiàn)。建議將性能測(cè)試寫(xiě)成故事放到每個(gè)迭代里面去,見(jiàn)下圖:

??

(2) 性能測(cè)試腳本易讀,易維護(hù)。比如代碼化的腳本Gatling,Locust等。下面是Gatling的DSL示例代碼:

?Gatling的DSL示例代碼?

(3) 可視化,報(bào)表易讀,每個(gè)人都能及時(shí)了解狀況 。下圖為Jenkins集成了一個(gè)Gatling插件后所展現(xiàn)的Gatling持續(xù)測(cè)試報(bào)表。

??

通過(guò)在敏捷開(kāi)發(fā)中做持續(xù)的性能測(cè)試,使得性能測(cè)試也可以:小步快跑->快速反饋->持續(xù)改進(jìn)->持續(xù)交付。

2. 如何通過(guò)數(shù)據(jù)分析更有效的做性能測(cè)試?

大部分情況下大型項(xiàng)目的性能測(cè)試需要的時(shí)間和人力都非常高,因?yàn)椋?/p>

  • 用戶并發(fā)要求高,測(cè)試硬件成本高
  • 測(cè)試功能點(diǎn)多,測(cè)試量大
  • 耐久性測(cè)試,測(cè)試時(shí)間長(zhǎng)

其次是測(cè)試的有效性差,因?yàn)闇y(cè)試人員在測(cè)試環(huán)境中很難模擬真實(shí)用戶的操作,比如訪問(wèn)的順序分布,訪問(wèn)的強(qiáng)度分布以及用戶端的各種訪問(wèn)參數(shù)。

為了解決這兩個(gè)問(wèn)題,應(yīng)該通過(guò)用戶數(shù)據(jù)分析來(lái)獲得真實(shí)的用戶行為數(shù)據(jù),并用其來(lái)構(gòu)造性能測(cè)試用例,其中可以用下面這個(gè)漏斗模型來(lái)進(jìn)行思考:

??

通過(guò)這個(gè)漏斗模型可以知道,為了快速得到真實(shí)有效的性能測(cè)試數(shù)據(jù)模型,需要通過(guò)篩選并整合真實(shí)的用戶數(shù)據(jù),而并不是靠測(cè)試人員在實(shí)驗(yàn)室中想象出來(lái)的數(shù)據(jù)。

那如何進(jìn)行用戶行為分析呢?下面嘗試用三個(gè)例子來(lái)進(jìn)行說(shuō)明。

***個(gè)例子是一個(gè)用戶注冊(cè)流程,通過(guò)用戶行為的數(shù)據(jù)分析可以得到每個(gè)功能點(diǎn)上用戶的訪問(wèn)量。見(jiàn)下圖:

??

圖中展示了用戶注冊(cè)流程的6個(gè)步驟,分別是:

  • Getting Started
  • Account Information
  • Personal Information
  • Financial Information
  • Review Information
  • Thank You Page

其中***個(gè)步驟有18606次訪問(wèn),然后有71%的訪問(wèn)用戶選擇繼續(xù),但是只有13131(70.6%)到達(dá)了第二個(gè)步驟。最終只有925(5%)的用戶完成了注冊(cè)。由此可以知道不同步驟的真實(shí)訪問(wèn)比例,從而得到性能測(cè)試的數(shù)據(jù)模型和策略。

第二個(gè)例子是用戶使用的瀏覽器的數(shù)據(jù)統(tǒng)計(jì),如果性能測(cè)試需要模擬不同的瀏覽器,那么這些數(shù)據(jù)分析結(jié)果也可以用以確定瀏覽器在性能測(cè)試中的權(quán)重。

??

通過(guò)這個(gè)統(tǒng)計(jì)表可以知道使用IE瀏覽器的用戶最多,所以在生成性能測(cè)試數(shù)據(jù)的時(shí)候應(yīng)該多生成一些基于IE瀏覽器的數(shù)據(jù),比如User-Agent等。

第三個(gè)例子是統(tǒng)計(jì)的用戶訪問(wèn)地區(qū),對(duì)于有些大型的互聯(lián)網(wǎng)應(yīng)用是需要進(jìn)行多地區(qū)模擬來(lái)測(cè)試不同地區(qū)互相訪問(wèn)時(shí)的性能。這個(gè)數(shù)據(jù)統(tǒng)計(jì)結(jié)果可以幫助其設(shè)計(jì)更有效的這類(lèi)性能測(cè)試用例。

通過(guò)這個(gè)統(tǒng)計(jì)表可以知道英國(guó)的用戶訪問(wèn)量最多,而美國(guó)的訪問(wèn)量第二。如果應(yīng)用服務(wù)器部署在美國(guó),那么就應(yīng)該盡可能的在英國(guó)架設(shè)測(cè)試服務(wù)器,通過(guò)在英國(guó)的測(cè)試服務(wù)器來(lái)測(cè)試美國(guó)的應(yīng)用服務(wù)器,從而測(cè)試跨國(guó)網(wǎng)絡(luò)的性能,并且還需要在產(chǎn)品環(huán)境檢測(cè)英國(guó)到美國(guó)的網(wǎng)絡(luò)性能,從而及時(shí)發(fā)現(xiàn)性能問(wèn)題。

通過(guò)對(duì)這些真實(shí)用戶數(shù)據(jù)的分析,可以設(shè)計(jì)更有效的性能測(cè)試模板,下面是一個(gè)性能測(cè)試模板的樣例,其中每個(gè)功能點(diǎn)上圓圈中的數(shù)字代表這個(gè)功能點(diǎn)在真實(shí)環(huán)境中的用戶訪問(wèn)權(quán)重。權(quán)重越大的功能點(diǎn)在整個(gè)性能測(cè)試模板中應(yīng)該測(cè)試量更大,所花費(fèi)的成本更高。

??

常見(jiàn)的Web系統(tǒng)用戶數(shù)據(jù)跟蹤與分析工具有:

  • Adobe SiteCatalyst:功能強(qiáng)大,使用繁瑣,收費(fèi)(貴)
  • Google Analytics: 功能較強(qiáng),使用方便,免費(fèi)和收費(fèi)
  • 百度統(tǒng)計(jì)/騰訊分析:功能一般,免費(fèi)

使用數(shù)據(jù)分析來(lái)生成數(shù)據(jù)模型的流程如下:收集數(shù)據(jù)->分析數(shù)據(jù)->生成測(cè)試數(shù)據(jù)模板->使用數(shù)據(jù)模板。

3. 對(duì)大規(guī)模集群系統(tǒng)做性能測(cè)試應(yīng)該注意什么?

通常中小型公司的IT系統(tǒng)都不使用大規(guī)模的集群,而只有大型公司才會(huì)大規(guī)模使用集群,導(dǎo)致很多測(cè)試人員沒(méi)有機(jī)會(huì)實(shí)踐和了解基于集群的性能測(cè)試。如果想學(xué)習(xí)基于集群的性能測(cè)試,除了常規(guī)的測(cè)試集群系統(tǒng)性能以外,還可以從以下幾個(gè)方面進(jìn)行思考,從而學(xué)習(xí)基于集群系統(tǒng)的性能測(cè)試:

  • 測(cè)試環(huán)境的真實(shí)性,由于大規(guī)模集群包含很多節(jié)點(diǎn)和服務(wù),所以搭建和產(chǎn)品環(huán)境一樣的測(cè)試環(huán)境的成本很高,導(dǎo)致測(cè)試環(huán)境的規(guī)模一般都比產(chǎn)品環(huán)境小很多。那測(cè)試這樣的測(cè)試環(huán)境還有什么意義?
  • 一般集群都會(huì)使用負(fù)載均衡,但是由于存在多種負(fù)載均衡算法和配置,那么怎么才能保證負(fù)載均衡功能是按照設(shè)計(jì)和配置的進(jìn)行工作?
  • 除了對(duì)集群系統(tǒng)進(jìn)行整體的性能測(cè)試外,還需要單獨(dú)對(duì)不同的服務(wù)和節(jié)點(diǎn)進(jìn)行性能測(cè)試嗎?

所以針對(duì)集群系統(tǒng)做性能測(cè)試不僅僅能測(cè)試系統(tǒng)的性能,還可以解決以上三個(gè)問(wèn)題:性能規(guī)劃,配置測(cè)試,隔離測(cè)試。

(1) 性能規(guī)劃

對(duì)于一個(gè)大型的服務(wù)器應(yīng)用系統(tǒng),一般情況下都是由規(guī)模化的集群組建而成的。所以測(cè)試這類(lèi)基于集群的服務(wù)器系統(tǒng)的時(shí)候,也需要將測(cè)試環(huán)境配置成和產(chǎn)品環(huán)境類(lèi)似的集群系統(tǒng)。不過(guò)因?yàn)槌杀镜脑颍瑴y(cè)試環(huán)境中的集群規(guī)模大都要小很多。可以通過(guò)測(cè)試小規(guī)模的集群,然后使用其測(cè)試結(jié)果,并通過(guò)數(shù)學(xué)建模推算產(chǎn)品環(huán)境的性能或者對(duì)產(chǎn)品環(huán)境進(jìn)行性能規(guī)劃。由于每個(gè)集群系統(tǒng)擁有各自不同的架構(gòu),配置和服務(wù),所以其數(shù)學(xué)模型也是不同的。

(2) 配置測(cè)試

通過(guò)更改集群系統(tǒng)的各種配置,并在不同的配置下對(duì)集群系統(tǒng)進(jìn)行性能測(cè)試,從而獲得***配置。比如輔助開(kāi)發(fā)人員完成集群功能的開(kāi)發(fā)與驗(yàn)證,比如負(fù)載均衡算法,熱備等;以及輔助運(yùn)維團(tuán)隊(duì)配置和調(diào)試產(chǎn)品環(huán)境的集群配置等。

(3) 隔離測(cè)試

對(duì)于集群系統(tǒng)的服務(wù)或者節(jié)點(diǎn),開(kāi)發(fā)這些服務(wù)的團(tuán)隊(duì)?wèi)?yīng)該在隔離(stub)第三方依賴(lài)的環(huán)境下,各自對(duì)自己團(tuán)隊(duì)開(kāi)發(fā)的服務(wù)進(jìn)行獨(dú)立的性能測(cè)試。從而盡早發(fā)現(xiàn)性能問(wèn)題,盡早修復(fù),避免在集群環(huán)境下發(fā)現(xiàn)同樣的問(wèn)題,增加調(diào)試和時(shí)間成本。

大規(guī)模集群系統(tǒng)基本都是復(fù)雜架構(gòu),環(huán)境也都是較為復(fù)雜的組織結(jié)構(gòu),而只有深入理解整個(gè)業(yè)務(wù)流程,系統(tǒng)架構(gòu)以及環(huán)境結(jié)構(gòu)才能有效地設(shè)計(jì)測(cè)試方案。

4. 性能測(cè)試中的測(cè)試數(shù)據(jù)有幾種類(lèi)型?

測(cè)試數(shù)據(jù)一直是軟件測(cè)試中的一個(gè)頭疼的問(wèn)題,特別是在性能測(cè)試中測(cè)試數(shù)據(jù)尤為重要,因?yàn)樵秸鎸?shí)的數(shù)據(jù)越能獲得更好的結(jié)果。對(duì)于測(cè)試數(shù)據(jù)的類(lèi)型可以分為以下四種:?jiǎn)我恍停S機(jī)型,模板型,真實(shí)型。

(1) 單一型

它是通過(guò)錄制或者觀察,使用一個(gè)或者一類(lèi)單一的測(cè)試數(shù)據(jù)來(lái)進(jìn)行性能測(cè)試。這種數(shù)據(jù)的構(gòu)建簡(jiǎn)單,但是數(shù)據(jù)過(guò)于單一,無(wú)法模擬真實(shí)用戶。由于其數(shù)據(jù)構(gòu)建簡(jiǎn)單,所以可以用于敏捷開(kāi)發(fā)中的早期性能測(cè)試。

(2) 隨機(jī)型

它是通過(guò)一些簡(jiǎn)單的數(shù)據(jù)規(guī)則,并結(jié)合隨機(jī)算法生成的測(cè)試數(shù)據(jù)。這種數(shù)據(jù)和單一型比較,雖然增加了隨機(jī)性,但是仍然缺乏真實(shí)性,并且其構(gòu)建成本和性能問(wèn)題的分析成本也相對(duì)較高。它可以用于上線前的大規(guī)模的多樣化的綜合性能測(cè)試。

(3) 模板型

它主要是通過(guò)數(shù)據(jù)分析并生成模板來(lái)構(gòu)建測(cè)試數(shù)據(jù)。雖然它較隨機(jī)型在一定程度上增加了用戶真實(shí)性,但是準(zhǔn)備數(shù)據(jù)的成本很高。在項(xiàng)目成本和資源允許范圍內(nèi),可以結(jié)合模板型和隨機(jī)型的方法,從而更為有效的進(jìn)行性能測(cè)試。

(4) 真實(shí)型

它是通過(guò)直接導(dǎo)出或者重定向產(chǎn)品數(shù)據(jù)來(lái)做性能測(cè)試數(shù)據(jù)。它完全是真實(shí)的用戶數(shù)據(jù),構(gòu)建成本較低,但是存在數(shù)據(jù)安全性的問(wèn)題,比如數(shù)據(jù)泄露。在數(shù)據(jù)安全性可以得到有效保護(hù)的情況下是可以使用真實(shí)型數(shù)據(jù)來(lái)進(jìn)行性能測(cè)試。

測(cè)試數(shù)據(jù)生成和管理對(duì)于一個(gè)大型項(xiàng)目的性能測(cè)試是十分重要的,所以如何高效的生成有效的測(cè)試數(shù)據(jù)成為了首要的任務(wù)。通過(guò)這四種測(cè)試數(shù)據(jù)類(lèi)型,可以快速的判斷在項(xiàng)目當(dāng)前階段適合使用那種類(lèi)型的數(shù)據(jù),從而避免一些彎路。

5. 其他問(wèn)題

除了以上問(wèn)題和思考,我還準(zhǔn)備了一些其他的基本問(wèn)題給讀者自己去思考,從而通過(guò)思考問(wèn)題來(lái)學(xué)習(xí)性能測(cè)試。

  • 性能測(cè)試主要包含哪些類(lèi)型以及分別的作用是什么?
  • 前臺(tái)頁(yè)面的性能測(cè)試應(yīng)該注意哪些問(wèn)題?
  • 對(duì)于并發(fā)用戶很少但是穩(wěn)定性要求很高的系統(tǒng)需不需要做性能測(cè)試?為什么?
  • 對(duì)于后臺(tái)有大量異步批處理需求的系統(tǒng)應(yīng)該怎樣進(jìn)行性能測(cè)試?
  • Profiling是不是性能測(cè)試?什么時(shí)候應(yīng)該做它?
  • 常見(jiàn)的性能測(cè)試工具有哪些?怎么選擇性能測(cè)試工具?
  • 如果測(cè)試環(huán)境和產(chǎn)品環(huán)境的硬件配置不同,如何通過(guò)測(cè)試環(huán)境的測(cè)試結(jié)果評(píng)估產(chǎn)品環(huán)境的性能?
  • 在設(shè)計(jì)性能測(cè)試用例時(shí)需不需要考慮Think Time?
  • 中小型項(xiàng)目的性能測(cè)試都需要注意些什么?
  • 性能需求的來(lái)源有哪些?
  • 如何使用云服務(wù)進(jìn)行超大規(guī)模性能測(cè)試?

【本文是51CTO專(zhuān)欄作者“ThoughtWorks”的原創(chuàng)稿件,微信公眾號(hào):思特沃克,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】

??戳這里,看該作者更多好文??

責(zé)任編輯:趙寧寧 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2016-10-25 13:46:25

深度學(xué)習(xí)機(jī)器學(xué)習(xí)性能提升

2011-03-15 16:34:36

Iptables性能

2018-08-29 13:57:40

前端性能測(cè)試Html5

2019-01-16 09:00:00

DevOps性能測(cè)試軟件

2022-11-24 09:01:26

HTTPHertz架構(gòu)

2010-01-05 14:37:39

JSON POST

2020-05-18 07:00:00

性能測(cè)試壓力測(cè)試負(fù)載測(cè)試

2011-06-08 16:59:04

性能測(cè)試載測(cè)試壓力測(cè)試

2022-09-22 08:05:23

架構(gòu)

2010-03-03 17:43:12

Android系統(tǒng)

2012-06-28 10:18:01

數(shù)據(jù)庫(kù)

2011-12-15 09:55:47

javanio

2009-09-22 17:41:07

Hibernate性能

2012-12-18 13:32:45

IBMdW

2023-09-13 14:47:34

性能測(cè)試開(kāi)發(fā)

2017-11-20 16:17:50

智慧城市

2010-03-01 18:21:08

Python測(cè)試

2014-01-09 09:24:32

Linux滲透測(cè)試滲透測(cè)試

2019-01-11 17:47:54

華為云

2012-12-27 15:46:33

系統(tǒng)測(cè)試以太網(wǎng)交換機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美不卡一区二区 | 免费在线成人网 | 国产精品久久国产精品 | 日韩三级免费网站 | 欧美1页 | 亚洲精品一二三区 | 中文字幕一区二区三区在线观看 | 久草欧美视频 | 午夜精品导航 | 成人一区二 | 久久久久久亚洲国产精品 | 狠狠爱免费视频 | 青青草华人在线视频 | 欧美一级片免费看 | 玖玖综合在线 | 日韩中文字幕一区二区 | 在线免费av观看 | 国产高清视频在线播放 | 亚洲高清视频一区二区 | 亚洲欧美一区二区三区在线 | 久久精品久久综合 | 日本在线你懂的 | 成人午夜免费网站 | www免费视频 | 91麻豆精品一区二区三区 | 91精品久久久久久久久中文字幕 | 国产一区二区三区精品久久久 | 日本三级网址 | 成人a视频在线观看 | 欧美亚洲第一区 | 欧美精品一区二区三区一线天视频 | 国产人成在线观看 | 九九激情视频 | 亚洲精品在线播放 | 日韩在线精品 | 四虎永久免费在线 | 视频三区 | 国产日韩精品一区二区三区 | 久久精品一区二区三区四区 | 涩涩视频在线看 | 成人网av |