作為一個(gè)測試人員,報(bào)告相關(guān)人員影響系統(tǒng)的功能和威脅系統(tǒng)性能的問題是我們工作中的任務(wù)。
可能你常會(huì)遇到領(lǐng)導(dǎo)攔著問你:我們測試結(jié)果如何,還有故障嗎?版本可以發(fā)布了嗎?
![]()
但是如果你作為測試人員不知道系統(tǒng)的邊界呢?如果你把測試結(jié)果的信心只是建立在應(yīng)該一小部分測試的內(nèi)容上,該怎么辦?如果你不知道系統(tǒng)/解決方案如何或何時(shí)更改了怎么辦?如果你缺乏這種控制,你怎么能說你對(duì)測試結(jié)果有信心呢?
其實(shí)這些問題與我們產(chǎn)品的可測性相關(guān)。如果我們獲取知識(shí)的平臺(tái)不穩(wěn)定,我們?cè)趺茨軌虼_保所學(xué)的東西是正確的呢?
舉例說明
一個(gè)系統(tǒng)由許多子系統(tǒng)組成,解決方案由許多不同的參與者更新,一些人手動(dòng)執(zhí)行,一些人通過持續(xù)部署執(zhí)行。
更大的解決方案經(jīng)常改變,端到端測試人員有時(shí)需要花費(fèi)相當(dāng)多的時(shí)間來執(zhí)行測試。通常情況下,他們開始一個(gè)測試,在此期間解決方案被更新或更改為新的組件或子系統(tǒng)。在測試的結(jié)果中很難得到任何確定性。
當(dāng)你測試一個(gè)系統(tǒng)并記錄測試結(jié)果時(shí),你需要能夠以多種引用該系統(tǒng)。
如果系統(tǒng)不斷地發(fā)生變化,你需要以某種方式知道它什么時(shí)候發(fā)生了變化,變化是什么以及在哪里發(fā)生的。
如果你不知道哪里發(fā)生了什么變化,這將使你更難計(jì)劃你的測試范圍,也很難相信測試的結(jié)果。
識(shí)別系統(tǒng)
識(shí)別系統(tǒng)的一種方法是首先識(shí)別系統(tǒng)由什么組成,考慮系統(tǒng)的邊界和包括什么、是否應(yīng)該將環(huán)境配置作為系統(tǒng)的一部分……
世上沒有完美的準(zhǔn)則。你只能在一定程度上定義系統(tǒng)。當(dāng)你定義系統(tǒng)的部分或組件時(shí),你就能獲得相應(yīng)的測試準(zhǔn)則(也可以叫“神諭“)。
但是,試想一下,如果沒有權(quán)威的準(zhǔn)則,你怎么測試呢?或者說你怎么指導(dǎo)一個(gè)初級(jí)測試人員運(yùn)行測試用例,并告訴他是否通過了呢?本文討論的核心就是:測試人員的信心來源——權(quán)威的測試準(zhǔn)則。
測試準(zhǔn)則
其實(shí)測試準(zhǔn)則的問題簡單來講,就是“一致性”問題。期望結(jié)果與實(shí)際結(jié)果是否一致的問題。
我們已經(jīng)說過:世界上沒有完美的準(zhǔn)則。權(quán)威的測試準(zhǔn)則只在局部有效,即只能與我們定義的系統(tǒng)相一致才有效。那么,我們?cè)诙x權(quán)威的測試準(zhǔn)則時(shí),需要考慮哪些方面呢?
用戶需求一致性
我們?cè)O(shè)計(jì)的產(chǎn)品要符合用戶需求,因此滿足用戶需求是我們首要考慮的測試準(zhǔn)則。模擬用戶真實(shí)的部署環(huán)境、參考用戶的行為習(xí)慣、模擬用戶的數(shù)據(jù)等制定測試用例,將用戶需求與測試結(jié)果進(jìn)行一致性對(duì)比,從而判定測試是否通過。
可比產(chǎn)品一致性
在可比產(chǎn)品中,類似的功能行為一致。這通常在對(duì)標(biāo)中經(jīng)常出現(xiàn)。比如,windows系統(tǒng)我們習(xí)慣性使用ctrl+c表示復(fù)制,ctrl+v表示粘貼。若是在linux系統(tǒng)中定義ctrl+v表示復(fù)制,ctrl+c表示粘貼,則會(huì)造成許多習(xí)慣性使用沖突。
歷史產(chǎn)品一致性
現(xiàn)在的行為與過去的行為一致。可能有的人會(huì)對(duì)此提出異議:如果我得產(chǎn)品功能發(fā)生變更,這一準(zhǔn)則是否毫無意義或者起了反作用。在這里,我們說的是,如果相同的功能未發(fā)生變化的時(shí)候,需要與歷史產(chǎn)品保持一致。這經(jīng)常出現(xiàn)在回歸測試中。
形象一致性
這一點(diǎn)很少被提及,或者說很容易被忽略。但對(duì)于大公司來說,這一準(zhǔn)則又潛在影響著其公司發(fā)布的產(chǎn)品。例如,阿里巴巴集團(tuán)旗下產(chǎn)品設(shè)計(jì)喜歡用橙黃色,這與其最初產(chǎn)品定調(diào)是相一致的。
聲明一致性
這里的聲明包括:文檔、規(guī)范或廣告等。產(chǎn)品行為需要與聲明不一致,否則將會(huì)產(chǎn)生矛盾。聲明一致性常用于我們的文檔測試。
標(biāo)準(zhǔn)或規(guī)定一致性
這里的標(biāo)準(zhǔn)或規(guī)定指的是基礎(chǔ)標(biāo)準(zhǔn),如數(shù)學(xué)運(yùn)算規(guī)則、數(shù)學(xué)運(yùn)算結(jié)果,或國家安全法例條文等規(guī)定。我們?cè)O(shè)計(jì)的產(chǎn)品不能違反這些基本標(biāo)準(zhǔn)或規(guī)定,例如:如果計(jì)算結(jié)果2+2=5,我們則能快速判定產(chǎn)品出現(xiàn)了錯(cuò)誤。
目的一致性
產(chǎn)品功能與表面表現(xiàn)一致性。例如,某個(gè)應(yīng)用下拉框或輸入框我們選擇或輸入“A”,但產(chǎn)品內(nèi)部功能并沒有接收到或正確傳遞這一選項(xiàng),則屬于目的一致性。
以上所述,只是制定測試準(zhǔn)則的一部分要求或思考。或許,你還有更好的建議呢?歡迎討論。
最后:在我的V:atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動(dòng)化測試、APP自動(dòng)化測試、接口自動(dòng)化測試、測試高級(jí)持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.