999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

對軟件系統分層測試的初探

2020-12-08 08:29:23何偉文
魅力中國 2020年49期

何偉文

(廣州南洋理工職業學院,廣東 廣州 510510)

一、分層測試_基本思想

分層是復雜軟件系統常見的設計思路。比如互聯網的七層/五層模型,Android系統的APP/FWK/JNI/Kernel等,都是通過分層、解耦,達到簡化問題,易于維護,便于擴展的效果。分層測試以調用接口驅動被測系統,盡量不依賴于打樁。

按照V模型進行劃分層次:單元測試;集成測試;系統測試;

unit層的測試對象是函數或方法;service層的測試對象是模塊和接口;UI層的主要測試對象是展示和交互。

unit層的測試策略:

1、代碼走查:開發人員自己檢查自己的代碼

2、代碼評審code review:開發團隊組織評審會,應避免走馬觀花,應注重效率

3、單元測試:自動化單元測試,編寫測試代碼或使用測試工具,缺點:入門門檻高,沒有好的實踐方法(覆蓋率和編寫標準),則可能無法推行,最終淪為雞肋或是詬病。優點能盡快的執行,降低測試成本,復用性好,可反復執行。

我們需要規范的來做單元測試同樣需要相應的單元測試框架,如java的Junit、testNG,C#的NUint,Python的unittest、pytest等,幾乎所有的主流語言,都會有其對應的單元測試框架。

service層的測試策略:自動化的組件測試;自動化的集成測試;自動化的API測試與單元測試比較:運行速度慢,測試環境搭建困難,case數量較少。

UI層的測試:大部分測試人員的大部分工作都是對UI層的功能進行測試。例如,我們不斷重復對一個表單提交,結果查詢等功能進行測試,我們可以通過相應的自動化測試工具來模擬這些操作,從而解放重復的勞動。

UI層的測試策略:

手工測試:純手工測試執行速度慢,無法重復使用;

自動化測試:穩定模塊,與其它層面的測試比較:自動化開發難度大,運行速度慢,測試環境搭建困難。

這樣我們可以做到單元測試盡量多做,UI級的測試可以少做一點;因為UI測試難度相對較大;UI測試更接近于真實用戶;手工UI測試只占據了塔頂一點點的位置,而大部分的測試工作是手工測試人員所難以介入的,這讓只會手工測試的人有一定的危機感;

開發人員是質量保障的最關鍵因素,因為測試金字塔的大部分測試工作都需要開發或者是具備開發技能的技術員去完成;

測試金字塔是穩固的,如果按照測試金字塔的模型去組織測試工作的話,在一切相對正常的情況下,產品/項目/系統的質量是處在可控的狀態下的。

現實生活中能做到測試金字塔的團隊往往是少數,大部分測試技術員接觸到的團隊應該是倒三角的,也就是沒有或只有少量的單元測試,隨心所欲做一些接口測試,把大量的人力集中在UI測試。這樣的產品質量往往難以控制或者需要花費大量的時間和人力成本才能控制。

有一些的產品剛橫空出世的時候往往是沒有單元測試和UI自動化測試的,但這些產品剛發布時的質量卻是可以接受的或者甚至是優秀的,這是為什么呢?這是因為這些產品往往由天才的開發者創建或實現,天才的代碼在不做單元測試的情況下也是質量可期的,這就等于是測試金字塔的最底層相當牢固,整個產品質量就自然由保障了;另外這些產品發布的初期規模也相對較小,也比較難出現一些在頻繁協作過程中會出現的問題(比如修改了不是自己寫的代碼而造成了缺陷),規模小質量控制起來也相對容易些。

總而言之,如果你的產品/項目/系統的開發團隊大部分人都不是天才而且需要進行頻繁協作的話,按照測試金字塔模型去做可能是一個比較好的方式。

二、分層測試的好處

(一)精準。我們都知道,離問題產生的地方越近,就越容易觸發問題。如果問題發生在底層,以白盒測試的方法,很難精確打擊,特別是一些復雜場景或異常流程,可能無法構造。而分層測試的切入點就是層與層之間的接口,從機制上更接近出問題的地方,因此也更容易命中目標。

(二)低成本。這個優勢源于可測試性。舉例來說:我們要測試Android系統下撥號的性能,黑盒怎么測呢?測試人員需要打開秒表,同時進行撥號的操作,并觀測電話是否撥通。操作麻煩不說,誤差也很大。如果用分層測試的方式,只要提供撥號和檢查是否撥通兩個對外開放的接口,通過用例腳本調用,并記錄兩者的時間,就可以方便準確地得到耗時。更進一步,我們還可以在不同層次的接口調用時均記錄下時間,在腳本中直接對各個環節的耗時進行分析,從而自動分析流程的瓶頸,找到影響性能的關鍵環節。

(三)高效。這里是指用例執行速度快。首先自動化測試的速度就明顯優于手工測試,基于API調用的自動化又比UI自動化要快,分層測試的高效就建立在API調用高效的基礎上。從我們收集的數據來看,相同的用例,手工執行的耗時平均在5-8分鐘,UI自動化一般也需要1-2分鐘,而分層測試通常10-20秒就完成了,效率提升達10倍。

(四)易定位。易定位其實是和精準對應的。在用例設計的時候就考慮到用例所針對的代碼,一旦出現問題,自然就容易定位了。

(五)穩定。客戶需求是易變的,內部實現也是易變的,但是層與層之間的接口是不同開發人員之間的約定,通常會盡量保持穩定。這里也有一組數據:從Android 4.0到Android 5.0,我們設計的JNI層用例變更不到10%,而針對APP界面開發的用例,變更率高達40%。

主站蜘蛛池模板: 日本精品一在线观看视频| 国产91久久久久久| 新SSS无码手机在线观看| 婷婷五月在线| 国产91丝袜| 色男人的天堂久久综合| 狠狠做深爱婷婷综合一区| 亚洲Av激情网五月天| 波多野结衣在线se| 亚洲色大成网站www国产| 四虎精品国产永久在线观看| 正在播放久久| 亚洲an第二区国产精品| 老司机精品99在线播放| 中文字幕久久精品波多野结| 国产二级毛片| A级毛片无码久久精品免费| 日本三级欧美三级| 亚洲一区二区日韩欧美gif| 黄色一及毛片| 青青热久麻豆精品视频在线观看| 伊人久久久久久久久久| 8090午夜无码专区| 国产熟女一级毛片| 欧美成人影院亚洲综合图| 18禁色诱爆乳网站| 国产精品无码久久久久久| 欧洲亚洲欧美国产日本高清| 欧美在线视频不卡第一页| 国产色婷婷| 国产在线一区视频| 久久96热在精品国产高清| 亚洲欧美日韩动漫| m男亚洲一区中文字幕| 国产欧美日韩va另类在线播放| 无码'专区第一页| 亚洲国产欧美中日韩成人综合视频| 国产无套粉嫩白浆| 亚洲精品中文字幕无乱码| 久久99国产综合精品1| 国产一级无码不卡视频| 久久这里只有精品8| 国产91导航| 色首页AV在线| 全色黄大色大片免费久久老太| 精品国产91爱| 2021天堂在线亚洲精品专区| 怡红院美国分院一区二区| 91精品国产综合久久香蕉922| 亚洲人成网站日本片| 亚洲视频欧美不卡| 被公侵犯人妻少妇一区二区三区| 国内精自视频品线一二区| 一区二区在线视频免费观看| 免费啪啪网址| 亚洲成人播放| 动漫精品啪啪一区二区三区| 国产精品亚洲专区一区| 九九香蕉视频| 91福利国产成人精品导航| 一级爆乳无码av| 一区二区日韩国产精久久| 日韩第一页在线| 色哟哟国产精品一区二区| 少妇极品熟妇人妻专区视频| 成年A级毛片| 精品亚洲欧美中文字幕在线看| 久久久久国产一级毛片高清板| 全免费a级毛片免费看不卡| 亚洲成aⅴ人在线观看| 亚洲不卡影院| 国产毛片网站| 国产丰满大乳无码免费播放| 国产欧美日韩综合一区在线播放| 91久久偷偷做嫩草影院| 97久久人人超碰国产精品| 国产成人无码AV在线播放动漫| 色综合手机在线| 97在线免费| 极品av一区二区| 久久香蕉国产线看观看式| 免费看a级毛片|