1. 程式人生 > >不能成為專業軟體測試人員的10大理由

不能成為專業軟體測試人員的10大理由

你是一名專業的測試人員嗎?  《轉載》

  如果你看到這篇文章了,你就有機會成為專業的了!

  我寫這篇文章並不是因為這個,其他無數的測試人員有比我更多的好東西拿來分享。總體而言,我的意思是在空閒時間閱讀其他測試相關文章來提高自己的測試技能時,你也將是有志成為專業測試人員中的一分子。

  尋找最佳理由

  上週我在LinkedIn上看到有人討論為什麼測試不是一份職業,有很多答覆包括說因為大學沒有專業授教,但都是說因為它是新興的,人們並沒有專業的進行學習。但我沒有找到有人反駁這個觀點的人並說因為大多數人工作的方式就不是專業的,才被覺得測試不是一份職業

  我猜大家都注意到了給我們的責備而忙於自憐和抱怨受到的不公平。

  尋找答案

  坦白的講,不管在哪我們不被當成專業人士都是因為我們並沒有優先地專業化的開展工作。

  基於我有限的工作經歷,不管什麼地方認真對待工作並嘗試改進而給組織帶來的價值的測試人員都會被尊重,並且會給予高度的評價和感謝。

  現在切入正題,不能成為專業測試人員的10大理由:

  1、你認為測試並不是一份技術性的職業,所以並不去嘗試學習理解產品的編碼

  如果你從事的是軟體開發,至少會理解一些軟體工程的知識。而作為測試人員,你應該能夠讀懂程式碼來分析產品,來理解程式碼的變更和修復將會如何引入其他的bug.黑盒vs白盒的日子應該結束了。

  如果你不想這樣,即使不用寫任何程式碼依然可以從事該工作。但是如果你不去讀程式碼,將會失去對整個測試流程很重要的一項投入。

  2、只有當開發人員告知開始測試時才真正介入到整個流程中

  大家如實的回答,在整個開發流程中何時開展測試的?

  理論上我們想在需求收集分析階段就介入,和其他成員一起完成餘下的,事實上我們很難投入進去,只有當開發人員想盡快得到反饋首次提交程式碼交付給我們時才能介入。

  為什麼要這樣持續下去?大多數測試人員會說這種測試工作是開發流程中的最後一環,當其他人忙於計劃時我們總是忙於測試。

  但是實際上,如果不能每天抽兩小時做測試設計就意味著你在管理時間上很差勁。而且還意味著,你不想提早介入到開發流程中的唯一原因是沒有優先處理,或者換句話根本不想這麼做。

  3、只有在技術支援的同事要求重現bug

時才與客戶之間交流

  測試人員一部分工作職責就是基於各種使用者使用場景進行測試,一旦產品釋出之後基於場景來尋找bug尤為重要。

  但事實上(這裡應該指的是外包專案中),在整個開發流程中你只是代表了客戶而不是使用者,根據客戶的工作行為來計劃測試及搭建測試環境,只是被期望基於他們的需求和限制來提供功能反饋。

  如果真是這種情況,不瞭解真實的使用者如何代表使用者模擬他們的行為呢?最後一次訪問使用者如何使用產品是什麼時候?工作中你能真正考慮到他們如何使用產品和工作環境有哪些限制嗎?我猜答案一定是NO

  去拜訪一些使用者直到你理解他們,才不會一直做這樣差勁的工作。

 4、只有在處理人壽保險時才進行風險管理

  對於測試有一個簡單的真理,也許是最微不足道的:測試人員沒有足夠的時間驗證一切。這時,基本的風險管理派上用場了,幫助我們區分工作的優先順序,哪些需要測試,哪些優先測試,可以假定哪些是基於其他測試結果上工作的。

  但是如我所說,這只是風險管理基本的一面,更高階的是在分析跟測試壓根一點關聯都沒有時候可以提供更大價值。

  所有測試人員都知道產品中風險更大的區域是哪裡,哪裡有更多的bug,團隊因為什麼不定期和無計劃的事務被推遲的。

  作為測試人員我們應該意識這些區域並在專案不同的階段實時提醒團隊。這樣,我們也能決定是否使用產品其他模組開發這些功能,或者考慮到這些意想不到的問題遲早都會出現,如果允許的話是否可以花更多的時間來保持系統的穩定。

  你應該盡力儘早暴露這些影響產品的問題,不管是已知的還是潛在的,幫助團隊設定靠譜的目標,在時間和預算上達成目標。

  5、你沒有任何計劃來提高自己測試工作的價值

  測試職業在許多方面都是未知的領域,有很多途徑帶入到測試行業,一旦進入到測試行業中,就有各種途徑來改進測試專業技能。大部分測試技能提升來自於個人,而且將會由測試人員個人能力,當前工作環境的需要和限制,還有就是當前能獲取的資訊來源等因素決定的。

  總之,並沒有唯一的途徑把自己培養成一名專業的測試人員,而且並不容易,成效並不快。所以除非你決定想真正改進開發流程,並且知道如何達到這些目的後才能夠真正提高測試技能和提高能夠貢獻給團隊的價值。

  如何達成呢?

  開始列出作為測試人員的強項和弱項,想想哪些方面你想改善,最終尋找可取的方法。有一件事很確定,如果你不把握機會或者跟別的測試人員的職業發展牽著一起,將永遠不可能得到提高。

  6、我們認為測試工作就是設計和執行預先定義好的測試用例

  其實除了執行測試用例之外,還有更多的內容:

  對產品設計上提供反饋;

  分析當前專案計劃的風險;

  在不同的開發階段提供非正式的反饋;

  開發自動化框架,能幫助開發人員維持他們所開發的產品的穩定性;

  執行指令碼或用例,但不單單是之前預先設計好的;

  分析測試結果以及能獲取的所有資訊,幫助我們瞭解產品的最新進展狀況;

  在流程中持續反饋

  而且我們可以照這些步驟持續開展。

  總之,如果只是單純的執行用例並設定為PASS OR FAIL,那價值遠遠沒有實現。

 7、自動化是一門高階學問,測試專案能在以後空閒時間裡開展

  請不要想出一大堆藉口解釋為什麼不做自動化!

  從另一個角度講,這是一些測試人員技術弱點的另一面。

  自動化不是靈丹妙藥,並不能處理測試人員遇到的所有問題,但是通過使用指令碼或工具仍然能夠代替我們做一些重複的勞動,更高效,更省時。

  問題是,一些測試人員到這裡仍然感覺不夠有技術含量,所以他們並不選擇通過自動化或指令碼改進測試。某種意義上講,就好比使用鑽木取火而拒絕用打火機並一邊說這種方式很容易。

  8、大多數時候非常自我自負的做測試

  一個好的測試人員應該謙卑。我們需要知道如何提供反饋,更重要的是如何從其他組員或同行那獲得反饋。

  如果其他成員特別是開發人員對測試工作提供一些未經請求的反饋,或者他們查出bug遺漏或測試沒有執行後,很多測試人員感到很沮喪。其實每次都有很好的理由來解釋漏測,只需要冷靜下來分享下這些資訊,但是很多測試人員認為這是對工作失職的人身攻擊,並且反駁說一些難聽的話。

  同時,我們需要知道如何提交bug,併為團隊提供消極的反饋,並且需要知道如何從同行那獲得建設性的批評。

  沒人期望你是完美的。但是他們期望你能認真對待失誤並且同時從獲得的反饋中學到經驗教訓。

  9、並沒有跟進需要改進提升的技能或領域

  之前我其中一個最好的經理經常談論我們個人的虛擬工具箱,好比我們所攜帶的技能在需要的時候隨時可以使用。

  在你的工具箱裡都有哪些?

  哪些工具需要改進或更新了?

  哪些是你需要的,哪些是下一步想要獲得的?

  不容置疑,測試像是一門手藝,沒有合適的工具不能創造需要的產品。

  10、你的職業發展生涯就是成為管理人員或改行

  有些人轉行是因為他們覺得做測試是種很好的途徑轉做開發,還有部分人根本不知道測試是幹什麼的,甚至是因為覺得整體玩弄這些程式很好玩。畢竟,也難不到哪裡去。

  一部分人最終成了很棒的測試人員,但是多數人最後失意收場,度日如年的盼著啥時候能結束測試生涯,可以做自己想做的工作,而另外的人並不欣賞測試所帶來的挑戰,他們覺得唯一獲得進步的就是做管理。

  沒錯,做管理的確也有挑戰和收穫。但是不做管理也是要克服無數的問題,這些也許能給予你更大的挑戰和收穫(絕對還沒那麼頭疼)。

  我的觀點是,如果你一直在想做其他的而不能關注於做一名更好的測試人員,根本不可能做的更專業。所以想想是否入對了行或者可能應該簡單地摸索點別的。

  想成為專業?首先作一個專業的測試!

  總結上面10點,貫穿始終的是如何改變我們對測試的認知。

  第一步就是把測試當成你的職業!

  當我們做到了第一步,第二步就是看看哪些我們遺漏了,哪些我們需要加強,我們要怎麼開展工作以及如何與同事及客戶處理好關係,以及為了提高我們的價值現在能做什麼。

  第三步是我們應該未雨綢繆,並且意識到作為一種職業在變成大師或專家之前有很多東西需要學習。

  最重要的是要意識到這種改變要發自肺腑有實際行動,而不是從一些神賜予的法令而來,或者郵件所署名字旁邊的標題來證明。