如何跟開發就測試范圍進行溝通?


測試人員每天的例行工作之一就是與開發溝通代碼改動,並對改動進行功能回歸,我們稱之為測試范圍確認。對於每個測試人員來說,可能都會遇到以下問題:

1、拿到一個代碼改動后我首先做什么?

2、跟開發溝通時問些什么?

3、我該如何溝通才能問到自己想問的問題?才能更精確的得到回歸范圍?

4、擔心自己問的問題太不搭調,被對方嘲笑怎么辦?

5、跟開發溝通結束后,接下來該怎么做?直接按照開發說的去做嗎?

 

老規矩,舉例說明:

 

對話背景1:一天,武爺對瀏覽器的代碼作了幾筆改動。小強匆匆忙忙地看了一下代碼變更之后,就跑去問武爺了…

Bad case(小強版)

小強:有一筆代碼改動的地方,把一個auto指針, 改成unique智能指針。我了解到這兩個智能指針都可以在對象銷毀的時候自動釋放內存。

(評語:目的不明確,導致對方不清楚你的來意)

武爺:不明白。。。

小強:就是說 auto_ptr 指針會在賦值時把自己所指向的內存塊轉移到另外一個指針中,而unique_ptr則不會,是這樣吧?

(評語:還是沒說明來意,關注點停留在技術細節上,對方仍然不明白來意)

武爺:不明白你說的是什么?

小強:就是代碼改動的時候把一個auto指針換成了unique指針,這個指針的變動會有什么影響?

(評語:進入主題了,不過封閉式的提問,對方直接回答有或者沒有就行,還是沒能得到自己想要的答案)

武爺:你可以理解unique更安全,更換后沒有太大的問題,那筆改動不用回歸。

小強:。。。

Good case(小明版)

小明:在SVN上看到一筆改動,把一個auto_ptr 換成了unique_ptr, 我了解到的這兩個指針,都能自動地釋放內存,為什么要做這樣的轉換呢?

(評語:開題就把對方帶到了自己想要談的主題上,讓對方知道我是來找你了解代碼改動。接着,說了下自己提前了解到的情況並提出准備好的問題,這樣能引導對方跟你思考同一個問題,有利於確認到較准確的回歸范圍。)

武爺:原來的auto是我們自己做的,unique_ptr 是VC11的,VC11已經有自動釋放的指針了,我們就就沒必要再自己做,直接使用系統提供的就好了。

小明:那這樣改動會影響哪些范圍呢?

(評語:與對方確認改動的影響范圍,這種開放式的提問方式,能夠讓對方展開來談論,有利於我們了解到更多內容。)

武爺:應該沒有什么影響,要是出問題就崩潰了,看下主路徑就行。

小明:那些指針是控制哪些對象的?

(評語:如果提前了解到更多的技術細節,也可以提前准備好疑問,溝通時提出來一起討論來解答疑惑)

武爺:DC(設備繪圖的)

小明:我們對瀏覽器界面主路徑做測試,沒有出現大的問題,比如崩潰,就沒問題是吧?

(評語:好了,回歸范圍拿到了,最后就溝通得出的結論總結下,讓雙方達成一致。)

武爺:是的。

 

對話背景2:一天,開發添加了一個函數,在SVN上的changelog內容注釋的是”添加了一段牛掰代碼“,對於看不懂代碼的測試童鞋要去找開發確認回歸范圍了。。。

Bad case(小M版)

小M:我看到了一筆代碼改動,想跟你確認下,你看現在方便嗎?

(評語:比較有禮貌,溝通時的禮貌用語,會讓對方比較舒服)

開發:你說

小M:看到你添加在一段代碼,但是這段代碼不是特別明白,你看能稍微講一下嗎?

開發:我加的那一段?我加了好多代碼。。。

小M:額,你打開SVN看看,我告訴你是哪一筆。

(評語:沒有提前准備,需要讓開發打開svn changelog查看,浪費了大家的時間)

。(此處打開SVN)

小M:就是這個改動

開發:哦,這個呀,這個你不用回歸。這個沒什么影響,功能上沒什么大問題就行,不用回歸。

小M:這個函數的作用是什么啊?

(評語:問到了函數作用,但是沒有深入的接着問,導致獲得的信息沒有幫助)

開發:計算距離的,你黑盒上回歸下沒問題就行

小M:這個加了以后跟加之前有什么區別嗎?

開發:更精確了。這個不用回歸,我之前的改動與UI展現相關的沒問題就行

小M:也就是說你這塊改動是與UI展現、字體展現等相關的是吧?

開發:是的。

Good case1(NaNa版)

nana:想跟你確認下代碼改動,你現在有時間嗎?

開發:有時間,你說。

nana:剛才發到你QQ上的截圖,就是那筆改動,你的注釋是”加了一段牛掰代碼“。我看了一下,不太了解你這段代碼的邏輯,你能跟我講一下嗎?

(評語:說明來意,直奔主題)

開發:哦,這個呀,這個你不用回歸。這個沒什么影響,功能上沒什么大問題就行,不用回歸。

nana:那個代碼本身的邏輯你能簡單給我講一下嗎?我想了解一下

(評語:深入了解代碼邏輯,因為了解到邏輯后,對后面的回歸有幫助)

開發:函數本身是計算去一個最佳的距離

nana:什么距離呢?

開發:所有字體布局之間的距離

nana:我們瀏覽器的主框架?

開發:可以這么理解,所有的布局和字體之間的距離

nana:所有的布局?我們瀏覽器的UI包括很多,主框架區、對話框,還有氣泡等等,是指這些嗎?

開發:主框架

nana:是指主框架的收藏欄、地址欄、側邊欄等嗎?

(評語:對待每個模糊的回答,能夠細化問題,精准的確認影響范圍)

開發:是的

nana:這個函數計算的UI距離是指哪些具體的UI呢?

開發:行間距和字體的間距,圖片與字體之間的間距

nana:這段代碼的邏輯調研過嗎?能給我交接下嗎?

(評語:明白自己的目的,以學習的心態再次要求開發講解代碼邏輯。這在完全不了解代碼邏輯但又必須得了解的情況下是可取的,能避免漏掉細節)

開發:你一定要了解嗎?那給你講講吧。

Good case2(小明版)

小明:請問有時間嗎?跟你溝通下代碼改動,確認下回歸范圍。改動內容已經截圖發給你了。

開發:好的

小明:我看你注釋的內容是”加了一段牛掰代碼“,這段代碼是做什么用的?

開發:哦,這個呀,這個你不用回歸。這個沒什么影響,布局上沒什么大問題就行,不用回歸。

小明:它會讓布局不一樣是吧?那它是做什么用的呢?

開發:它主要用於計算距離,一些布局的間距

小明:什么時候會使用呢?

(評語:了解具體的函數使用細節,包括作用、使用時機、使用范圍等,有助於確認最后的回歸范圍,這些都建議提前做准備,有備無患)

開發:展示UI的時候,需要排版時就會調用它來計算間距

小明:是所有UI都要用到嗎?

開發:可以這么理解

小明:這個跟DPI有關嗎

開發:有,就是在高DPI下用來重新計算距離的

小明:哦,那就是在125%、150%DPI下用到是吧?

開發:是的

小明:那這個如果出問題的話,可能出什么問題呢?

開發:如果出問題,布局就錯亂了

小明:那這段函數是咱們自己寫的嗎?

開發:是

小明:那是否需要我們做內部的調研,去針對性的做一些單測呢?

(評語:引導開發思考修改存在的隱患問題,並提出做單測的想法,提出了如果出問題會如何如何,這樣開發會更加謹慎的去回答你提出的問題。)

開發:想做也行

小明:不會出問題吧?要是出問題我就找你哈~~哈哈哈

開發:那做一下吧

小明:那要做的話,請講一下具體實現吧。

(評語:通過單測的要求,讓開發講解代碼實現順理成章)

開發:balabalabala。。。(講實現)

小明:我再確認下,這個功能就是在瀏覽器高DPI下,UI布局展現時計算距離的,我們驗證UI時,應該看一下所有的UI布局展現的正確性,包括在移動、刷新時候的UI展示都沒問題就行吧?如果出現問題可能是錯亂等問題,這個函數如果需要深入測試的話到時候會找你了解具體的代碼實現。

(評語:最后,總結下雙方的溝通結論,達成一致)

開發:好的

 

 

以下是測試范圍確認流程的整體框架,以及每個階段的實施建議,供大家參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM