作為一名出色的測試員可以帶來更多的商業價值,起到關鍵性作用,本文提出了一些成為優秀測試員的實踐建議,這些建議源於我對許多掌握專業技術備受尊敬的測試員的觀察,這些建議可以幫助你提高效力和效率。你可以選擇一些目前可以實施的實踐方法來成為優秀的測試員,你在這裡可以學到:
一 .針對不同背景的測試
二 .使用啟發式模型關注重要的測試特徵而不會遺漏核心元素
三 .掌握你所需要的技術和技能來提高你的專業水平
四 .知道有時候乙個好問題比正確的答案更重要
測試新手和專家之間的區別在**?你的工作中有什麼可以為公司帶來價值,加快生產速度?本文講述了如何成為優秀的測試員,企業需要怎樣的測試人才。
1.更好的測試基於背景驅動(context-driven)
想要把測試做得更好需要思考,你必須考慮怎樣才是基於目前情況下最好的測試,而不是簡單重複以前的測試或是盲目模仿一些最佳實踐,某種情況下最好的測試方法放在其它情況下也許是最糟糕的方法。
2.更好的測試基於模型(model-based)
模型可以激發你的靈感來確保對基本元素的最大限度測試覆蓋,測試專家都有很好的模型來引導他們很快開始有效的測試,你的測試專業技術很大程度上依賴於你所掌握的測試模型執行能力。
3.更好的測試需要精通測試技術
如果你所擁有的唯一工具是錘子,那麼所有的東西看起來都像是釘子。如果選擇正確的工具那麼工作就會變得容易很多,學習最好的實踐就是去精通測試技術。
4.更好的測試需要實踐來提高技能
我們的孩子去到球場提高他們的運動技能,沒有持續的鍛鍊他們不能掌握嫻熟的技能來提高競爭能力,測試也是如此。沒有不斷的實踐我們不能提高自己的技能,實踐是提高技能的有效方法。
5.好的問題有時候比正確的答案更重要
測試中的乙個危險就在於我們浪費了太多時間去回答錯誤的問題,如果有人問你「可以像上次那樣測試嗎?」,回答「可以」很容易,但是,更好的問題是「我可以比上次做得更好嗎?」學會對任何事情提問,至少在你的腦子裡這麼做。
6.更好的測試不僅僅需要技術和技能
知道了怎樣測試還不夠,我們是與人和組織一起工作。要想在團隊中起到重要作用我們必須提高自己的交流能力和領導才能,學會如何與別人共事可以讓你想做的事情辦起來更容易。
7.更好的測試結果源於對客戶更好的了解
我們如果對客戶和行業領域了解得越多,我們就可以更好地確保交付的軟體適合他們使用。
8.更好的測試基於背景驅動(context-driven)
想要把測試做得更好需要思考,你必須考慮怎樣才是基於目前情況下最好的測試,而不是簡單重複以前的測試或是盲目模仿一些最佳實踐,某種情況下最好的測試方法放在其它情況下也許是最糟糕的方法。如果你要突破普通測試員的境界而成為優秀的測試員,那麼背景驅動方法是必須的。你需要考慮資源、技術、時間、目標和人員。如果你的每次測試都用「一成不變」(注:原文是 one-size-fits-all)的方法只會對專案造成損害,大多數「一成不變」的方法都不適合個別化的專案,考慮一下以下內容:
哪個更好?
a.回歸測試針對兩個不同版本之間的改動
b.最低限度的回歸測試獲得最少數量的測試用例覆蓋
c.回歸測試只針對改動部分
哪個更好?
a.自動化測試或者
b.手工的探索測試
哪個更好?
a.正常操作測試(軟體可靠性工程)
b.攻擊測試
哪個更好?
a.測試完成標準是沒有嚴重缺陷並且所有的低級別缺陷都有相應解決方法,所有的測試用例都執行過並且80%以上成功
b.測試完成標準由團隊基於odc資料,缺陷資料和其它相關資訊共同來做出最後決定
每個問題的答案都需要知道基於什麼情況,哪種方式的回歸測試最好需要了解以下情況:
a).有多少時間來執行測試?
b).都有哪些測試用例?
c).**改動所涉及的範圍和複雜程度是什麼?
d).下一次測試什麼時候執行?
e).誰會用到測試後的**?
f).這些**修改的歷史記錄是什麼?重要性如何?可能會在**用到?
沒有相關背景很難判斷技術、實踐和過程的價值。正如 james bach所說,評定測試活動是好是壞以及成為一名優秀的測試員的關鍵就是提出背景設定問題,下面是一些背景設定問題的簡單樣列,這些都是測試中需要考慮的。
a).限制條件有哪些?(人員、預算、資源、技術、進度、過程等)
b).目標、目的和期望是什麼?
c).「成功」的含義是什麼?
d).「質量」的含義是什麼?
e).專案環境是什麼?(產品,工具,配置,技術程度、態度、團隊等)
f).什麼人做這項工作?我要怎樣合理利用他們?
g).什麼人參與進來?他們的重要性怎樣?
h).什麼測試過程和技術用起來會最好?
i).有什麼可以使用?
j).有什麼可以選擇?
如果你仔細觀察,你可能會對此感到驚訝,我們常常沒有經過足夠的背景思考就開始測試,同樣地,你可能還會產生同樣的驚訝,在初期少量的背景設定問題就可以帶來更為有效的測試方法。
同時優秀的測試人員還需要具備以下這些品質
軟體測試員的目標是找出軟體缺陷,盡可能早一些。
軟體測試員的乙個基本素質是:打破沙鍋問到底。
大多數軟體測試員應具備的素質:
1.探索精神:軟體測試員不會害怕進入陌生環境。 有較強的學習能力,可以用最快的速度成為乙個新的行業的專家。
2.故障排除能手他們可能會碰到轉瞬即逝或者難以重建的軟體缺陷;他們不會心存僥倖,而是盡一切可能去尋找。 只要出現過的缺陷,就說明一定是存在的,找不到只能說明沒有能夠真的重新當時的環境和全部的操作細節。測試人員要能夠敏感的察覺到細微的變化,並立即開始在大腦中努力重現之前的整個場景。把殘存的瞬間記憶整理在紙上,通過分析,把這些碎片整理起來,最終找到缺陷重現的場景和規律。牢記:在做這樣的事情之前給自己制定乙個規則,例如只花費n多時間來努力重現這個缺陷,如果超過這個時限還沒有找到,那麼就把當前的工作整理成乙份文件保留下來,然後去按計畫繼續進行下面的工作,直到再次「偶遇」這個缺陷。
4.創造性:測試顯而易見的事實,那不是軟體測試員;他們的工作是想出富有創意甚至超常的手段來尋找軟體缺陷。 雖然創造性是必需的,但是還是更建議把大多數時間放在熟悉真實使用者的工作上,測試的基礎是現實中已經存在的場景,在冥思苦想新的場景的時候,先同使用者溝通一下,試圖發現一些新的場景效率會更高一些。有很多事實並不是那麼顯而易見。
5.追求完美:他們力求完美,但是知道某些無法企及時,不去苛求,而是盡力接近目標。 做任何事情都應當有乙個策略,分配給每項任務乙個指標或者一部分資源(也就是說如果這件事情成功,那麼它帶來的收益值得我們付出的最大成本),當這部分資源耗盡時,就停止這項任務。
6.判斷準確:軟體測試員要決定測試內容、測試時間,以及看到的問題是否算作真正的缺陷。 要不斷的提高自己的專業素養,除了行業知識、測試專業知識以外,還要盡可能的去學習一些軟體行業的基礎知識,例如作業系統、資料庫、程式設計開發、計算機網路等。
7.老練穩重:軟體測試員不害怕壞訊息。 其實做任何工作、任何事情都一樣,人生就是乙個不斷的發現問題和解決問題的過程,沒什麼好怕的。
8.說服力:軟體測試員要善於表達觀點,表明軟體缺陷為何必須修復,並通過實際演示力陳觀點。 測試工作開展的好壞,很大程度上就靠溝通能力和展示自己工作的能力了。
9.在程式設計方面受過教育。乙個有過開發經歷的測試人員,對系統的領悟能力和學習速度同沒有開發經歷的測試人員是截然不同的。
如何成為一名優秀的軟體測試人員
ryan yackel分享了一套三步走戰略,旨在幫助測試人員鞏固知識並在團隊中扮演關鍵性角色。如果您身為一名軟體測試人員,那麼肯定對 我們公司正在朝著敏捷軟體開發方向努力 的說法不會陌生。事實上,眾多已經採納敏捷開發思路的團隊開始將測試工作分配給每位成員,那麼未來我們軟體測試人員又將迎來怎樣的挑戰?...
如何成為一名優秀的技術型主管
主頁 http sites.google.com site rgbbones 這回又是厚著臉皮寫這篇文章了,畢竟到目前為止,以自己所承擔過的管理崗位來說,僅僅只做了一年的team leader,外加一年的驅動組主管,這點經驗著實少得可憐,而論處事哲學,八面玲瓏更不是我的強項,再從管理技巧或者理論知識...
如何成為一名優秀的軟體評測師
現在 軟體測試 起碼有三年以上的軟體開發經驗 現在許多軟體企業招收一些剛剛畢業的大學生或者非計算機專業的人員作為自己公司軟體測試工程師,這是非常錯誤的,也是對軟體測試不負責任的表現。雖然他們可以發現軟體中的一些錯誤,但是對於軟體中的一些關鍵,致命,危險的錯誤他們是很難發現的。大家都知道,軟體工程 中...