自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談兼容性測試

開發(fā) 測試
兼容性測試涉及到大量的設(shè)備、技術(shù)、執(zhí)行方式的選型,完善兼容性測試是一個不斷摸索和實踐的過程。

作者 | 曾文浩

?兼容性測試的概念

兼容性測試是一種軟件測試,用于確保構(gòu)建的系統(tǒng)/應(yīng)用程序/網(wǎng)站與其他各種對象(如其他網(wǎng)絡(luò)瀏覽器、硬件平臺、用戶、操作系統(tǒng)等)的兼容性。這種類型的測試有助于了解產(chǎn)品在特定環(huán)境中的表現(xiàn)。

為了方便理解,可以把硬件,軟件,平臺等對象抽象成測試設(shè)備這個概念。結(jié)合項目上兼容性測試的實踐經(jīng)驗可以提取出以下特征:

  • 在交付項目中,被測對象往往對測試設(shè)備有較大的依賴。以測試一個WEB產(chǎn)品為例子,一般需要考慮:瀏覽器,瀏覽器版本,操作系統(tǒng),屏幕尺寸,分辨率大小等。有時候也需要考慮硬件設(shè)備參數(shù)和型號。任何差別都可能出現(xiàn)測試結(jié)果不符合預(yù)期的情況。
  • 兼容性是其他測試類型的前提。在敏捷測試象限里,不同的測試類型根據(jù)四個維度進行了劃分,兼容性測試雖然沒有出現(xiàn)在其中,但是在進行不同類型的測試之前,測試主體和測試設(shè)備需要保持一種“穩(wěn)定”狀態(tài)才可以開展。我把這種“穩(wěn)定”的狀態(tài)視作兼容性是其他測試的必要不充分條件。
  • 越多的測試設(shè)備意味著越多的資源消耗。在測試人員測試熟練程度固定的情況下,每增加一個測試設(shè)備都會增加其工作量,更不用說開發(fā)成本和采購、搭建測試環(huán)境的成本。
  • 沒有任何一個產(chǎn)品會追求兼容所有可用設(shè)備,基本上所有項目都會根據(jù)產(chǎn)品定位、業(yè)務(wù)類型、用戶群體等維度對測試設(shè)備進行限制,從而達成交付目標(biāo)。這個過程常常在售前或者啟動階段完成。

準(zhǔn)備測試設(shè)備清單

顯然,在當(dāng)今設(shè)備、平臺碎片化的現(xiàn)實中,如何確定測試設(shè)備對于項目進行兼容性測試有著關(guān)鍵作用。從以下幾個方面可以篩選和確認(rèn)出兼容性測試設(shè)備清單:

1.基于市場定位和產(chǎn)品定位

市場定位,是指企業(yè)對目標(biāo)消費者或目標(biāo)消費者市場的選擇;而產(chǎn)品定位,是指企業(yè)對用什么樣的產(chǎn)品來滿足目標(biāo)消費者或目標(biāo)消費市場的需求。從理論上講,應(yīng)該先進行市場定位,然后才進行產(chǎn)品定位。產(chǎn)品定位是對目標(biāo)市場的選擇與企業(yè)產(chǎn)品結(jié)合的過程,即將市場定位企業(yè)化、產(chǎn)品化的工作。

在測試人員設(shè)計兼容性測試設(shè)備初期,需要考慮產(chǎn)品定位的背景輸入,從而限制測試設(shè)備類別。

一般來說,企業(yè)期望產(chǎn)品適配多端,從項目成本和風(fēng)險平坦的角度,會對項目進行拆分,以較小單元分階段完成產(chǎn)品開發(fā)。拆分會進一步限制測試設(shè)備種類。例如,一個資訊類的科技公司希望開發(fā)出基于用戶關(guān)系,專注興趣社區(qū)的即時分享傳播信息,并與他人互動的社交媒體平臺。在iOS生態(tài)完善,目標(biāo)用戶使用量大、用戶體驗更好的前提下,業(yè)務(wù)側(cè)可能針對性給予開發(fā)團隊這樣的輸入:需要開發(fā)在主流iOS設(shè)備安裝和使用的APP。

2. 基于交付目標(biāo)

交付目標(biāo)需要考慮交付本身各種條件和制約因素,可能存在如業(yè)務(wù)價值、技術(shù)復(fù)雜度、產(chǎn)品類型、用戶類別、市場定位等維度。從這些關(guān)鍵維度可以提取兩種搜集測試設(shè)備的方法:

(1) 主動搜集

調(diào)研:根據(jù)地域、競品分析、操作系統(tǒng)市場占有率、瀏覽器市場占有率等條件對測試設(shè)備做調(diào)研。主要通過咨詢公司獲取相關(guān)的行業(yè)報告,或者通過大數(shù)據(jù)平臺獲取相關(guān)數(shù)據(jù)。

圖片

圖一 2022年1月到2023年1月期間中國區(qū)手機和平板供應(yīng)商的市場占有率(數(shù)據(jù)來源:https://gs.statcounter.com/)

埋點:對于已經(jīng)發(fā)布的產(chǎn)品采用埋點技術(shù),獲取用戶使用設(shè)備等信息作為兼容性測試的數(shù)據(jù)支撐

圖二 通過埋點技術(shù)統(tǒng)計的終端用戶訪問某特定網(wǎng)站設(shè)備使用情況示例圖

(2) 被動搜集

主流發(fā)布:獲取移動設(shè)備廠商設(shè)備發(fā)布動態(tài),預(yù)測新設(shè)備對于產(chǎn)品是否影響,從而影響測試設(shè)備是否兼容的決策。

產(chǎn)品反饋:對于已經(jīng)發(fā)布的產(chǎn)品,從線上用戶反饋的兼容性問題。

3. 基于技術(shù)

在明確產(chǎn)品定位和交付目標(biāo)的前提下,開發(fā)團隊會確定開發(fā)過程的技術(shù)選型,不同的技術(shù)選型對于運行設(shè)備也有要求。下圖是基于聊天的智能團隊協(xié)作工具Teams對設(shè)備的最低要求。對于低于該要求的硬件、軟件的測試設(shè)備不再具有測試價值。

圖片

圖三 Teams用戶手冊關(guān)于安裝和使用對設(shè)備的最低要求

(圖片來源:https://learn.microsoft.com/en-us/microsoftteams/hardware-requirements-for-the-teams-app)

4. 測試目標(biāo)

在測試策略層面,不同的測試類型對于測試設(shè)備選型也有影響。對于WEB項目,更加側(cè)重于界面布局,組件交互邏輯、屏幕自適應(yīng)、元素字體、瀏覽器渲染時間(性能)等UI測試,所以需要考慮設(shè)備屏幕大小、分辨率、瀏覽器類型、瀏覽器版本、操作系統(tǒng)等因素;對于APP項目,更加側(cè)重于下載、安裝、卸載、功能、交互等功能測試,所以更多需要考慮操作系統(tǒng)、硬件參數(shù)等因素。

需要注意的是,測試目標(biāo)和測試設(shè)備選型是強耦合的關(guān)系,測試目標(biāo)旨在保障項目高質(zhì)量交付,可以進行靈活變化。如果識別到某測試機型已經(jīng)不具備測試價值,或者不同型號機型表現(xiàn)類似,應(yīng)該和業(yè)務(wù)團隊和開發(fā)團隊進行溝通和調(diào)整。

圖片

圖四 常見設(shè)備屏幕尺寸表

如上圖所示,如果從屏幕尺寸大小、分辨率相同的角度,同一廠商屏幕參數(shù)類似,選擇一種機型就可滿足測試條件。

5. 測試資源

在測試設(shè)備基本明確的前提下,需要考慮當(dāng)前交付團隊的測試資源。越多的測試設(shè)備也意味著會消耗更多的測試資源(有些時候測試策略也會很大程度的影響測試資源的消耗,比如測試策略設(shè)計了迭代內(nèi)回歸,也在增加著測試人員的工作量)??梢钥紤]區(qū)分測試設(shè)備的優(yōu)先級,對一到兩個設(shè)備進行主測,其余設(shè)備進行happypath測試?;蛘邍L試協(xié)調(diào)更多的測試資源到當(dāng)前項目。抑或者對類型重復(fù)、出錯率較小的設(shè)備進行刪減并與客戶和團隊進行溝通。

組建測試設(shè)備資源池

在確定測試設(shè)備資源之后,接下來測試人員會思考如何得到可用的設(shè)備,一般有以下方法:

1. 虛擬

模擬器主要透過硬件或軟件使得一臺計算機系統(tǒng)(稱作主host)在行為上類似于另外一臺設(shè)備或程序(稱作客戶guest)。模擬器一般允許在主系統(tǒng)上運行給客戶系統(tǒng)設(shè)計的軟件或者外部設(shè)備。虛擬機(VM)是計算機系統(tǒng)的仿真器,通過軟件模擬具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng),能提供物理計算機的功能。

  • 常用的Android模擬器有android studio emulator,bluestack,genymotion,Nox App Player,MEmu App Player,koplayer
  • 常用的iOS模擬器有xcode simulator
  • 常用的虛擬機有Parallels,VMware Fusion,VirtualBox,QEMU

一般來說不用刻意對虛擬技術(shù)進行定義和區(qū)別,測試人員更側(cè)重于這種技術(shù)帶來的結(jié)果,即可以通過軟件/工具創(chuàng)造一個符合測試設(shè)備軟件/硬件的環(huán)境。市場上手機、平板的配置五花八門,這個時候虛擬設(shè)備往往不能取代真機,而常常用于開發(fā)、測試環(huán)節(jié)的debug。但是對于PC、Mac來說系統(tǒng)因素一般是產(chǎn)品運行的關(guān)鍵,開發(fā)和測試一般會傾向使用虛擬機完成工作任務(wù)。 

圖片

圖五 VMware Fusion使用虛擬技術(shù)實現(xiàn)在macOS上使用Windows 11

(圖片來源:https://blogs.vmware.com/teamfusion/2021/10/fusion-12-2-now-available.html)

2. 真機

真實的搭載操作系統(tǒng)的硬件設(shè)備,可以是電腦、平板、手機。測試人員從終端用戶的角度,對真機進行測試往往能發(fā)現(xiàn)真實場景下的兼容性問題。通過從市場完成采購,或者從設(shè)備平臺進行租賃是常見的獲取方法。真機常見于手機、平板等可移動設(shè)備的測試。

3. 云測試平臺

云測試是基于云平臺提供測試服務(wù)的新模式。面向企業(yè)及開發(fā)者,通過云端調(diào)配和使用測試工具、測試設(shè)備、測試工程師,以解決企業(yè)軟件和系統(tǒng)的功能、兼容、性能、安全等全周期的測試需求。通過網(wǎng)絡(luò)協(xié)議等手段便可以在本地連接托管到機房的目標(biāo)真機進行測試活動。具有設(shè)備多、便捷、弱維護成本、即用型等特點。一般情況云測平臺提供的是托管在機房的可移動手機、平板的真機。

圖片

圖六 一些常見的云測試平臺對比

執(zhí)行兼容性測試方法

基于應(yīng)用場景進行測試方法選型

人工測試即全手工測試,可能會依賴第三方的工具完成測試目標(biāo)。手工測試工作量大,資源消耗嚴(yán)重,但是能發(fā)現(xiàn)明顯的兼容問題,比較適合測試設(shè)備少、測試功能點復(fù)雜的場景。

自動化測試,通過selenium、appium、cypress等自動化測試框架,實現(xiàn)測試用例的自動化,完成特定場景下兼容的驗證。自動化測試較手動測試完成速度快,能節(jié)省人工成本,但是由于自動化測試用例的顆粒度較大,當(dāng)前仍然無法完全取代手動測試。

手動測試和自動測試可以同時存在于同一個項目的交付周期里,靈活調(diào)整執(zhí)行方法,在某些程度上可以釋放測試資源,提高測試效率和節(jié)約成本。

圖片

圖七 某項目背景下手動測試和自動測試結(jié)合的可持續(xù)測試流程

最后

兼容性測試并不是簡單的以執(zhí)行為主的測試類型,確定兼容性測試策略需要系統(tǒng)地對整個測試周期進行層級劃分,基于數(shù)據(jù)或者事實基礎(chǔ)在層級之間設(shè)置篩選條件,并且建立層級之間持續(xù)反饋的渠道和方法。

圖片

圖八 兼容性測試的分層思路

測試人員從測試策略的角度,不僅需要了解兼容性測試的對象從產(chǎn)品層到業(yè)務(wù)層的篩選方式,也需要從測試目標(biāo)、測試資源、技術(shù)實現(xiàn)的角度篩選可測對象列表,在執(zhí)行層面通過虛擬、云測平臺、真機等方式組建起測試設(shè)備資源,利用手動、自動或者相結(jié)合的測試方式,靈活地進行兼容性測試的交付。兼容性測試涉及到大量的設(shè)備、技術(shù)、執(zhí)行方式的選型,完善兼容性測試是一個不斷摸索和實踐的過程。

責(zé)任編輯:趙寧寧 來源: Thoughtworks洞見
相關(guān)推薦

2014-11-04 14:33:33

WebService

2021-12-27 16:22:19

鴻蒙HarmonyOS應(yīng)用

2023-02-06 16:11:22

代碼研發(fā)鴻蒙

2023-07-10 09:38:06

兼容性測試方案

2009-09-01 18:55:09

Windows 7兼容

2009-03-07 09:49:07

Windows 7兼容性

2021-08-12 16:37:54

MozillaFirefox用戶代理

2009-09-15 08:33:01

2021-10-06 19:06:25

微軟Windows 11Windows

2023-03-24 07:31:58

Oracle兼容性產(chǎn)品

2011-08-16 15:17:44

IOS SDK

2010-10-08 15:00:08

FirefoxJavaScript兼

2010-03-05 17:09:18

2009-10-23 14:50:28

游戲Windows 7兼容性

2009-10-15 10:56:19

開放式布線系統(tǒng)

2012-03-05 12:05:49

國產(chǎn)殺軟

2013-07-09 11:04:13

2011-10-18 10:34:53

ibmdwSQLCLPPlus

2009-12-09 15:16:33

2009-09-24 08:42:17

Windows 7兼容性
點贊
收藏

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