什麼是測試慣例?如何打破測試慣例?

  • 2019 年 12 月 12 日
  • 筆記

來源:http://www.51testing.com

摘要:

  日常測試中,作為測試人員,有了對產品、品質等熟悉到一定程度後,會給品質保證帶來大大的好處。逐漸整個測試設計、測試執行過程會輕車熟路,並伴隨有新鮮感漸失,思維不那麼靈敏的階段。到底是什麼原因讓我們的測試水平不能始終保持在最高峰呢?有沒有方法來克服呢?下面就自己一些經驗和感悟,聊聊自己的一些體會。

 什麼是測試慣例

  按《辭海》解釋,慣例指法律上沒有明文規定,但過去曾經施行,可以仿照辦理的做法。例如,國際貿易慣例、某法律慣例等。

  《軟體測試經驗與教訓》一書中有類似的描述:測試員在理解產品/功能後,在頭腦中形成映射,隨著對產品的了解,逐漸從各個方面提高對產品的反應能力和敏感性,並且頭腦不再那麼努力工作。

  當然了,作為測試人員,有了對產品、品質等熟悉到一定程度後,會給品質保證帶來大大的好處;但另一個方面,當對產品、品質接觸的時間越來越長後,必然會新鮮感下降、由於過於熟悉而不願做進一步探索、思考了。當測試人員在接觸一段時間產品,但其間不做任何自我提升時,可以使用下面的圖來大致描述測試人員對品質保證水平:

  1)A點之前,由於對產品越來越了解,整體品質保證水平是在顯著上升的;

  2)A點~B點之間,由於已經對產品充分了解了,加上尚未對產品產生倦怠,新鮮感/衝勁還在,加上測試策略越來越完善,品質保證水平會達到巔峰,同時也會逐漸形成「測試慣例」;

  3)在B點之後,由於測試人員已經逐漸失去了新鮮感、下意識按照之前的步調行事、沒有主動自我測試能力提升等,整體品質保證水平會稍微有所下降。這裡之所以是「稍微下降」,原因在於以往的測試經驗還在。

  不同的業務,不同經驗的測試人員,A,B兩個時間點的出現階段會有所不同。作為測試人員來講,當然希望永遠保持在A點~B點之間了,但或許這仍然是不夠的。下面就自己的一些理解,談談這方面的體會和心得。

 測試慣例帶來的好處

  對產品的「前世今生」十分熟悉。隨著測試人員擁有越來越多的產品經驗,在推動產品優化、甚至引導產品方向方面都會有所建樹

  「手到擒來」的測試經驗。當測試策略已經制定完畢,測試深度、測試廣度等等已經幾乎100%覆蓋,自動化體系已經搭建完成後,任何產品需求、技術需求已經被現有的測試策略cover住了,那麼這時候只需要根據測試方案「依葫蘆畫瓢」就夠了

  對技術實現十分了解。由於接觸了各個服務的實現,因而無論是對於影響點、測試點的評估,還是服務間的系統架構,乃至各個服務的優勢、劣勢、可能的坑,都可以侃侃而談了。

  效率的保證。由於產品業務、技術實現、測試策略不用「現學現賣」了,加上十分了解團隊成員的特點、合作模式,那麼對於各個環節的進度,推動都可以不費吹灰之力了。

  這些好處是不會隨著測試慣例的到來而消失的,因而這也是所有測試人員喜聞樂見的結果。不知你是否由於考慮到上述諸多好處,而選擇繼續留在當下的崗位呢,這正是測試慣例對你的吸引力了。

 測試慣例帶來的壞處

  下意識依賴慣性測試產品,而用戶並沒有這樣的慣性。測試過toC產品的同學想必親身經歷、或聽到過類似的故事:測試人員測試OK,各方確認沒問題上線了。不久之後,產品人員又拉了一次需求——要改善一下產品的易用性,原因是用戶xxx不太會用、或某某功能的入口過於隱藏了。其實究其根本原因在於,團隊中的測試人員,甚至是產品人員、研發人員、設計人員,都對產品十分熟悉了,可以下意識進行慣性操作了,而用戶是在沒有這樣的先驗知識前提下,來使用產品的。

  過於依賴先前的測試策略。之前說過,長時間接觸一款產品的測試後,必然會形成比較成熟而穩定的測試策略,這時的測試策略當然可以省去一大波測試策略探索時間,但另一方面也會受限於此。首先,測試同學A制定出來的看起來成熟而穩定的測試策略,在測試同學B看來或許還有大幅度的提升空間;再者,隨著產品越來越複雜,實現引入了越來越多的新技術,之前的測試策略未必可以cover住。

  對用戶失去敏感度。歸根結底,產品是要服務於用戶的,只有用戶用的爽了,你的產品才能發揮最大價值。因而,充分了解用戶是如何使用產品的至關重要,只有充分站在用戶角度,模擬用戶使用過程,才能更容易測試出產品的問題。例如,想購買一件商品,你使用直接輸入網址來測試購買過程,而用戶卻常常從分享鏈接進來,而問題恰好是從分享進來的用戶打開網站鏈接報錯了。

  測試慣例帶來的壞處,雖然看起來不是致命的,但仍然是不是會給整個產品的迭代創造麻煩。比如,長期都遺漏了某種場景的測試,直到發生線上問題才知道;或者某次忽略某個場景帶來線上故障;或產品為了逐漸增強易用性,接二連三上線…

 打破測試慣例的方法

  無論使用什麼方法,這裡有一個統一打破測試慣例的目標:

  把新資訊吸收到你大腦中的已知資訊中,同時修改已知資訊來refresh慣例,並讓品質保證水平符合下圖走勢(C點之後):

這裡舉幾個自己常用的refresh慣例的方法,僅供大家參考:

  1)使用產品時,有意識關注那些讓自己困惑和煩惱的地方,避免一直依賴下意識操作;

  2)拉團隊成員一起群策群力,會瞬間給自己測試「靈感」;

  3)定期研究用戶的使用軌跡、使用習慣,並將其用戶測試策略制定上

  4)向各個領域的大牛借鑒經驗,這些經驗會refresh你的經驗

 寫在最後

  其實無論什麼工作,大概都會經歷由於慣例的存在,導致讓工作水平走了「下坡路」。由於每個人面對的具體情況的差異,「下坡路」到來的時間、到來的次數、持續的周期等會各有不同。了解了這一點,當你感覺自己的水平無提高,甚至在走「下坡路」的時候,記得refresh你的慣例啊。

星雲測試

http://www.teststars.cc

奇林軟體

http://www.kylinpet.com

聯合通測

http://www.quicktesting.net