需求定義中的不支持——可能的測試盲區(qū)
十載的橫縣網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整橫縣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“橫縣網(wǎng)站設(shè)計(jì)”,“橫縣網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
一款產(chǎn)品必然有其系統(tǒng)需求或規(guī)格,在設(shè)計(jì)說明中定義清楚的不支持,不實(shí)現(xiàn)的功能或特性,有的時(shí)候也可能是測試設(shè)計(jì)中的盲區(qū)。
(舉例:需求定義產(chǎn)品產(chǎn)品的一些屬性為——XX系統(tǒng)不支持Win7之前的系統(tǒng),XX系統(tǒng)只支持IE內(nèi)核瀏覽器,XX系統(tǒng)和YY系統(tǒng)的早期版本不兼容。)
實(shí)例:
某款平臺(tái)產(chǎn)品,從Version1開始,幾年下來已經(jīng)迭代到Version4,期間接入了N多種終端產(chǎn)品,外設(shè)產(chǎn)品,數(shù)據(jù)庫,Web服務(wù)器。因?yàn)榧嫒菪蕴^龐大,產(chǎn)品分支拉的也密密麻麻,導(dǎo)致維護(hù)和測試都非常耗時(shí)。借著技術(shù)重大更新的機(jī)會(huì),平臺(tái)產(chǎn)品開發(fā)了Version5版本,對(duì)早期的兼容性經(jīng)過詳細(xì)的討論和設(shè)計(jì),約定好只支持幾個(gè)重大分支的終端,外設(shè)產(chǎn)品。
這個(gè)版本規(guī)劃喜大普奔,團(tuán)隊(duì)內(nèi)外都說以后就省時(shí)省力了。但很不幸在版本進(jìn)行beta測試時(shí),忽然出現(xiàn)了平臺(tái)崩潰的致命問題。
排查下來是一個(gè)明確不支持的早期版本設(shè)備,接入了平臺(tái),導(dǎo)致了平臺(tái)的異常。從測試設(shè)計(jì)的角度,這就是疏漏之處。產(chǎn)品明確定義了不支持,并不意味著就可以在測試中不用考慮此類場景。按照邊界值的測試設(shè)計(jì),這種明確不支持的項(xiàng)目,也可以理解為N+1的邊界值。
接入“明確不支持”的設(shè)備,然后可以驗(yàn)證很多項(xiàng)目:
1、兼容容錯(cuò)性,雙方系統(tǒng)是否有異常/崩潰/重啟。
2、設(shè)計(jì)友好性:是否有人性化的提示——比如版本太老,請(qǐng)升級(jí)新版本。
3、設(shè)計(jì)嚴(yán)謹(jǐn)性:直接提示禁止接入。
從產(chǎn)品設(shè)計(jì)的角度,兼容性的保護(hù)沒有設(shè)計(jì)好,肯定是設(shè)計(jì)疏漏,但是測試沒有能夠及時(shí)設(shè)計(jì)場景驗(yàn)證此問題,主要責(zé)任還是在測試設(shè)計(jì)方面。
這也是測試設(shè)計(jì)需要注意的環(huán)節(jié)。
規(guī)格書中明確明確的,XXX功能不支持,或者XXX版本不兼容,只支持XX系統(tǒng),XX瀏覽器等等。這些并不代表測試可以不測試。這就是很明顯的健壯性和邊界值保護(hù)測試。
但是事物具有一體兩面性,不考慮是不對(duì)的,但是也不要陷入到過度設(shè)計(jì)的牛角尖里面去。
還是上文的舉例——XX系統(tǒng)不支持Win7之前的系統(tǒng),那么在測試設(shè)計(jì)的時(shí)候,有沒有必要把XP、98、vista、2000都裝起來,進(jìn)行兼容性測試?同理,比如Android系統(tǒng)下的App,明確不支持4之前的版本,那么是不是也要把之前的系統(tǒng)都裝起來,進(jìn)行兼容性測試?
從測試設(shè)計(jì)和投入產(chǎn)出的實(shí)際情況來說,前者(win7之前)幾乎是肯定不用測試,后者(Android4之前)可能不用測試,也可能用測試。
這就是此類測試設(shè)計(jì)的一個(gè)常規(guī)分類,產(chǎn)品的性質(zhì)、客戶、覆蓋面等等,需要綜合考慮。按照測試設(shè)計(jì)從少到多來排序,如下:
一、操作系統(tǒng)兼容性。
可以就按照需求定義所支持的系統(tǒng)進(jìn)行測試,不需要過多的考慮不支持的產(chǎn)品。
首先,既然產(chǎn)品敢這么定義,就意味著產(chǎn)品本身就不是QQ、WPS這種,需要全版本兼容的覆蓋面非常廣的產(chǎn)品,而是有可能是特定用戶,特定環(huán)境,或者使用目標(biāo)客戶精準(zhǔn)的產(chǎn)品。所以就沒有太多的必要,過度測試。比如守望先鋒,你興致勃勃安裝完,發(fā)現(xiàn)卡的一塌糊涂,你也不會(huì)罵暴雪產(chǎn)品爛,只會(huì)怪自己沒看清楚軟件運(yùn)行的系統(tǒng)要求,然后自己去買顯卡。
二、Web客戶端對(duì)瀏覽器的兼容性。
同理,產(chǎn)品既然設(shè)計(jì)如此,必然有其道理,如果用戶是全覆蓋類型,你設(shè)計(jì)產(chǎn)品說不支持chorme瀏覽器,可能會(huì)被同類產(chǎn)品直接淘汰。但是如果是給公司內(nèi)部用的OA系統(tǒng),ERP系統(tǒng)等,完全可以通過行政要求的方式搞定,只需要在某內(nèi)核的瀏覽器下完美實(shí)現(xiàn)即可。
所以測試設(shè)計(jì),也是輕量級(jí)的測試設(shè)計(jì),找?guī)卓钇渌麅?nèi)核的瀏覽器,大概的安裝使用一下,看是否會(huì)有提示“本產(chǎn)品支持XX瀏覽器”,是否會(huì)出現(xiàn)系統(tǒng)異常,導(dǎo)致瀏覽器崩潰,或者操作系統(tǒng)無響應(yīng),就可認(rèn)為達(dá)到設(shè)計(jì)目的。
三、App對(duì)手機(jī)操作系統(tǒng)的兼容性。
在手機(jī)操作系統(tǒng)上,可以明確不兼容,但是因?yàn)檩d體的不可控性,這部分還是需要測試的。同樣,現(xiàn)在網(wǎng)上的模擬云挺多,也不需要實(shí)體機(jī)刷Rom,投入和產(chǎn)出還是正向的。
四、自己產(chǎn)品之間的兼容性。
比如說某種行業(yè)產(chǎn)品,比如超市的掃碼計(jì)費(fèi)系統(tǒng),小區(qū)樓宇的報(bào)警系統(tǒng)等,從平臺(tái)、到終端,從軟件到設(shè)備,都是自己做的,那么這種升級(jí)的兼容性,反而是產(chǎn)品設(shè)計(jì)和測試設(shè)計(jì)的重點(diǎn)。
新產(chǎn)品的迭代,可以明確不支持某種老產(chǎn)品/老版本,但是要給出友好的提示,或者明確的解決方案。
所以這種測試,往往就是XY的一張表,或者XYZ的對(duì)通表,一個(gè)個(gè)測試過去,打勾打叉,枯燥繁瑣,但是事關(guān)重要。
本文主要描述了測試設(shè)計(jì)可能的一個(gè)盲區(qū)——規(guī)格明確不支持的功能/特性。但同時(shí)也明確了不要過度設(shè)計(jì),否則就是浪費(fèi)成本和項(xiàng)目時(shí)間。
測試設(shè)計(jì)實(shí)際上是一個(gè)復(fù)雜的加權(quán)系數(shù)的模型,和產(chǎn)品、客戶、使用方式、頻率、缺陷修復(fù)成本、行業(yè)、公司很多的因素相關(guān),切不可一概而論。