測試人員 VS 質量工程師

  測試人員:如同出考卷通過考試來考察學生,發現問題。介入時間較晚、被動、單一。

  質量工程師:是一個系統的工程,在前期介入,發現學生的不足、進而制定提高的計劃和方法。是積極主動的,能產生多方面影響的。

  敏捷的測試:以feature為單位,快速介入測試,測試完成后直接發布

  測試向前一步:早期介入,看需求、看dev design

  如何做需求分析

  1、編寫需求:

  a、了解用戶/用戶場景:產品真的能滿足用戶的需求嗎?

  如何了解用戶場景?下面給出一些案例分析:

  微博:微博被N多人關注&轉發,滿足自我實現需求;360:安全需求,開機速度領跑則滿足成感;豆瓣:高級豆粉評論的權威性;Alipay:支付安全需求;Online game:在網絡世界中實現自我需求

  b、有自己的設計原則:需要經驗的累積,站在設計的角度,假設自己是這個產品的設計者,從自己認為優的方式去設計產品.

  2、產品簡單和易用、非二義性:一步到位而不是兩步或者三步、避免做重復的事情、批處理任務。設計test case時,也遵循這個理念。

  一個不太好的login case:以前淘寶login時,輸入正確的用戶名和密碼,點擊登錄后會再跳出輸入驗證碼的提示

  3、查閱文檔:“每個人看到的都是一樣的嗎?”、“將要”vs“可能、應該、可取”

  4、可測試性與可持續性

  5、智能

  看開發的設計

  1、了解開發的設計:工作流、數據流、數據結構

  例子:outlook會議,會提前15分鐘彈出通知,why?把事件存儲到本地,放入queue,時間程序檢測queue。

  工作流:哪些service在跑;數據流:calendar;數據存儲:queue。

  了解這些才能發現瓶頸。

  2、覆蓋不同的用戶場景

  3、可測試性

  4、風險

  看代碼

  1、接口、參數:不需要對代碼細節很了解,看關鍵api,了解結構。系統api,jdk api,自己寫的api,由參數導致的問題很多

  2、代碼檢查或審查:評論是輕量級的、目標代碼的子集、檢查關鍵的點/難點

  3、調試技巧:通過debug加深對系統的理解,有成感

  第二階段:改變流程

  從bug中學習

  1、找到原因:軟件的問題終取決于人。

  2、開發和測試都做過程中的一環,改進、提高過程。

  3、Bug的“社交網絡”

  Bug之間也會有聯系,過段時間回頭來review下這些bug,總能找到一些共同點和聯系。

  開始行動

  1、從小事做起,取得階段性的成果

  2、樹立榜樣

  Q&A環節的一些問答

  問:以上的講述,測試已經插手了部分PD和Dev的事情,測試如何建立自己的權威性?

  答:這個有需要時間和技能的累積的,并不是在一無所知的時候參與這些事情、指手畫腳。剛開始的時候可以只起補充作用,補充遺漏的場景;2. 長期與開發合作后,向開發了解產品的設計和實現;3. 提升自己技能后,讓開發覺得自己可以幫助減輕開發的工作,開始協同合作。

  問:測試做事情動力不足,如何解決

  答:1、定義有價值有意義的bug,適當表揚;2、避免做重復的事情;3、根據個人特點,分配不同的人做不同的事

  問:在功能測試和自動化測試中保存平衡,并行執行它們

  答:1、定期團隊分享,分享個人在某個領域很深的理解;2、專注做某一件事情,等過了半年或一年后再去做不同的事情,不提倡所有的事情都去做&權重都一樣,有側重的培養團隊成員。