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