從一開始,測試就要關注需求。往往在討論設計時,開發和需求很容易忽略了測試成員,他們潛意識里覺得這不關測試什么事?墒,測試也要熟悉業務,熟悉功能,熟悉各種設計,而且測試需要站在用戶的角度來去考量他們的設計是否有不合理的地方,并提出自己的建議。這些工作,測試成員需要主動,積極參加,多提建設性意見,這樣可能會讓開發慢慢發現測試成員的重要性。
其次,溝通最頻繁應該還是關于bug的討論。下面列出幾個遇到的溝通問題,及我的解決辦法。
1、“這個bug我這邊重現不了啊~~~”
解決辦法:這種問題首先要自省,bug描述里面是否沒有說清楚。Bug應該簡明扼要,重點突出。如果描述存在歧義,一定要總結并盡快改進。有時會遇到概率性的bug,要告訴開發概率是多少,盡可能多的提供重現的條件。
2、“這個不是代碼問題,需求這么定義的”
解決辦法:需求也是人定的,如果覺得有異議,可以找需求人員詢問清楚,為什么這樣定義,把自己的想法告訴他們,看他們怎么決定。如果被需求說服了當然是最好的,如果自己還是不同意需求的看法,需求又不同意我的提議,那只能聽他的,畢竟權力在他那里。但是我們可以保留交流的記錄,證明曾經在這里發生過歧義。
3、“這塊是別人負責的,我負責的部分沒有問題”
解決辦法:如果bug是由開發的項目經理來分發到程序員,那就是項目經理來面對這樣的問題,而不是測試。當然,項目經理當然有項目經理的處理辦法?墒,測試遇到這樣的問題怎么辦呢,把負責相關內容的開發都邀請到一個討論組里,讓他們自己討論,這樣更清楚,不必在測試這里中轉。如果他們都覺得代碼沒問題,而我也有強有力的截圖和真相,那就只有上交給上級領導,讓他們來決定怎么解決。
4、“有問題嗎?”(也就是開發不認為這是個問題)
解決辦法:測試人員一定比開發要敏感,對bug的容忍度也要低一些。特別是一些不符合用戶習慣的bug,開發總覺得無大礙。比如,一個列表默認的寬度太小了,導致初次打開,有一些內容被隱藏在后面,但是這個寬度可以手動調節。開發覺得問題很小,不影響功能,而且也有解決辦法,所以不認為是bug。這個時候,就要發揮測試的本事了,嘴甜一點,說說好話,態度柔和一些。因為既然是小問題,解決起來一定不難,耐心地催開發的改過來就好。催一次不行催兩次,記住態度一定要好。
5、“用戶不會像你這樣操作的!”
解決辦法:用戶怎么操作,誰都預料不到。我們不可能覆蓋所有可能性,但是大多數用戶會出現的操作,我們當然要測試。慢慢地把開發從代碼的世界里帶出來,帶到用戶的世界里,讓他換個角度思考問題,畢竟軟件開發不是為了實現功能,是要滿足用戶需求的。如果最后還是沒能說服他,第一向上級反映,第二做好溝通的記錄,將來備份在測試報告里。
除了bug上的問題,還有測試安排上的問題,有時候小功能沒有做好,或者某個文檔、圖片沒有上傳,等小功能做好了文檔上傳之后,很可能開發忘記告訴測試。所以,平時的工作中,一定要主動記錄問題,主動溝通和督促,并反復確認,不要怕麻煩。
總結起來,測試在工作上要主動詢問,態度上不能輕易妥協,習慣上要善于記錄細節,方法上軟硬兼施。