2012年6月23日 星期六

做軟件測試三、四年後的感想

轉載的...尚未閱畢全文




我出來做軟體測試三,四年了,確實正應了那句“測試不如開發”,只是個人觀點,而且我工作過都是外企和大型國有企業,軟體測試流程和管理都相對很規范化的。
下面幾點給做測試的朋友參考一下:      一、錢肯定少過開發人員,除非你工作七,八年才能拿年薪10W以上,一般的軟體測試工程師很難上6K以上,開發人員工作四,五年後拿7,8K是太多數的。
      二、加班的現象可以說是很普遍,周一到周五隨時加班是很正常的,周末肯定有一天要加班。
      三、不管怎么樣努力和用什么測試效果的數據說明,領導還是不太重視測試部,領導認為我們測試的沒有什么技術含量。但是我們已經在流程上改進很大,使用測試管理工具和自動化測試工具來提高測試生產力等等,這些努力的結果好象只有我們的老大才得分比較高,我們下面的小兵就只有吃苦的份。
      四、團隊合作精神比較差,都是做技術的人的通病,以為你在一間公司呆久了,就很牛B一樣,說話口氣難於接受,好象現在公司就是他的一樣。這個問題在幾間公司里面的測試隊伍中得到證實。在工作之余,很少團隊一起聚餐或是出外游玩的機會,好象大家就知道上班---吃中午飯--上班--吃晚飯---加班---下班回家---睡覺的簡單模式。
      五、人際關系和溝通技能都很重要,這一點不用我多說,大家都知道的。
      六、還有一點要提醒測試人員的是:做測試容易懶惰,因為重復性的工作比較多,然後在公司呆着好好的,什么都不想學和提高了,這樣容易使你在軟體的測試面比較狹窄了,其實你到其他的公司面試的時候,才發現自己很多不知道,不懂的。
      七、我們做測試幾年了,都不想老是停留在執行測試,寫測試用例,設計測試計劃,寫測試腳本,評審開發/測試文檔上,寫缺陷報告,寫測試報告,管理和維護測試工具。但是上面的幾點工作後,我們軟體測試人員還能做些什么?


 怎么樣提高軟體測試員自身素質培養?
  (1) 首先,應對軟體測試感興趣和對自己有自信,如果具備了這兩點,那么在開發過程中不管遇到什么樣的困難,我相信你一定能克服。
  (2) 善於懷疑,世界上沒有絕對正確的,總有錯誤的地方,具有叛逆心理,別人認為不可能發生的事,我卻認為可能發生。別人認為是對的,我卻認為不是對的。
  (3) 打破砂鍋問到底的精神,對於只出現過一次的bug,一定找出原因,不解決誓不罷休。
  (4) 保持一個良好的心情,否則可能無法把測試作好。不要把生活中的不愉快的情緒帶到工作中來
  (5) 做測試時要細心,不是所有的bug都能很容易的找出,一定要細心才能找出這些bug。
  (6) 靈活一些,聰明一點,多制造一些容易產生bug的例子。
  (7) 在有條件的情況下,多和客戶溝通,他們身上有你所需要的。
  (8) 設身處地為客戶着想,從他們的角度去測試系統。
  (9) 不要讓程序員,以“這種情況不可能發生”這句話說服你,相反,你應該去說服他,告訴他在客戶心里,並不是這樣的。
  (10) 考慮問題要全面,結合客戶的需求、業務的流程、和系統的構架,等多方面考慮問題。
  (11) 提出問題不要復雜化,這一點和前面的有點矛盾,如果你是一新手,暫時不要管這一點,因為最終將有你的小組成員討論解決。
  (12) 追求完美,對於新測試員來說,努力的追求完美,這對你很好,盡管有些事無法做到,但你應該去嘗試。
  (13) 幽默感,能和開發小組很好的溝通是關鍵,試着給你的開發小組找一個“BUG殺手”,或對他們說“我簡直不敢相信,你寫的程序居然到現在沒有找到BUG”。
  (14) 到此是不是對測試很有興趣呢?不過我要告訴你,測試過程中有酸甜苦辣,其中的滋味只有你知道,也許你會感到枯燥,要學會放松自己,去溜冰或做你喜歡做的事,不過,別放棄,因為你的自信告訴過你“你會是很優秀的測試員”不是嗎?

  我們常見軟體測試的技巧 :
  軟體測試雖然辛苦,但是掌握了一定的技巧之後將使你事半功倍。

  (1) 邊界測試,測試用戶輸入框中的數值的最大數和最小數,以及為空時的情況。

  (2) 非法測試,例如在輸入數字的地方輸入字母。

  (3) 跟蹤測試,跟蹤一條數據的流程,保證數據的正確性。

  (4) 在開始測試時應保證數據的正確性,然後在從系統中找出各種BUG。

  (5) 介面測試,程序往往在介面的地方很容易發生錯誤,要在此模塊測試勿掉以輕心。

  (6) 代碼重用測試,在開發過程中有些模塊功能幾乎相同,程序員在重用代碼時可能忘記在原有代碼上修改或修改不全面,而造成的錯誤。

  (7) 突發事件測試,伺服器上可能發生意外情況的測試。

  (8) 外界環境測試,有些系統在開發時依賴於另外一個系統,當另外一個系統發生錯誤時, 這個系統所受到的影響的情況。

  (9) 在程序員剛修復Bug之後的地方,再找一找,往往程序員只修復報告出來的缺陷而不去考慮別的功能在修改時可能會重新造成錯誤。

  (10) 認真做好測試記錄在做完一天的測試記錄之後,第二天再根據第一天的測試記錄重復測試你會發現有未修正的錯誤。

  (11) 文字測試,如果在系統中有用詞不當的地方,我想這是不應該的。

  (12) 系統兼容測試,例如有些程序在IE6能運行正常,到IE5下不能運行。有些程序在WIN2000下能運行,而到WIN98卻不能運行。像一些很特別的用戶去使用系統,你很有可能發現BUG。

  (13) 用戶的易用性測試,往往用戶的需求是不斷的變化的,而其中的一部份變化的原因,是有用戶操作上不方便引起的。

  軟體測試是軟體開發中的重中之重,沒有一點可以馬虎的,在項目管理過程,我強調的時是每個過程的每一個環節都要進行測試,保證系統在每個階段可以控制。因為軟體測試中考慮的問題基本上是項目管理中考慮的問題。
  我認為在項目管理中考慮的一些問題應該是在軟體測試時有些體現,體現的內容是軟體測試的一些側重點,具體說,軟體測試是事務性的,而項目管理是策略性,一些策略性的東西必須在一些事務性的事務上來實現。                                              -----轉貼,不知出處

沒有留言:

張貼留言