導(dǎo)言
當(dāng)下,各種新的技術(shù)層出不群击蹲,測試方法也在發(fā)生著很大的變化署拟。過去對測試的劃分可能已經(jīng)有些不合適,例如單元測試歌豺、集成測試推穷、發(fā)布測試從流程維度進(jìn)行了劃分,但逐漸讓測試人員迷失在具體的測試技術(shù)中类咧,而逐漸忽略了為什么做馒铃?如何做?
分類
分類概念
我更愿意從目標(biāo)維度上進(jìn)行頂層劃分痕惋,分為兩類測試:需求滿足性測試與健壯性測試区宇。在沒有具體按這個分類時蘸泻,很多人也是按這個來思考的苛茂,但對它明確提出概念后會有很多不同本鸣,會衍生出很多新工具的需求圃验。名字可以帶來額外的能力肴熏。
分類帶來的認(rèn)知提升
例如祠汇,從單元測試工具來說贞远,國內(nèi)研發(fā)的幾個單元測試工具基本都具有手動測試用例設(shè)計與自動測試用例生成的功能悦即,但工具廠商卻不能有充分的概念來說明為什么需要一個用例自動生成的功能赴捞,僅僅是用戶為了偷懶想要更高的結(jié)構(gòu)覆蓋率逼裆。
按新的分來來解釋,單元測試工具可以支持兩類測試赦政,需求滿足性測試與健壯性測試胜宇。在兩類不同測試下,操作與交互都會有很大區(qū)別昼钻。在需求滿足性測試中掸屡,輸入主要是被測代碼與低級需求,輸出是用例然评、用例執(zhí)行結(jié)果仅财、需求與用例的追蹤關(guān)系。而健壯性測試中碗淌,不需要關(guān)注低級需求盏求,只關(guān)注與被測源碼結(jié)構(gòu),產(chǎn)生更多的邊界數(shù)據(jù)亿眠,觸發(fā)出代碼異常碎罚。針對單元測試中的健壯性測試來說,輸入是被測代碼纳像,輸出是用例數(shù)據(jù)與對應(yīng)的異常描述以及代碼結(jié)構(gòu)覆蓋率荆烈。從輸入、輸出來看,這兩個測試被集成在一個工具中其實并不是那么恰當(dāng)憔购,因為幾乎只有輸入中的被測代碼是共同的宫峦,其他幾乎都不同。
在幾乎每一個過程中玫鸟,都伴隨著需求滿足性測試與健壯性測試导绷。例如針對一個需求分析文檔來說,如果執(zhí)行文檔測試屎飘,確保文檔質(zhì)量妥曲,那么也可以按需求滿足性測試與健壯性測試進(jìn)行劃分。需求滿足性測試將主要驗證需求是否充分描述了客戶的需求钦购,而健壯性測試則驗證該文檔針對不同人員檐盟,是否可以達(dá)到可理解、易理解以及理解是否一致肮雨。從這些維度劃分以后遵堵,會對文檔測試提出很多相關(guān)規(guī)范,格式怨规、章節(jié)組織等陌宿。
以上例子可能都是描述了某個階段的測試,那么針對某個技術(shù)來說波丰,這種劃分是否有意義壳坪。自動化測試技術(shù)是當(dāng)前比較流行的測試概念,如果分為需求滿足性測試與健壯性測試掰烟,會發(fā)生什么爽蝴?會演化出兩個不同的技術(shù)體系,一個用于將手動執(zhí)行的用例自動化纫骑,一個用于自動化探索新用例蝎亚,這兩者的實現(xiàn)方式、交互方式都幾乎會完全不同先馆。
技術(shù)儲備
不同的測試分類下发框,技術(shù)儲備是完全不同的。需求滿足性測試煤墙,更加強調(diào)的是項目管理整體流程的規(guī)范化梅惯,數(shù)據(jù)的可追蹤性。健壯性測試分類下仿野,更偏重于智能技術(shù)分析铣减,基于源碼、環(huán)境理解脚作,自主對被測程序進(jìn)行理解葫哗,分析被測程序中的不足。當(dāng)未來某一天,可以通過形式化方法充分描述需求劣针,那么需求滿足性測試與健壯性測試將不再進(jìn)行區(qū)分桨螺,并且是健壯性測試包含滿足性測試。
對測試人員發(fā)展的啟示
現(xiàn)在市場中還存在大量的功能測試工程師崗位酿秸,從分類上來說,這一類工程師主要服務(wù)于需求滿足性測試魏烫。對于這一類測試工程師辣苏,按需求滿足性測試未來應(yīng)該具備兩個技能,系統(tǒng)規(guī)范與自動化測試哄褒。系統(tǒng)規(guī)范指針對某個標(biāo)準(zhǔn)的理解與應(yīng)用稀蟋,例如CMMI標(biāo)準(zhǔn)。需求滿足性測試將是在某個標(biāo)準(zhǔn)規(guī)范下呐赡,實施自動化測試的過程退客。對于健壯性測試來說,要求非常高的理論與研發(fā)技能链嘀,屬于開發(fā)領(lǐng)域的主要工作萌狂,對于測試人員來說,需要具備多平臺系統(tǒng)的運維能力怀泊,未來能夠?qū)⒉煌悄芊治鱿到y(tǒng)部署到不同的系統(tǒng)下茫藏,并進(jìn)行集成。
真心希望霹琼,本文能夠為測試人員的未來規(guī)劃提供一些幫助务傲。