在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)_第1頁
在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)_第2頁
在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)_第3頁
在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)在測(cè)試代碼中硬編碼測(cè)試數(shù)據(jù)

發(fā)表于:2023-09-11來源:不祥:知平軟件點(diǎn)擊數(shù):標(biāo)簽:自動(dòng)化測(cè)試

在前面的文章數(shù)據(jù)驅(qū)動(dòng)測(cè)試?yán)?,講到了將測(cè)試數(shù)據(jù)以及表現(xiàn)測(cè)試步驟的代碼分開的技術(shù)。從測(cè)試的角度來看,固然希望能夠覆蓋的測(cè)試場(chǎng)景越多越好,但是在設(shè)計(jì)和編寫自動(dòng)化測(cè)試代碼的時(shí)候,卻又可以事先設(shè)計(jì)好一些固定的測(cè)試數(shù)據(jù)簡(jiǎn)化自動(dòng)化測(cè)試代碼的編寫工作。

在前面的文章數(shù)據(jù)驅(qū)動(dòng)(測(cè)試)里,講到了將(測(cè)試)數(shù)據(jù)以及表現(xiàn)測(cè)試步驟的代碼分開的技術(shù)。從測(cè)試的角度來看,固然希望能夠覆蓋的測(cè)試場(chǎng)景越多越好,但是在設(shè)計(jì)和編寫(自動(dòng)化)測(cè)試代碼的時(shí)候,卻又可以事先設(shè)計(jì)好一些固定的測(cè)試數(shù)據(jù)簡(jiǎn)化(自動(dòng)化)測(cè)試代碼的編寫工作。

之所以要這樣做(按照(編程)的術(shù)語講是硬編碼),是因?yàn)榘凑盏葍r(jià)類劃分,固定的測(cè)試數(shù)據(jù)一般都已經(jīng)被其他(測(cè)試(用例))覆蓋了。請(qǐng)考慮下面這個(gè)例子,假設(shè)你要測(cè)試一個(gè)博客網(wǎng)站(例如博客園)的文章評(píng)論功能,例如測(cè)試禁用一篇文章的評(píng)論功能,或者是測(cè)試文章刪除評(píng)論的功能。按照正常的流程,肯定是需要先編碼發(fā)布一篇文章,然后再編碼指定的評(píng)論(功能測(cè)試)(用例)。這樣的流程有以下幾個(gè)缺點(diǎn):

1.需要冗余的編碼,因?yàn)槊總€(gè)評(píng)論測(cè)試用例的代碼都要包含發(fā)布文章的步驟,在編程里面,我們都是極力推薦,什么只要代碼在不同的地方重復(fù)兩次,就要考慮是否將它封裝成一個(gè)函數(shù)之類的理念。這種包含冗余編碼的方式是我們?cè)跍y(cè)試過程中極力要避免地,否則,程序員可能哪天心情很好,重構(gòu)一下代碼,破壞了一些網(wǎng)頁的HTML結(jié)構(gòu)但是從用戶的角度來看又沒有任何區(qū)別;這種代碼重構(gòu),作為(測(cè)試人員)只能跟著程序員的代碼重構(gòu),修改測(cè)試代碼,那個(gè)時(shí)候,你當(dāng)然會(huì)希望改的地方越少越好啦。

對(duì)于這個(gè)缺點(diǎn),可能有人要說,在前面的文章"網(wǎng)站測(cè)試自動(dòng)化系統(tǒng)基于(Selenium)和VSTT',創(chuàng)建博客的測(cè)試步驟不是已經(jīng)被有效地封裝成一個(gè)函數(shù)了嗎,為什么還會(huì)說有冗余?這是因?yàn)樵冢ㄗ詣?dòng)化測(cè)試)過程中,測(cè)試人員會(huì)定期(一些高規(guī)格的軟件(開發(fā))團(tuán)隊(duì)要求每天)將所以編寫完畢的測(cè)試代碼批量執(zhí)行一遍,這就涉及到對(duì)于任何測(cè)試用例編碼都非常重要的兩個(gè)原則:

1)一個(gè)測(cè)試用例可以獨(dú)自執(zhí)行成功,就是說如果是單獨(dú)執(zhí)行這一個(gè)測(cè)試用例的話,這個(gè)測(cè)試用例是可以執(zhí)行成功的否則就是產(chǎn)品編碼的失誤(Bug)。舉個(gè)例子,你正要編碼測(cè)試一個(gè)管理博客文章的功能,這個(gè)功能通常來說都是登錄用戶才可以使用的。然而,也許你剛剛編碼完畢一個(gè)登錄方面的測(cè)試用例,而且用例執(zhí)行完畢的時(shí)候,沒有執(zhí)行注銷操作。這個(gè)時(shí)候你不能想當(dāng)然地以為下一個(gè)測(cè)試用例一定就是你現(xiàn)在正在編碼的文章管理的測(cè)試用例。

因?yàn)闇y(cè)試人員既保留有將多個(gè)測(cè)試用例任意排列執(zhí)行的權(quán)力,也可以選擇單獨(dú)執(zhí)行這一個(gè)測(cè)試用例比如程序員剛剛重構(gòu)了文章管理功能的代碼,為了節(jié)省測(cè)試時(shí)間,測(cè)試人員可能會(huì)選擇只執(zhí)行文章管理方面的測(cè)試用例。所以不要將自己的命運(yùn)寄托在別人手里。即除了整個(gè)團(tuán)隊(duì)都公認(rèn)的前提以外,不要相信任何前提。

2)測(cè)試用例可以在任意排列的用例序列中執(zhí)行通過,因此測(cè)試代碼應(yīng)該盡量保護(hù)測(cè)試環(huán)境。舉個(gè)例子,你設(shè)計(jì)了一個(gè)管理用戶權(quán)限的測(cè)試用例,一般來說這種功能只有管理員才有權(quán)限操作的。然而,也許另一個(gè)粗心大意的測(cè)試(工程師)編碼了一個(gè)測(cè)試刪除用戶的用例,恰好將管理員刪除了,而你的用例正好在他的用例之后執(zhí)行己所不欲,勿施于人,既然你不希望碰到這種情況,那么在編碼自己的測(cè)試用例之前也應(yīng)該避免類似的事情發(fā)生。

回過頭來再舉評(píng)論管理測(cè)試用例的設(shè)計(jì),于是你的幾個(gè)測(cè)試代碼可能看起來像下面這樣:

[TestMethod]

publicvoidBlogCommentIsDisabled()

{

TestLibrary.UserHelper.LogOnAsAdmin();

varblog=TestLibrary.BlogHelper.CreateBlog(博客文章標(biāo)題,文章內(nèi)容);

//去管理文章的網(wǎng)頁

TestLibrary.BlogHelper.ManageArticles();

//在文章管理的網(wǎng)頁的文章列表里依次查找標(biāo)題為

//博客文章標(biāo)題的文章連接,

varblogListItem=TestLibrary.BlogHelper.FindBlog(blog.Title);

//并且在網(wǎng)頁上點(diǎn)擊瀏覽這個(gè)鏈接,打開閱讀文章的網(wǎng)頁

blogListItem.View();

//評(píng)論這篇文章

TestLibrary.BlogHelper.Comment(blog);

//然后執(zhí)行一些驗(yàn)證判斷評(píng)論功能的確被禁用掉了

//...

}

[TestMethod]

publicvoidDeleteBlogComment()

{

TestLibrary.UserHelper.LogOnAsAdmin();

varblog=TestLibrary.BlogHelper.CreateBlog(博客文章標(biāo)題,文章內(nèi)容);

//去管理文章的網(wǎng)頁

TestLibrary.BlogHelper.ManageArticles();

//在文章管理的網(wǎng)頁的文章列表里依次查找標(biāo)題為

//博客文章標(biāo)題的文章連接,

varblogListItem=TestLibrary.BlogHelper.FindBlog(blog.Title);

//并且在網(wǎng)頁上點(diǎn)擊瀏覽這個(gè)鏈接,打開閱讀文章的網(wǎng)頁

blogListItem.View();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論