高級軟件測試人員必備素質

1、測試人員必順熟悉軟件開發流程

  軟件測試需熟悉軟件開發流程,重點掌握軟件測試本身部分過程以及測試與各個階段的接口,有哪些文檔需要編寫,編寫的內容是什麼。其它方面不需要很多細節都瞭解,那是QA和EPG的事。

  2、測試人員必順熟悉產品所涉及的業務

  測試人員主要的測試還是功能測試,那怎麼做好功能測試,在仔細、耐心的基礎上還需要精通產品的業務。實際是往往項目組中的培訓往不夠的,我個人的經驗是如果有條件能夠參加需求調研的話是最好的。如果是產品化的產品有機會的最好去工程實施的一兩次。

  3、測試人員技術的要求

  測試技術的要求我就不多說了,大家關心的可能是開發工具,我個人認爲測試人員必須精通一門比較大衆化語言,如C、或JAVA,否則在測試驅動化測試時,就需要開發人員協助。以前我碰到這麼一個需求“在個用戶同時操作,一個用戶插入十萬條數據、一個用戶UPDATE十萬條數據,一個用戶刪除十萬條數據”如果我們自己不能寫點小程序,是很受制於人。還有必須對自己項目所使用的開發工具有所瞭解,要做到能安裝、搭建、編譯、調試問題(能找到錯誤點)。

  4、測試人員對於工具

  現在網上測試工具很多,我看了很多人天天在說,學哪種好。我是根據測試不同需求去選一種比較大衆化,適何目前情況的工具,比如果我就劃分三種:測試管理、功能測試、性能測試。根據這三種去找適何的工具,學習並應用到項目裏。

 

1.         計算機專業技能計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。儘管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。

計算機專業技能主要包含三個方面:l         測試專業技能現在軟件測試已經成爲一個很有潛力的專業。要想成爲一名優秀的測試工程師,首先應該具有紮實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點擊”之類的測試工作,讓測試工作以自己的專業知識爲依託。測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能爲主。測試專業技能涉及的範圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。l         軟件編程技能“測試人員是否需要編程?”可以說是測試人員最常提出的問題之一。實際上,由於在我國開發人員待遇普遍高於測試人員,因此能寫代碼的幾乎都去做開發了,而很多人則是因爲做不了開發或者不能從事其它工作才“被迫”從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以藉助測試工具進行簡單的自動化測試(主要錄製、修改、回放測試腳本)。軟件編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能給編寫程序,纔可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。此外,對軟件測試人員的編程技能要求也有別於開發人員:測試人員編寫的程序應着眼於運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的算法設計能力。依據作者的經驗,測試工程師至少應該掌握JavaC#C++之類的一門語言以及相應的開發工具。l         網絡、操作系統、數據庫、中間件等知識:與開發人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由於測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平臺進行分析與調優,因此測試人員需要掌握更多網絡、操作系統、數據庫等知識。在網絡方面,測試人員應該掌握基本的網絡協議以及網絡工作原理,尤其要掌握一些網絡環境的配置,這些都是測試工作中經常遇到的知識。操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unixlinux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟件。而WebLogicWebsphere等中間件的安裝、配置很多時候也需要掌握一些。數據庫知識則是更應該掌握技能,現在的應用系統幾乎離不開數據庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握MysqlMS SqlserverOracle等常見數據庫的使用。作爲一名測試人員,儘管不能精通所有的知識,但要想做好測試工作,應該儘可能地去學習更多的與測試工作相關的知識。

2.         行業知識行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地瞭解了產品的業務流程,纔可以判斷出開發人員實現的產品功能是否正確。很多時候,軟件運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,纔可以判斷出用戶的業務需求是否得到了實現。行業知識與工作經驗有一定關係,通過時間即可以完成積累。

3.         個人素養作爲一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的“五心”。專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟件缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些界面的樣式、文字等。耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心纔可以做好。如果比較浮躁,就不會做到“專心”和“細心”,這將讓很多軟件缺陷從你眼前逃過。責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的後果。自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認爲自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能“解決一切測試問題”的信心。“五心”只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解“開發人員”,同時要尊重開發人員的勞動成果——開發出來的產品。案例:測試人員首先要學會尊重自己軟件測試人員首先應該尊重自己的勞動成果——軟件缺陷報告。我見過很多測試人員都不能清晰地描述一個軟件缺陷,尤其分不清缺陷跟蹤系統中SummaryDescription的區別,例如圖2-2中的軟件缺陷描述——SummaryDescription中就輸入了完全一樣的內容。嚴格的講,Summary通常用於概要性地描述軟件缺陷內容或者發生問題時的現象,主要用於項目經理進行缺陷分配,因此要用最簡短、精悍的語言來描述是什麼缺陷,使項目經理很快明白是什麼問題、應該分配給哪個開發人員;而Description則用來描述缺陷的詳細信息,通常描述缺陷的重現步驟,主要供開發人員修改缺陷時候查看。圖2-3就是一個非常規範的軟件缺陷描述。軟件缺陷報告是測試人員最直接的勞動成果,因此應該認真地描述自己所提交的每一個軟件缺陷,這也是尊重自己勞動成果的一種表現。缺陷描述不清晰,不但將會增加溝通成本,更重要的是不會得到開發人員的認可與尊重。測試人員在爲開發人員的成果——產品找問題的同時,也要保證自己的成果沒有問題。因此,作爲測試人員首先要學會清晰、準確地報告一個缺陷,這將是與開發人員互相贏得對方尊重的開端,也是尊重自己的表現。試想,如果自己都不愛惜自己的勞動成果,那別人如何會尊重你的成果呢?

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章