(1) 團隊建設。在日常工作中,測試人員更多的時(shí)間在獨立地工作,彼此之間的聯(lián)系并不緊密。在缺陷大掃除中,測試員進(jìn)行滲透式交流,互通情報,一起嘲笑那些拙劣的設計、滑稽的缺陷,甚至說(shuō)一些無(wú)關(guān)的笑話(huà)以相互逗樂(lè )。全部這些“小事”都在潛移默化中逐步凝聚一個(gè)團隊。
(2) 團隊學(xué)習。團隊舉行“缺陷檢討”會(huì )議,總結缺陷模式(bug pattern),完善測試策略,補充測試檢查列表(check list)。這是一種積極的集體學(xué)習行為。在此過(guò)程中,測試人員可以積累經(jīng)驗、分享技能,測試團隊可以沉淀知識、凝聚士氣。
2011年度淘寶網(wǎng)的商品線(xiàn)也舉辦了幾次缺陷大掃除活動(dòng),效果是比較顯著(zhù)的。對于互聯(lián)網(wǎng)的測試行業(yè),存在多個(gè)復雜的運行環(huán)境。用戶(hù)群擁有的不同的瀏覽器、瀏覽器的不同版本、不同的硬件配置、不同的網(wǎng)絡(luò )速度,這些都可能會(huì )影響網(wǎng)絡(luò )應用的頁(yè)面的展示和功能特性之間的交互。由于涉及到內部信息,本文不展示缺陷大掃除活動(dòng)的具體數據。
我以前的blog也提到過(guò)國外有一個(gè)專(zhuān)門(mén)從事探索式測試的團隊,有著(zhù)非常高的單位時(shí)間缺陷發(fā)現率。我們可以通過(guò)多次開(kāi)展缺陷大掃除活動(dòng),從而觀(guān)察出每次活動(dòng)缺陷發(fā)現前三名的測試人員。我認為這些測試人員可以是探索式測試團隊的儲備人員,他們還需要接收更全面更深入的培訓,包括測試技術(shù)、產(chǎn)品知識、系統思維、測試方法等。這樣的一個(gè)專(zhuān)門(mén)團隊需要在實(shí)戰和學(xué)習中不斷的提高,讓自己的處事效率更加專(zhuān)業(yè)和正確。一旦公司團隊緊急需要(任務(wù)復雜度,緊急程度等),這些儲備人員將以最高效的測試手段進(jìn)行測試,最快速的反饋產(chǎn)品的質(zhì)量,就像特種部隊一樣。但是公司領(lǐng)導需要明白的是,探索式測試團隊測試產(chǎn)品后,仍有存在重要缺陷的風(fēng)險。另外公司成立特種部隊的主要目的是讓他們傳播經(jīng)驗、培訓員工。讓大多數員工都成長(cháng),才是團隊的努力方向。
總體上來(lái)說(shuō),Bug Bash 不僅僅能給項目的質(zhì)量帶來(lái)新的思考方法和參考指標(質(zhì)量和用戶(hù)體驗上都有所提升),而且還會(huì )驅使Bug Bash的參與者更加有激情和熱度去從事測試工作。至于Bug Bash活動(dòng)的相關(guān)細則可以根據自己團隊的特點(diǎn)來(lái)定制化,目標就是提升項目的質(zhì)量和提高測試人員的測試敏感度、測試關(guān)注度、創(chuàng )造性思維、團隊分享精神。
結對測試
當開(kāi)發(fā)人員都在關(guān)注結對編程的時(shí)候,測試人員應該關(guān)注什么呢,如何來(lái)解決單人測試帶來(lái)的測試遺漏這個(gè)問(wèn)題呢,結對測試行不行呢?結對測試是軟件開(kāi)發(fā)中的一種技術(shù),它允許團隊中兩個(gè)人一起測試某個(gè)產(chǎn)品,一個(gè)測試人員實(shí)際操作測試產(chǎn)品,另一個(gè)測試人員分析或評審測試過(guò)程和測試結果。
結對測試也未必一定是兩個(gè)人,多個(gè)測試人員合作共同測試的時(shí)候就稱(chēng)為結隊測試。測試人員都是很敏感的,在自己執行測試的時(shí)候,程序稍有一點(diǎn)反常,都會(huì )意識到可能是缺陷,一定會(huì )去究根追底,去確認到底是缺陷還是操作問(wèn)題引起的。當測試人員互相交流發(fā)現的缺陷的時(shí)候,可能會(huì )互相啟發(fā)去發(fā)現更多的缺陷。一個(gè)測試人員發(fā)現了一個(gè)缺陷,另一個(gè)測試人員可能發(fā)現和這個(gè)缺陷類(lèi)似的更多缺陷,特別是在復雜環(huán)境下的測試。
兩個(gè)測試人員工作在一起,在一個(gè)固定的時(shí)間段內一起產(chǎn)生測試思路,且持續的交換測試思路。假設我們需要進(jìn)行測試設計,則一個(gè)成功的結對測試實(shí)踐需要三個(gè)具體的條件:
(1) 至少有一個(gè)測試人員可以被信任且能在沒(méi)有指導的情況下進(jìn)行測試。
(2) 另一個(gè)測試人員需要參與到測試設計過(guò)程中。
(3) 兩個(gè)測試人員必須要有一起合作的能力和心態(tài)。
在結對測試過(guò)程中,實(shí)踐者需要注意以下關(guān)鍵因素。
交換測試想法
在很多活動(dòng)過(guò)程中,將你的想法解釋給其他人聽(tīng)是一個(gè)負擔,但是在測試活動(dòng)中,這將是一種收益。因為測試的過(guò)程就是一個(gè)測試想法生成的過(guò)程,解釋和質(zhì)疑的過(guò)程有助于培養出更多新的測試想法。尤其當某個(gè)測試人員的知識遠少于另外一個(gè)測試人員時(shí)更是這樣。很多情況下,一個(gè)測試人員單獨的測試容易陷入到一個(gè)錯誤的結論,除非另一個(gè)測試人員質(zhì)疑該結論,否則他也不會(huì )重新審視該結論。
關(guān)注個(gè)人和社會(huì )因素
我們不知道每個(gè)測試人員的個(gè)人特質(zhì),如脾氣、技能、經(jīng)驗對結對測試的效果有多大的影響。但是結對測試的實(shí)踐表明該活動(dòng)非常有趣,無(wú)論你的經(jīng)驗是豐富還是欠缺。當然,測試人員必須是友好相處的,且在過(guò)程中有一定的承諾,如果某一個(gè)測試人員在工作過(guò)程中感覺(jué)到被攻擊、失去自主權、或變得沮喪都會(huì )影響結對測試的效率。結對測試是一個(gè)比團隊測試更加特殊的組織方式,結對意味著(zhù)最大化每個(gè)測試人員的貢獻。在某個(gè)主管和其下屬的結對情況下,通過(guò)結對的提問(wèn)和測試的演示可以讓主管更加信任測試的質(zhì)量。
與測程相結合
我們在結對測試的過(guò)程中,可以在早期選擇好需要結對測試的測程,測程的概念在我之前blog中已經(jīng)做了詳細描述。在一個(gè)測程中,結對的測試人員有一個(gè)清晰的目標和測試策略。當然,由于結對測試充滿(mǎn)著(zhù)樂(lè )趣,則結對測試的時(shí)間段可以是測試人員的測程的間隙。
通過(guò)結對測試,對初級測試人員來(lái)說(shuō),特別是和資深的測試工程師結對的時(shí)候,是一個(gè)非常好的學(xué)習機會(huì ),學(xué)習測試思路的轉變、業(yè)務(wù)需求的分析、測試時(shí)的策略等。結對的人員是搭檔,而初級測試人員一般是在計算機上操作相關(guān)功能,他/她應該得到充分的尊重,是可以根據自己的想法去測試。
原則上,結對測試時(shí)的兩個(gè)測試人員需要對被測需求負有共同的責任,但是某些人員存在自己的一些個(gè)性和處事方式,可能會(huì )影響結對測試的效率。此時(shí)應和資深測試人員或測試領(lǐng)導一起來(lái)溝通解決此問(wèn)題,讓大家對結對測試有一個(gè)明確的認識,一起提高合作效率。
總體上來(lái)說(shuō),有經(jīng)驗的測試人員和新測試人員一起結對測試會(huì )帶來(lái)雙贏(yíng)的收益,這里我鼓勵大家多去參與其他測試人員的測試過(guò)程中去。我需要提醒大家的是,結對的測試人員需要把握一個(gè)度,那就是測試人員給出的意見(jiàn)或建議需要有一定的價(jià)值(這樣才能讓測試執行人員更換測試步驟關(guān)注其他的測試點(diǎn),若更換步驟后發(fā)現了bug就更有說(shuō)服力),而不能頻繁拋出自己的想法或思路(讓測試執行人員產(chǎn)生不耐煩的心態(tài))。
原文轉自:http://blog.sina.com.cn/s/blog_6cf812be01012h6l.html