唐僧與
QA MM
在一個典型的項目團(tuán)隊里,包括了以下幾種角色(帽子):
PM(項目經(jīng)理)、
BA(業(yè)務(wù)分析師)、
DEV(程序開發(fā)者)和
QA(質(zhì)量保證人員),整個團(tuán)隊的目標(biāo)是向客戶交付價值。
那么,有一天,
QA MM來找我,我是開發(fā)人員。
MM說,一張圖片沒有正常顯示,我想知道原因,同時想知道你能否修復(fù)。我的第一想法是,這不可能,一定是環(huán)境的原因。我說,好的,稍等。接下來,我張大嘴巴看到了
MM給我重現(xiàn)的
BUG:本該顯示圖片的位置一片空白,就像此時我合不上的嘴。這怎么可能呢?我想,這個功能完成的如此之得意,以至于測試用例里的數(shù)據(jù)都是以我的名字命名的。
幾分鐘后,或者更長,我叫來
MM,說,找到原因了。
我打開編輯器,光標(biāo)在源程序的某一行閃爍,我說,最根本的原因在這里。我看到
MM的眼中閃過一絲迷茫。接下來,我卻換到另外一個源文件,光標(biāo)繼續(xù)閃爍,我說,這里的程序因此受到影響。看得出,
MM有點(diǎn)發(fā)暈。終于,當(dāng)我打開第
N個源文件并試圖繼續(xù)講解時,
MM昏過去了。
當(dāng)
MM蘇醒過來時,我在她清澈的雙眼中看到了一只清晰的唐僧。
MM肯定感到了不好意思,因為我的講解中包含了比喻、類推、排比等我力所能及的各種語文知識,看得出,我很努力,我的語文老師也很努力,所以她委婉地說,能不能簡單一點(diǎn)?
我想了想,說,測試驅(qū)動時測試數(shù)據(jù)不全導(dǎo)致程序少考慮一種情況。
MM說,能修復(fù)嗎?
我說,可以。于是故事結(jié)束。
就
是這樣,當(dāng)我們執(zhí)行一項任務(wù)時,圍繞這項任務(wù)必然會產(chǎn)生許許多多的信息,這些信息對于該任務(wù)的執(zhí)行者是必須的,但是對于其他人則不是,有效的溝通往往來自
于簡練的表達(dá)即只表達(dá)對方需要和可以理解的內(nèi)容,浩瀚的細(xì)節(jié)只會將真正想表達(dá)的內(nèi)容淹沒。其實這里還有這樣一層意思:我之所以用這么多的細(xì)節(jié)信息來淹沒
QA,實際上是不太情愿承認(rèn)程序里有
BUG。
QA想要的結(jié)果很簡單,是否是程序
BUG,能否修復(fù)。而開發(fā)人員則往往把自己的程序與自己關(guān)聯(lián)在了一起,認(rèn)為程序是自己的擴(kuò)展,程序有
BUG則意味著自己有缺陷。這一關(guān)系明顯是矛盾的,可是一些團(tuán)隊里開發(fā)人員和
QA能夠和平相處,而有些團(tuán)隊卻勢如水火。
那么,對于單個任務(wù)而言,需要定義自己的變量,這些變量數(shù)據(jù)只與該任務(wù)相關(guān),只在該任務(wù)里可見。典型的工作流應(yīng)用于任務(wù)執(zhí)行期間的中間數(shù)據(jù)存儲。在文檔處理中,一個重要的功能就是需要提供版本管理,在單個任務(wù)實例里,辦理者能夠管理自己處理過的文檔版本。
描述
任務(wù)能夠定義變量,在一個流程實例里,該變量只能被其任務(wù)實例所使用。
圖
6-2任務(wù)級別的數(shù)據(jù)可見性
如圖
6-2所示,我們在任務(wù)
B上定義了一個變量
M,此時,在一個流程實例里,只有任務(wù)
B的實例才能使用該變量。
實現(xiàn)
存在兩種實現(xiàn)方式,一種是如圖
6-1所示的,在任務(wù)節(jié)點(diǎn)定義中聲明變量,運(yùn)行期初始化任務(wù)實例的同時初始化該變量并使用;
另一種是在流程定義級別統(tǒng)一聲明變量,但是各個任務(wù)實例都獨(dú)立初始化并存儲該變量。第二種實現(xiàn)方式在各個任務(wù)都需要使用同一語義的變量時很常見,例如各個任務(wù)實例都會有參與者,我們在流程定義時聲明一個名為
userid的變量,在流程實際執(zhí)行時,各個任務(wù)實例都會獨(dú)自保存有自己的
userid數(shù)據(jù)。
http://m.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請注明出處:)
posted on 2010-03-16 22:05
ronghao 閱讀(1636)
評論(0) 編輯 收藏 所屬分類:
Head First Process-深入淺出流程