我們團隊WP7上基于Academic Search 的會議助手手機客戶端的alpha版本已經結束。在團隊中,限于團隊規模,每個人都會做點dev的事情,但是 我的為主要的角色是tester,以前從未做過tester,一個月的alpha版本開發下來,我在tester的崗位上也有許多的感想,我想,把它們都記下了,希望它見證我們的成長,當然,希望能夠得到大家的指點,從眾人的認知領域獲得我們能汲取的經驗和知識。

  理論上我們學到了什么?

  我想,人們對于test基本的認識,莫過于嘗試使用軟件,找出bug。事實上,真正做測試的時候要有很規范的流程。我簡要的挑幾個概念跟大家分享一下。

  1)測試計劃:測試計劃描述測試活動的主要方面,why?what?who?when?。詳細的說包含一下方面:

  測試的策略和方法、測試日程安排、質量目標、資源、測試變量矩陣。

  2)什么是測試變量矩陣:

  簡單的說,測試變量矩陣是通過考量用戶類型,系統的OS,語言,瀏覽器類型,網絡情況等各種因素,來確定測試變量數目以后列出的一個表格,測試變量矩陣是測試人員進行測試的藍本。

  3)軟件測試的方法:

  這里首先澄清一下,我們常說的黑箱測試和白箱測試其實并不是指的某種軟件測試的方法,它們是兩類軟件測試設計的方法。我們OMG團隊在alpha版本里主要采用的軟件測試方法集中在功能測試和非功能測試。

  軟件測試方法,按功能測試分類,有單元測試(驗證測試每個單元程序的正確性)、模塊功能測試(測試每個模塊的功能)、集成測試(幾個相互依賴的模塊的功能的測試)、場景測試(驗證能否完成特定的用戶場景)、系統測試和alpha測試(alpha發布在實際的用戶環境中對軟件測試)。而非功能測試包括負載測試,效能測試,本地化/全球化測試,兼容性測試,配置測試,易用性測試和軟件安全測試等。

  當然,軟件測試的方法還有很多,包括代碼覆蓋率測試(PS:對于新手的我來說,我真不知道如何設計代碼覆蓋測試方法。。。求高人指點)、驗收測試、回歸測試、“探索式”測試等等。

  作為tester有何工作感想?

  首先,我想說,主要角色是tester, 盡管我做的dev的工作相對較少,但是,我不覺得自己比別人貢獻的少。

  很多人會有種執念,做軟件開發,不做dev似乎沒有動力。其實,通過一個月的實踐,我覺得,社會本是高度分工的。tester在一個軟件開發中起到的作用也是不可忽視的。很簡單,如果不做各種測試,軟件性能如何去評測?如何保證后release的產品能夠很好的滿足用戶的需求?

  其次,test工作并沒有想象中的那么容易。

  一開始,接手tester的角色,心里想自己的工作壓力應該是比較小的。事實證明,真正用心去做好一個tester,還是需要付出很多的努力。在產品的計劃階段,tester要討論測試計劃,調研和收集用戶對軟件的非功能性需求,比如軟件的效能,易用性等的信息,確定我們的非功能性測試標準;在開發階段,tester需要及時的進行BVT(Build Verification Test),及時提交bug給dev,另外,作為tester,需要想很多“探索性測試”的例子,隨機的驗證軟件的穩定性和魯棒性;而當進入穩定階段后,尤其是alpha版本發布后,tester需要收集用戶的alpha試用反饋,確定beta版本的測試標準。

  后也是重要的一點,tester應該有怎么樣的素質。

  做了把tester,才知道,tester不是那么好做的,當然,自己水平是那么那么的有限,所掌握的和接觸的知識也是比較少的。結合我的工作體驗,我發現了一下幾點:

  1、足夠細心、耐心和信心。

  首先你得相信自己有足夠的創造性和好奇心,要相信自己能挑出軟件的bug。然后你才有動力去嘗試各種可能的case,如果沒有了好奇心,打打醬油或許某個bug不經意間溜走了。而耐心和細心是做好任何工作的基礎。tester的工作,更是這樣,試想一下,某個功能或者某個用戶場景,你需要盡可能多的設想各種test case去挑剔它,其實,有時候并不是那么的有意思的事情。

  2、見多識廣,基礎要好。

  我作為一個非CS專業的tester,更是對這一點體會有嘉。tester在設計黑箱測試方法的時候還更多地依賴創造性好奇心等。然而做白箱測試,代碼的結構其實是對你透明的,能不能專業的分析代碼結構,能不能敏銳的察覺代碼中可能的風險或紕漏,這是考驗一個tester專業技能的時候了。另外,見多識廣很重要,tester要是能了解IT的各個方向,背景知識比較的多,對他來說,設計更好更有創造性的test case是相當有利的。

  3、學習與鉆研精神。

  取人之長,補己之短,他山之石,可以攻玉。老祖宗都說爛了。但是,我的經歷又一次檢驗了它。我從一開始連test plan都不知道如何下筆,到寫下這篇日志,我覺得,這是從學習的過程中積累下來的,盡管我剛剛接觸它,我的這些文字看上去顯得稚嫩而有淺顯,但是,學習讓我成長,我也相信,學習能讓每一個都或者成功,或者成長。與君共勉。