1. 程式人生 > >(轉)知乎的提問--伺服器端測試主要包含什麼?

(轉)知乎的提問--伺服器端測試主要包含什麼?

非常棒的回答,可以參考參考~

錢蓓蕾 ,網易測試總監
6 人贊同
這可是一個很大的話題,呵呵。
一般來說,服務端測試有兩種:一種是直接對WEB或者APP的服務端進行測試;另一種是對更後端的資料庫、快取系統、中介軟體、檔案系統等進行測試。
一、先來說第一種吧:直接對WEB或者APP的服務端進行測試。
一般來說,這種服務端的開發人員就是WEB/APP產品團隊的開發人員,當然,測試人員跟WEB/APP的前端測試人員也是一個團隊的。這種服務端就是為WEB/APP端提供一些後臺的介面,比如說,使用者個人資訊、交易記錄的讀取和儲存等,一般都是用HTTP介面的方式提供。這種後臺的測試從流程上來說是跟隨著WEB/APP產品的釋出節奏來的,在後端開發完成介面以後,測試人員就直接用TestNG+HttpClient寫介面測試用例、或者用Postman等工具手工測試。如果專案緊張,一般會先用Postman等工具先手工測試,等版本釋出完以後,再用TestNG+HttpClient把自動化用例補上去,或者用Python的Nose框架。

對於這種服務端後臺的測試人員,除了需要掌握上述的自動化測試技術之外,還有一個溝通、協調的工作,因為後臺的介面一般是同時提供給iOS/Android/WEB三個端,所以需要跟三端的測試人員協調測試進度、測試環境等事項。

如果遇到後端服務大的重構、或者是第一次上線預計有大流量的,那還需要對後端服務做一個性能測試,用JMeter/Grinder等工具編寫指令碼並進行壓測,看看後端服務能不能撐住大流量。有些版本效能風險小的,不必要每次都做效能測試,可以根據實際版本的情況具體分析。

二、第二種:對更後端的資料庫、快取系統、中介軟體、檔案系統等進行測試。
這種就類似於雲端計算等後端基礎服務的測試,對於一些大的公司,會有一個專門的團隊來開發這種後端基礎服務,這種服務當然也需要測試人員來保證質量。

這類服務一般都是通過HTTP介面的方式提供給剛才講的WEB/APP的後端使用,所以,第一個要做的也就是介面測試,也就是用Postman等工具做手工測試、用TestNG+HttpClient或者Python的Nose框架做自動化測試。

不過,對於這類後端服務來說,介面只是暴露給外用的部分,內部邏輯通常是非常複雜的,所以,除了針對介面做測試之外,測試人員還需要細緻地瞭解這些服務端產品的技術框架及技術實現,需要了解到模組的級別,對於系統框架圖、時序圖等都有很好的理解。針對這些理解去設計用例,再跟開發一起討論如何實現用例。

如果這種基礎服務用了某一個開源軟體,那通常也需要測試人員能關注社群的進展,並把我們發現的Bug及解決方案等推到社群,為社群做貢獻。

除了介面測試之外,在我們公司,異常測試、穩定性測試、效能測試也是服務端測試必備的測試型別。
異常測試會模擬各種異常情況,比如硬體異常-機器掛掉的情況下能否啟動備機、硬碟掛掉的情況下是否會丟失資料;網路異常-網路忽然斷掉、或者網路流量變小的情況;系統異常-作業系統忽然掛掉的情況。這些極端的情況出現的時候,我們需要驗證資料有沒有丟、能不能儘快啟動備機對外提供服務、系統狀態有沒有異常等。我們會採用各種方式或者工具來模擬這些異常,比如用TrafficControl工具來控制網路流量。

穩定性測試,就是模擬系統在7*24的執行下會不會出問題,一般會用介面測試或者效能測試用例不斷地跑,在執行期間,我們會模擬各種情況,比如說負載的變化、系統的各種干擾等。可以用ChaosMonkey等工具來進行這類測試。

效能測試,其實細分起來會有各種型別,比如負載測試、壓力測試、配置測試、甚至還有線上壓測、容量規劃等。最常規的效能測試,一般是先規定一個系統需要承受的壓力,比如說,某一個系統,1個小時之內會有1W單的單子,那基於這個需求我們分析伺服器後端需要承受的壓力,分析出來以後,就寫效能測試指令碼,然後逐漸增加壓測的力度,直到超過這個預定的壓力。通常在這個測試過程中會發現各種問題,比如資料庫索引沒有建、執行緒池太小、系統異常等。需要解決了之後再加大壓力測試。也是用Grinder/JMeter等工具來進行效能測試,不過難的不是這些工具的使用,而是發現問題以後的定位。

對於這種後端服務的測試人員來說,技術上的要求是挺高的,需要有較好的程式設計能力,需要對資料庫、作業系統等機制有很好的瞭解才行。

相關推薦

()提問--伺服器測試主要包含什麼?

非常棒的回答,可以參考參考~ 錢蓓蕾 ,網易測試總監 6 人贊同 這可是一個很大的話題,呵呵。 一般來說,服務端測試有兩種:一種是直接對WEB或者APP的服務端進行測試;另一種是對更後端的資料庫、快取系統、中介軟體、檔案系統等進行測試。 一

伺服器測試主要包含什麼?

一般來說,服務端測試有兩種:一種是直接對WEB或者APP的服務端進行測試;另一種是對更後端的資料庫、快取系統、中介軟體、檔案系統等進行測試。一、先來說第一種吧:直接對WEB或者APP的服務端進行測試。 一般來說,這種服務端的開發人員就是WEB/APP產品團隊的開發人員,當然,測試人員跟WEB/APP的前端測試

馬化騰在提問基礎科學突破,為何1400條回答中沒有區塊鏈技術?

騰訊CEO馬化騰在知乎提了6年以來的第一個問題,沉寂已久的知乎社群迎來了久違的熱鬧景象。僅僅花了一天的時間,就有超過40000人關注了提問,285萬人瀏覽,並有超過1400條回答。讀幣哥上知乎看了下,發現排名前列的回答在馬化騰提問後第一時間就已發出,幾乎可以斷定是知乎官方向他們透題了。 毫無疑問

【java學習筆記】JAVA自學之路 JAVA自學之路 ___

一:J2SE 面向物件-封裝、繼承、多型 記憶體的分析   遞迴 集合類、泛型、自動打包與解包、Annotation   IO 多執行緒、執行緒同步      TCP/UDP AWT、事件模型、匿名類      正則表示式 反射機制 二:資料庫(Oracle或者MySQL) SQL語句 多表連線,內外連線

Android 客戶元件化實踐

背景 知乎 Android 客戶端最早使用的是最常見的單工程 MVC 架構,所有業務邏輯都放在了主工程 Module 裡,網路層和一些公共程式碼分別被抽成了一個 Module。現在看來,當時的業務線、產品功能及研發團隊都比不上現在的體量和豐富度,遇到的問題隨時組內溝通就可以解決。所以在知乎穩步發

[][]高性能後臺架構摘要

能力 響應 高性能 提高 inline blog 每一個 important 針對 來源:https://zhuanlan.zhihu.com/p/28817489 高性能的網絡和硬件 CDN加速技術。CDN加速將網站的內容緩存在網絡邊緣(離用戶接入網絡最近的地方),然後在

[][]高效能後臺架構摘要

來源:https://zhuanlan.zhihu.com/p/28817489 高效能的網路和硬體 CDN加速技術。CDN加速將網站的內容快取在網路邊緣(離使用者接入網路最近的地方),然後在使用者訪問網站內容的時候,通過排程系統將使用者的請求路由或者引導到離使用者接入網路最近或者訪問效果最佳的快取伺服器

日報客戶--日報板塊的實現

看完這一篇你應該學會:如何展示新聞資訊類,效果圖: 這一篇的知識點: Fragment的替換,Recylerview[adapter, holder]的使用,Okhttp,JSONObject解析json 還是先給佈局: zhihufragment.xml Recyl

各種機器學習演算法的優缺點(

##各種演算法的優缺點 ###K近鄰:演算法採用測量不同特徵值之間的距離的方法進行分類。 優點: 1.簡單好用,容易理解,精度高,理論成熟,既可以用來做分類也可以用來做迴歸; 2.可用於數值型資料和離散型資料; 3.訓練時間複雜度為O(n);無資料輸入假定; 4

Android SwipeRefreshLayout官方下拉重新整理控制元件介紹(與Android客戶下拉重新整理一樣!!)

轉載出處:http://blog.csdn.net/lmj623565791/article/details/24521483 //沒少看鴻洋老師的視訊,一如既往,鴻洋老師講解的淺顯易懂! 下面App基本都有下拉重新整理的功能,以前基本都使用XListView或者自己

【Parallax Animation】實現 Android 客戶啟動頁視差滾動效果

前言 Parallax Scrolling(視差滾動),是一種常見的動畫效果。視差一詞來源於天文學,但在日常生活中也有它的身影。在疾馳的動車上看風景時,會發現越是離得近的,相對運動速度越快,而遠處的山川河流只是緩慢的移動著,這就是最常見的視差效果。視差動畫獨有的層次感能

python scrapy框架爬取提問資訊

前文介紹了python的scrapy爬蟲框架和登入知乎的方法. 這裡介紹如何爬取知乎的問題資訊,並儲存到mysql資料庫中. 首先,看一下我要爬取哪些內容: 如下圖所示,我要爬取一個問題的6個資訊: 問題的id(question_id) 標題(title) 問題描述

:如何閱讀原始碼-- 原始碼理解不是讀出來的,是用來debug出來的.

首先先強調一個觀點,原始碼不是讀出來的,而是debug出來的(標題黨). 0.首先還是要知道怎麼用,大體的概念,當你只通過原始碼閱讀遇到瓶頸時,debug就能掃清你的疑問.在對應的地方設定debug.(特別是call hierechary流程特別長時,) 1. 第一句話偏激

伺服器測試經驗分享

先說說我們搜狗公司都有哪些伺服器端的應用。 1.有web端的服務,包括搜狗搜尋、搜狗百科、搜狗搶票、搜狗地圖、12306伺服器端搶票等等。 2.有客戶端相關的服務,包括瀏覽器的名單更新服務、客戶端的升級服務、搜狗號碼通的號碼查詢服務,等等。 針對以上的這些服務,我們總結歸納了一下,劃分了兩種型別

資料探勘人員工作領域大致可分為三類【某人的觀點】

一、目前國內的資料探勘人員工作領域大致可分為三類。·        1)資料分析師:在擁有行業資料的電商、金融、電信、諮詢等行業裡做業務諮詢,商務智慧,出分析報告。·        2)資料探勘工程師:在多媒體、電商、搜尋、社交等大資料相關行業裡做機器學習演算法實現和分析。·

嵌入式行業入門指導---轉載【

用戶註冊 相關 java roc lcd控制器 中華 基本功 poll c語言、 此文是本人在知乎上看的,覺得很好就分享出來了,並不是本人原創 轉自:https://www.zhihu.com/question/47881392 作者:shang鏈接:https://w

[] [Java] 下巴第5集:使用HttpClient工具包和寬度爬蟲

fan param 出隊 page connect ise dex ide xtra 原文地址:http://blog.csdn.net/pleasecallmewhy/article/details/18010015 下載地址:https://code.csdn.net

上的一個對自制力的回答(

做什麽 大眾 你知道 掌握 驅動 學生 而不是 自己 quest 原文鏈接:https://www.zhihu.com/question/38554523 作者:鳳紅邪鏈接:https://www.zhihu.com/question/38554523/answer/7

python 模擬登錄,包含驗證碼(

mozilla log 5.0 color att pos head one 成功 #!/usr/bin/env python3 # -*- coding: utf-8 -*- ‘‘‘ Required - requests (必須) - pillow (可選) Info

生信學習-二代測序專欄總結[]

細胞 pan rim 總結 str dna UNC ads ada 轉自:https://zhuanlan.zhihu.com/p/20702684 1.基本概念 flowcell 是指Illumina測序時,測序反應發生的位置,1個flowcell含有8條lane la