亞當說:“那么你如何控制測試呢?你有沒有一個測試計劃呢?”

這是一個普遍存在的誤解,是一個過程僅僅是由有文檔的計劃控制的。這是我引入另一種思維方式的機會。詹姆斯說:“在大多數(shù)情況下,我們使用一種探索的,基于風(fēng)險的檢驗方法。

如果是基于你所說的引導(dǎo)測試過程的‘測試計劃’,是的,我了解它了。除非它值得記錄否則我不會寫在我的記事本上,但是如果你想聽的話我可以和你分享。

事實上,我希望你能夠告訴我,我們的計劃是否是在正確的軌道上,我們通過經(jīng)常報告我們的測試狀況,然后調(diào)整我們的測試策略,這些都是基于管理者對于產(chǎn)品風(fēng)險的節(jié)點控制的。換句話說,作為我們測試過程中的一個客戶,我希望你能參與到我們是如何控制測試的事情中!

類似“探索的”和“基于風(fēng)險的”這樣的詞語是強意詞也是誘餌,我希望能夠挑起他詢問更多的關(guān)于我們?nèi)绾螠y試的問題,但是這也是一個危險的動機,如果我的語氣過分的強硬,給人放煙霧彈的印象。

亞當說:“什么是探索性測試方法?”

他受到誘惑了!他可能會懷疑我在欺騙他。但是對他是有益的,引起了他的注意,F(xiàn)在我想總結(jié)的解釋和結(jié)束于一個強有力的建議,那是他這樣做了可以得到他想要的東西。

詹姆斯說:“這好像在玩產(chǎn)品的‘二十個問題’。我們經(jīng)過一系列的測試,

我們同時學(xué)習(xí)產(chǎn)品、設(shè)計測試,執(zhí)行并報告缺陷,我們的測試覆蓋是基于一個產(chǎn)品模型,該模型和我們以前的相比是有所改進的。我們也會使用啟發(fā)式的測試列表,并且我可以現(xiàn)在將它們展現(xiàn)給你如果你想了解,這是我所了解的測試一種新的不熟悉的產(chǎn)品的快方法。你希望再將它們加快嗎?那么讓我們開始讓測試者快速的了解該產(chǎn)品是什么和如何工作吧,讓我們用一個小時時間讓測試人員簡要了解產(chǎn)品,然后再花費一小時用在質(zhì)量保證。然后當你在兩周內(nèi)將講代碼提交給我們后我們會開始集思廣益的討論,產(chǎn)生更多的明確的測試策略。這樣如何?”

亞當說:“什么時候我們才能知道整個測試過程需要多長時間?”

詹姆斯說:“告訴你吧,亞當。讓我們現(xiàn)在坐下來,然后仔細的檢查所有的因素:風(fēng)險、各種測試任務(wù)、開發(fā)任務(wù)?這是全部吧。我們可能會找到簡化測試過程的方法,但是我們應(yīng)該也要開發(fā)一些其他可供選擇的案例,盡管我們不希望測試和修復(fù)過程拖延。”

在這種情況下,他說什么其實都無關(guān)緊要。這是我后和好的提議,我想讓他得到他想要的,而且它的代價通過分析變得艱難前行,如果他拒絕了我的建議,我所解釋的所有事情仍然都是真實的。后,如果組織決定將測試壓縮為“整整”五周時間,我將會做我能做的事并且真實的報告我的處境。我們或者是到那時之前都是完整無損,或者是在我們對于產(chǎn)品了解不多的時候?qū)⑺瞥觥?/FONT>

這是一個典型的走廊會話,在自然環(huán)境中的解釋說明。它可能發(fā)生在一個項目會議中而不是走廊,但是原理是一樣的。注意這與你是否同意我的規(guī)則或者使用我的任何關(guān)于測試的想法是沒有關(guān)系的,加入你自己的想法。在這里我所闡述的是在這樣的解釋說明中如何交換意見和形成它的力量因素是什么。關(guān)鍵點是,我們很少會用超過幾句話解釋我們的工作,這是為什么有一些例子說明(比如

缺陷的不好的例子)或者一個比喻(如“二十個問題”的游戲)是非常重要的。這是為什么這有助于實踐得出影響的因素,這些因素將會使得你的測試失常。

沒有什么能夠替代實踐,但是這些知識可以幫助你建立自己的對話技巧。兩個幫助我成為一個更為有效的解釋者的是Gerald Weinberg 的“解決問題探討會”和“轉(zhuǎn)變”,這些涵蓋了整個做技術(shù)的小組。

一個好的走廊對話有九個法則:

1、從實踐中發(fā)言。保持真實,擁有自己的方式。如果你沒有完全明白其他人的言談避免使用它,因為持懷疑態(tài)度的聽眾將會反復(fù)詢問你,使它成為正在進行的項目以改善你對于測試技術(shù)的理解,通過將它們用于實踐觀察你是如何改變自己得想法的,并且使得你的想法影響其他人的實踐。

2、和他們聯(lián)系起來。比你的聽眾在某方面先進,將自己的身份放低。一個執(zhí)行副總裁關(guān)心什么?一個技術(shù)支撐管理人員的是什么?一個項目經(jīng)理的首要擔(dān)心的三個問題是什么?將你的企圖、知識和感興趣的方面調(diào)整到你聽眾的一邊。

3、查看你的條款。很多次我的解釋說明已經(jīng)挫敗了意想不到的分歧術(shù)語。條款如測試、測試用例、測試計劃、回歸測試和缺陷,這些我稱之為危險術(shù)語,因為對于這些條款有很多不同的定義。如果你辯證的看待自己,考慮像以前一樣簡要定義這些條款。

4、展示出尊重。對待每個人好像他們都是非常聰明的人,并且他們和你一樣的關(guān)心質(zhì)量。尊重異議和問題,我發(fā)現(xiàn)我有時候可以將處于敵對狀態(tài)的聽眾通過善意的,有洞察力的解釋轉(zhuǎn)變過來,這和他們是否真的有企圖和有洞察力是沒有關(guān)系的。我用這種方式對待他們,因為不這樣做肯定會失敗。

5、引出有趣的話題。你不可能向一個不感興趣的人有成果的解釋事情。引起你的聽眾一點的興趣他會提出問題。如何這樣做的方法之一是拋出一些顯而易見的不清楚的地方、行話或者和你的解釋說明矛盾的地方,如果你的聽眾詢問他們,你回答說“好眼光,我非常樂意聽到你這樣詢問,這是個非常重要的問題!比绻麄儾辉儐枺麄冋f“你或許沒有注意到這里有一個矛盾的地方,你將有權(quán)提出質(zhì)疑?”不論是那種方式,繼續(xù)將該問題更好的解釋。

6、解釋問題發(fā)生后的事情。按照你的想法做了執(zhí)行的差異是什么?你希望發(fā)生什么?如果我們接受了你的測試觀點我們行為有何不同?將注意力集中在你解釋后面的任務(wù)上。

7、迅速一點,找到關(guān)鍵。使用簡短的語句,那么也許你可以完成你的解釋,而不是在妙語連珠以前被阻止。

8、展示出人人如何參與。我盡自己大努力將項目的情況真實的描述:我們都在一起,我們都有貢獻,如果事情出錯了我們共同承擔(dān)。如果你發(fā)現(xiàn)解釋每個人所扮演的角色比較困難,那么停下來思考你是否能夠成功的解釋這個項目。如果只是牽扯你一個人,那么你將會使你的聽眾厭煩,如果只是牽扯進他們,那么你聽起來像是插足了不是你的業(yè)務(wù)范圍的領(lǐng)域。

9、準備充分。開發(fā)多種解釋的標準、預(yù)先的比喻以及不明白的時候要記錄。解釋測試的想法經(jīng)常是在我真正在測試時,所以我準備了一個記事本用來捕獲這些想法,現(xiàn)在我有一大堆的記事本,上面寫滿了解釋的片段。