一定要保持行為與代碼實(shí)現(xiàn)分開以減少測(cè)試步驟的脆弱性,自動(dòng)化腳本應(yīng)該處理人類可讀的功能說明和代碼級(jí)別實(shí)現(xiàn)界面之間的轉(zhuǎn)換。
圖1 測(cè)試對(duì)象模型
步驟框進(jìn)一步細(xì)分為不同的步驟類型。 步驟類型為執(zhí)行時(shí)測(cè)試中所發(fā)生的一切提供了更高的可視性,引發(fā)大量的智能分類大故障。
設(shè)置步驟是用來準(zhǔn)備和驗(yàn)證系統(tǒng)在正確的狀態(tài)開始測(cè)試功能特性。正因如此,這些步驟中的任何可見問題都將阻止測(cè)試,測(cè)試將會(huì)被標(biāo)記為“關(guān)閉”。 執(zhí)行和驗(yàn)證的步驟是真正行使正被測(cè)試的特性的步驟。 這個(gè)空間的任何問題都必須進(jìn)行調(diào)查,并把測(cè)試標(biāo)記為“失敗”。 后,還有一些在測(cè)試后將系統(tǒng)恢復(fù)到已知狀態(tài)的清理步驟。這里的問題可能意味著后續(xù)測(cè)試的假故障(如果系統(tǒng)并不與它本應(yīng)該的一致),所以一個(gè)“警告”被放在測(cè)試上了。
圖2 步驟類型和狀態(tài)
我們已經(jīng)看到步驟類型的好處主要在大量的自動(dòng)化測(cè)試領(lǐng)域,因?yàn)樗鼈儨p少了調(diào)查故障的時(shí)間。 用手工測(cè)試的話,測(cè)試工程師執(zhí)行測(cè)試時(shí)可以瞬間作出這個(gè)決定。
孤立的,可重復(fù)使用的構(gòu)建模塊和模板
因?yàn)槌^50的測(cè)試員和1萬的測(cè)試與測(cè)試下的同一系統(tǒng)交互,所以在我們的測(cè)試中有大量的步驟重復(fù),大多是關(guān)于測(cè)試設(shè)置的。我們需要一種方法來增加系統(tǒng)功能的可用性,但同時(shí)也能限制這些功能交互的各個(gè)領(lǐng)域。我們通過引進(jìn)構(gòu)建模塊和模板實(shí)現(xiàn)這一目標(biāo)。
●構(gòu)建模塊是在一項(xiàng)功能上進(jìn)行的(潛在參數(shù)驅(qū)動(dòng)的)個(gè)體行動(dòng),應(yīng)該包含必要的邏輯步驟以便與指定功能交互。一個(gè)模塊的范圍是靈活的,只需要和測(cè)試套件認(rèn)為必要的那么多模塊行。一個(gè)模塊可以被分解成更小的模塊,隨后需求上升以增加一個(gè)功能交互性的靈活性。
●模板是連接在一起通過應(yīng)用程序來創(chuàng)建流的構(gòu)建模塊的有序集合。功能交互不應(yīng)該在模板里,而應(yīng)在他們稱作模塊的里面。模板可以一個(gè)嵌一個(gè),使少步驟的測(cè)試下的系統(tǒng)得以充分交互。
圖3 構(gòu)建塊和模板