淺談軟件測試用例
發(fā)現(xiàn):
人來了,又走了!
有篇博文如是說,大體意思是有些的程序員,中途轉(zhuǎn)測試,但很快又轉(zhuǎn)回程序員。為何會(huì)這樣,難道說測試不值得他們一試嗎?普遍流行說測試工作如何如何簡單,就是會(huì)點(diǎn)點(diǎn)鼠標(biāo)、按鈕就能做的工作;然而,事實(shí)恰恰相反,這些老到的程序員卻是因?yàn)闇y試工作的復(fù)雜而沒有既來之,則安之的。
軟件測試乍看起來是件簡單的工作,深入其中后,發(fā)現(xiàn)并不如所想,程序中各個(gè)模塊之間的接口調(diào)用錯(cuò)綜復(fù)雜(特別是大型程序),加之程序員的編寫代碼技巧以及個(gè)人習(xí)慣,使得一個(gè)程序有多種編程思路,只為實(shí)現(xiàn)功能,而不考慮代碼的優(yōu)化、效率、易讀性以及接口之間的耦合關(guān)系,這樣就會(huì)造成各種意想不到的bug,諸多因素都可能產(chǎn)生bug,應(yīng)該怎么去測試,一個(gè)覆蓋面比較全的測試用例文件是必不可少的;當(dāng)然,程序中的各種復(fù)雜關(guān)系都是要在用例中考慮和體現(xiàn)的;
測試用例是軟件測試的核心,重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。每個(gè)軟件產(chǎn)品或軟件開發(fā)項(xiàng)目都需要有一套優(yōu)秀的測試方案和測試方法。
之前我理解的測試用例僅僅是覆蓋程序面廣的測試方案表,后來知道作為白盒測試的腳本也稱作測試用例,因?yàn)槟_本的執(zhí)行過程其實(shí)就是測試用例的執(zhí)行過程,每個(gè)具體功能的腳本都是一個(gè)用例;
定義:
測試用例(TestCase)目前沒有經(jīng)典的定義。比較通常的說法是:指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現(xiàn)測試方案、方法、技術(shù)和策略。內(nèi)容包括測試目標(biāo)、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預(yù)期結(jié)果、測試腳本等,并形成文檔。
特點(diǎn),
1、原理上可以完美的全面覆蓋,但不具有顯示意義;
2、測試用例不能避免系統(tǒng)帶來的問題,如內(nèi)存等等;
3、隨需求變動(dòng);
好的用例:
不同的軟件要設(shè)計(jì)不同的用例,以達(dá)到資源最優(yōu)分化,諸如銀行、醫(yī)療、航天、政府、科研類似軟件具有高度安全性、保密性的軟件,測試工作的工作量較其他軟件相要大的多;對(duì)于一些個(gè)人應(yīng)用軟件相對(duì)優(yōu)先級(jí)就會(huì)小很多;
1、要讓不懂程序的人能看懂,能根據(jù)用例進(jìn)行程序測試工作;
2、覆蓋面全
3、冗余步驟少
4、簡潔明了
如何寫?
1、根據(jù)需求分析結(jié)果,編寫每個(gè)小功能的測試用例;
2、小功能->模塊->模塊間->系統(tǒng);
3、長流程;
4、路徑;
5、特殊操作;
設(shè)計(jì)方法:
可以采用軟件測試常用的基本方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法、邏輯覆蓋法等設(shè)計(jì)測試用例。
獨(dú)具匠心的考慮方法;
測試用例中的信息:
簡潔信息:編寫時(shí)間、測試目的、定義術(shù)語、程序名稱、程序說明、參考文檔、版本號(hào);
正文內(nèi)容:用例編號(hào)、模塊名稱、測試前提(環(huán)境)、用例級(jí)別、測試目的、操作步驟、預(yù)期結(jié)果、備注信息等等;
測試的幾個(gè)關(guān)鍵點(diǎn):
1、臨界點(diǎn)
2、互斥操作(touch)
3、條件限制
4、層次影響(一個(gè)界面的操作影響了之前木塊的頁面或者操作)
測試用例不是一勞永逸的事情,但是最好的測試方案參考,因?yàn)槌绦虿豢赡苡肋h(yuǎn)不變;
對(duì)于腳本用例子,可以嘗試為測試腳本編寫測試用例,已確保腳本的正確性,提高測試準(zhǔn)確度;
評(píng)審與維護(hù):
1、評(píng)審,
測試用例的覆蓋面全不全,有無冗余,要有一個(gè)專門的機(jī)制進(jìn)行評(píng)審,以確定測試用例的可用性;(項(xiàng)目經(jīng)理、測試組、客戶)
2、維護(hù)
包括了對(duì)用例的漏洞補(bǔ)充與及時(shí)更新;
想法:如果對(duì)每次出現(xiàn)問題的位置在用例表上做標(biāo)記,那么就能在長期使用中做到對(duì)模塊設(shè)計(jì)者的評(píng)估;
發(fā)現(xiàn):
人來了,又走了!
有篇博文如是說,大體意思是有些的程序員,中途轉(zhuǎn)測試,但很快又轉(zhuǎn)回程序員。為何會(huì)這樣,難道說測試不值得他們一試嗎?普遍流行說測試工作如何如何簡單,就是會(huì)點(diǎn)點(diǎn)鼠標(biāo)、按鈕就能做的工作;然而,事實(shí)恰恰相反,這些老到的程序員卻是因?yàn)闇y試工作的復(fù)雜而沒有既來之,則安之的。
軟件測試乍看起來是件簡單的工作,深入其中后,發(fā)現(xiàn)并不如所想,程序中各個(gè)模塊之間的接口調(diào)用錯(cuò)綜復(fù)雜(特別是大型程序),加之程序員的編寫代碼技巧以及個(gè)人習(xí)慣,使得一個(gè)程序有多種編程思路,只為實(shí)現(xiàn)功能,而不考慮代碼的優(yōu)化、效率、易讀性以及接口之間的耦合關(guān)系,這樣就會(huì)造成各種意想不到的bug,諸多因素都可能產(chǎn)生bug,應(yīng)該怎么去測試,一個(gè)覆蓋面比較全的測試用例文件是必不可少的;當(dāng)然,程序中的各種復(fù)雜關(guān)系都是要在用例中考慮和體現(xiàn)的;
測試用例是軟件測試的核心,重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時(shí)間內(nèi)完成測試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。每個(gè)軟件產(chǎn)品或軟件開發(fā)項(xiàng)目都需要有一套優(yōu)秀的測試方案和測試方法。
之前我理解的測試用例僅僅是覆蓋程序面廣的測試方案表,后來知道作為白盒測試的腳本也稱作測試用例,因?yàn)槟_本的執(zhí)行過程其實(shí)就是測試用例的執(zhí)行過程,每個(gè)具體功能的腳本都是一個(gè)用例;
定義:
測試用例(TestCase)目前沒有經(jīng)典的定義。比較通常的說法是:指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現(xiàn)測試方案、方法、技術(shù)和策略。內(nèi)容包括測試目標(biāo)、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預(yù)期結(jié)果、測試腳本等,并形成文檔。
特點(diǎn),
1、原理上可以完美的全面覆蓋,但不具有顯示意義;
2、測試用例不能避免系統(tǒng)帶來的問題,如內(nèi)存等等;
3、隨需求變動(dòng);
好的用例:
不同的軟件要設(shè)計(jì)不同的用例,以達(dá)到資源最優(yōu)分化,諸如銀行、醫(yī)療、航天、政府、科研類似軟件具有高度安全性、保密性的軟件,測試工作的工作量較其他軟件相要大的多;對(duì)于一些個(gè)人應(yīng)用軟件相對(duì)優(yōu)先級(jí)就會(huì)小很多;
1、要讓不懂程序的人能看懂,能根據(jù)用例進(jìn)行程序測試工作;
2、覆蓋面全
3、冗余步驟少
4、簡潔明了
如何寫?
1、根據(jù)需求分析結(jié)果,編寫每個(gè)小功能的測試用例;
2、小功能->模塊->模塊間->系統(tǒng);
3、長流程;
4、路徑;
5、特殊操作;
設(shè)計(jì)方法:
可以采用軟件測試常用的基本方法:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法、邏輯覆蓋法等設(shè)計(jì)測試用例。
獨(dú)具匠心的考慮方法;
測試用例中的信息:
簡潔信息:編寫時(shí)間、測試目的、定義術(shù)語、程序名稱、程序說明、參考文檔、版本號(hào);
正文內(nèi)容:用例編號(hào)、模塊名稱、測試前提(環(huán)境)、用例級(jí)別、測試目的、操作步驟、預(yù)期結(jié)果、備注信息等等;
測試的幾個(gè)關(guān)鍵點(diǎn):
1、臨界點(diǎn)
2、互斥操作(touch)
3、條件限制
4、層次影響(一個(gè)界面的操作影響了之前木塊的頁面或者操作)
測試用例不是一勞永逸的事情,但是最好的測試方案參考,因?yàn)槌绦虿豢赡苡肋h(yuǎn)不變;
對(duì)于腳本用例子,可以嘗試為測試腳本編寫測試用例,已確保腳本的正確性,提高測試準(zhǔn)確度;
評(píng)審與維護(hù):
1、評(píng)審,
測試用例的覆蓋面全不全,有無冗余,要有一個(gè)專門的機(jī)制進(jìn)行評(píng)審,以確定測試用例的可用性;(項(xiàng)目經(jīng)理、測試組、客戶)
2、維護(hù)
包括了對(duì)用例的漏洞補(bǔ)充與及時(shí)更新;
想法:如果對(duì)每次出現(xiàn)問題的位置在用例表上做標(biāo)記,那么就能在長期使用中做到對(duì)模塊設(shè)計(jì)者的評(píng)估;
posted on 2012-07-11 09:39 順其自然EVO 閱讀(753) 評(píng)論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄