我們一起聊聊性能測試是怎么一回事?

發表于:2017-02-21來源:gitbook作者:靚湯點擊數: 標簽:性能測試
這是我第一次使用涂鴉的方式寫文章,請允許我,感謝梅子引路。另外本系列Chat希望通過由淺入深的方式帶大家認識性能測試。一些調優和測試方法會在后面的Chat同樣以涂鴉的方式展示

靚湯:這是我第一次使用涂鴉的方式寫文章,請允許我,感謝梅子引路。另外本系列Chat希望通過由淺入深的方式帶大家認識性能測試。一些調優和測試方法會在后面的Chat同樣以涂鴉的方式展示給大家。后面三場會重點介紹如何進行性能測試,從需求到最后的調優。第一場主要希望沒有接觸過或接觸過但認識不全的同學帶去一些思考。比如紅亮燈那個涂鴉就是做了些與目標不一致的事情。這是大家測試中常常犯的錯,所以我希望是接觸到的同學能抓住要點,即目標為導向,不去做一些看起來是性能測試性能測試。另外針對大家提出的意見我希望在后面的Chat中,好好去完善。感謝。

問:性能測試最好什么時候開始更好?需求階段、設計階段、還是測試階段?

答:有些同事在測試幾輪之后,功能穩定了開始介入性能測試,這時才發現性能根本支撐不了預期值。這個時候開發再回頭進行系統調優,如果事先選的架構能支撐就好,如果不能達不到預期值,后面討論或者請教高手發現原先的架構缺陷,再調整架構代價就非常大?;緦е虑捌诘?a href='http://www.anti-gravitydesign.com/ceshi/ceshijishu/gncs/' target='_blank'>功能測試成果作廢。其實各個階段都有事情做。需求階段可以整理,評審出性能需求,評審需求可行性時就考慮好數據量和用戶量。設計階段--對預估的需求做設計,舉個例子。背景:我們現在使用的是mysql數據庫(公司去oracle化),我們要從一個5000W的一個數據表的6個不同查詢維度查詢數據,比如說城市、行業、地址類型、愛好、性別、時間范圍。這樣對于mysql的查詢常見的優化設計可能是分表、建立索引,但,對于這個場景就不好處理了。數據耦合強,沒有辦法分表。索引,組合索引太多。后面的處理辦法是用mongodb、nosql的方法解決。對于編碼和測試階段可以這樣去分不同階段做不同事情。

enter image description here

編碼階段,可以提出需要,讓研發通過單元測試(開多線程)的方式進行壓力測試。進行一些單元壓力測試測試階段---測試階段也有策略的,建議先做一下單一場景單一用戶的性能測試。常常會遇到有些同事在沒有壓單個場景的情況下,就進行負載測試,到處定位瓶頸,最后發現單一用戶單一場景都是問題。這就是繞了一圈回到了起點。對于不同類別測試后面會專門的chat介紹。

原文轉自:http://gitbook.cn/books/58a1cef89253167836c8acad/index.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97