功能测试小结(一)
功能測(cè)試是所有測(cè)試的基礎(chǔ),不管是自動(dòng)化、性能、安全還是其他方面的測(cè)試工作,都需要在功能測(cè)試的基礎(chǔ)上進(jìn)行。至今工作七八年了,為以后工作能夠更順利的進(jìn)行,準(zhǔn)備做一個(gè)小結(jié)。
測(cè)試基本上是從界面、功能、性能、安全性、易用性、兼容性六個(gè)方面進(jìn)行考慮。
簡(jiǎn)單來(lái)講,以一個(gè)簡(jiǎn)單的軟件作為例子:
外觀界面測(cè)試:主要是測(cè)試軟件界面功能模塊的布局是否合理、整體風(fēng)格是否一致、界面中文字是否正確、命名是否統(tǒng)一,頁(yè)面是否美觀、文字、顏色、圖片組合是否完美等;
功能測(cè)試:測(cè)試軟件所呈現(xiàn)給用戶的所有功能點(diǎn)是否都能正常使用和操作,主流程分支流程能否完整運(yùn)行,對(duì)于異常流程能否正確做出反應(yīng),是否滿足軟件需求規(guī)格說(shuō)明書的要求;
易用性測(cè)試:測(cè)試軟件是否易操作,主觀性比較強(qiáng),站在用戶的角度體驗(yàn)軟件產(chǎn)品好不好用;
兼容性測(cè)試:測(cè)試該軟件與其他軟件或者不同平臺(tái)上的運(yùn)行情況是否正常,例如比較常見(jiàn)的平臺(tái)兼容性、瀏覽器兼容,更深一些的軟件本身的功能和功能之間,軟件和第三方之間的兼容性;
安全性測(cè)試:測(cè)試該軟件防止非法入侵的能力;
性能測(cè)試:測(cè)試軟件在不同環(huán)境的壓力下是否能正常運(yùn)轉(zhuǎn),很重要的一個(gè)指標(biāo)是系統(tǒng)響應(yīng)時(shí)間,例如多人同時(shí)訪問(wèn)某個(gè)網(wǎng)頁(yè)時(shí),網(wǎng)頁(yè)是否能在規(guī)定時(shí)間內(nèi)打開(kāi)等指標(biāo);
當(dāng)然,與之相對(duì)的測(cè)試用例設(shè)計(jì)方法也存在不少,舉幾個(gè)比較常用的方法比如:
等價(jià)類劃分法:就是將測(cè)試的范圍劃分成幾個(gè)互不相交的子集,他們的并集是全集,從每個(gè)子集選出若干個(gè)有代表性的值作為測(cè)試用例。
例如,我們要測(cè)試一個(gè)用戶名是否合法,用戶名的定義為:8位數(shù)字組成的字符。
我們可以先劃分子集:空用戶名,1-7位數(shù)字,8位數(shù)字,9位或以上數(shù)字,非數(shù)字(特殊字符或者漢字英文),數(shù)字和非數(shù)字混合。
然后從每個(gè)子集選出若干個(gè)有代表性的值:
空用戶名:“” (無(wú)效等價(jià)類實(shí)例,指對(duì)于軟件規(guī)格說(shuō)明而言,沒(méi)有意義的、不合理的輸入)
1-7位數(shù)字:”234” (無(wú)效等價(jià)類實(shí)例)
8位數(shù)字:”00000000” (有效等價(jià)類實(shí)例,能檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能)
9位或以上數(shù)字:”1234567890” (無(wú)效等價(jià)類實(shí)例)
非數(shù)字:”abc&!!!” (無(wú)效等價(jià)類實(shí)例)
數(shù)字和非數(shù)字混合:“ab123dc2”(無(wú)效等價(jià)類實(shí)例)
他們6個(gè),就是用等價(jià)類劃分選出的測(cè)試用例。實(shí)際上,對(duì)于1-7位數(shù)字的子集來(lái)說(shuō),選“234”和“11111”沒(méi)有本質(zhì)的區(qū)別。
等價(jià)類的劃分,最關(guān)鍵的是子集的劃分。
邊界值分析法:長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。選出的測(cè)試用例,應(yīng)選取正好等于、剛剛大于、剛剛小于邊界的值, 例如,對(duì)于在區(qū)間min,max的值,測(cè)試用例可以記為min,min+,max,max-。
例如,假定 X 為整數(shù),10≤X≤100,那么 X 在測(cè)試中應(yīng)該取的邊界值為:10,11,99,100。
注:上面只是說(shuō)邊界值,如果是完整的測(cè)試,除了邊界值外,還需要一個(gè)正常值,即12-98之間的任意值。
錯(cuò)誤推測(cè)法是指:在測(cè)試程序時(shí),人們可以根據(jù)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫檢查這些錯(cuò)誤的測(cè)試用例的方法。這種方法沒(méi)有固定的形式,依靠的是經(jīng)驗(yàn)和直覺(jué),很多時(shí)候,我們都會(huì)不知不覺(jué)的使用到。
判定表法(策略表),基于策略表的測(cè)試,是功能測(cè)試中最嚴(yán)密的測(cè)試方法。該方法適合于邏輯判斷復(fù)雜的場(chǎng)景,通過(guò)窮舉條件獲得結(jié)果,對(duì)結(jié)果再進(jìn)行優(yōu)化合并,會(huì)得到一個(gè)判斷清晰的策略表。
例如,某公司對(duì)客戶分類標(biāo)準(zhǔn)如下:
顧客每次訂貨額在1000元以上(含1000元),信譽(yù)好的,訂單設(shè)“優(yōu)先”標(biāo)志;
信譽(yù)不好,但是老客戶的,訂單設(shè)“優(yōu)先”標(biāo)志;
信譽(yù)不好,但是新客戶的,訂單設(shè)“正常”標(biāo)志;
每次訂貨額在 1000元以下,訂單設(shè)“正常”標(biāo)志。
繪制的決策表如下:
這里寫圖片描述
此表分兩大行,兩大列,分別用不同的顏色區(qū)別。
淺藍(lán):列出所有條件(或稱為輸入)
淺灰:列出所有結(jié)果(或稱為輸出,行動(dòng)或決策)
淺黃:窮舉所有條件的組合
淺綠:根據(jù)每一列的條件,判斷出結(jié)果
正交實(shí)驗(yàn)法:用語(yǔ)言描述正交實(shí)驗(yàn)法會(huì)很抽象難懂,簡(jiǎn)單說(shuō),就是在各因素互相獨(dú)立的情況下,設(shè)計(jì)出一種特殊的表格,找出能以少數(shù)替代全面的測(cè)試用例。
其中,上面所說(shuō)的特殊表格就是正交表,是按照一定規(guī)則生成的表。
雖然說(shuō)是特殊的表格,實(shí)際表現(xiàn)形式跟一般的表格沒(méi)有什么區(qū)別,正交表的主要特征是,“均勻分布,整齊劃一”,正是因?yàn)椤熬鶆颉钡模圆拍芤陨贁?shù)代替全部。正交表的講解和圖解網(wǎng)上都有不少,屬于比較常用的方法,這里就不多述了。
功能測(cè)試用例設(shè)計(jì)方法還有很多,例如因果圖法,狀態(tài)轉(zhuǎn)換測(cè)試法等,他們都略為復(fù)雜,像正交實(shí)驗(yàn)法一樣,有各自的一套東西,不過(guò)本質(zhì)都是通過(guò)畫圖,讓我們更好的思考,最后轉(zhuǎn)化成判定表。
實(shí)際上常用的是前面五種方法,包括:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、判定表法、正交實(shí)驗(yàn)法。
如果被人問(wèn)到,在測(cè)試這個(gè)行業(yè)中,最重要的能力是什么,相信會(huì)存在很多不同的答案,但是在我心中,測(cè)試最重要的其實(shí)還是業(yè)務(wù)分析能力,不管是做功能也好,自動(dòng)化也好,性能也好,安全也好,最最基礎(chǔ)的都是必須要將被測(cè)產(chǎn)品的業(yè)務(wù)理解完全,才能開(kāi)展 后續(xù)的工作,上面所說(shuō)的測(cè)試點(diǎn)考慮方面、用例設(shè)計(jì)方法,如果不是建立在業(yè)務(wù)吃透的情況下,就算測(cè)試通過(guò)了,估計(jì)上線后也是會(huì)存在不少問(wèn)題,更有可能出現(xiàn)重大測(cè)試事故。為了提醒自己不要忘記這個(gè)重點(diǎn),提筆寫下了這篇總結(jié),后續(xù)將會(huì)對(duì)測(cè)試點(diǎn)的六個(gè)方面進(jìn)行詳解,也是對(duì)自己的一個(gè)總復(fù)習(xí)吧。
總結(jié)
- 上一篇: 卫塞节
- 下一篇: Java 常用函数式接口 —— Supp