第一篇:軟件測試工程師具備的素質
大體上從事軟件測試工作,要做好這項工作,就要重點著重培養一下自己各方面的素質。因為軟件測試正在向工程級發展
基本素質
溝通能力、自信心、幽默感、記憶力<挖掘以往錯誤>、耐心、懷疑精神、自我督促、洞察力<發現重點>;
廣泛的經驗;
表達能力、問題描述能力;
會提問,會尋求Help;
邏輯思維能力;
團隊協作能力;
處理日常事務的能力和處理突發事件的能力
專業素質
對于系統測試,把握需求是第一位的。對產品熟練,能夠快速熟悉新的產品需求,很 強的需求理解能力顯得很重要;
測試基礎:明確測試流程中各個階段的工作,對測試的認知程度,決定了測試流程管理 的規范性,測試工作的質量;
測試方案的分析設計能力、測試案例的設計能力(測試案例的覆蓋率、優先級等);的使用(包括和測試執行工具,也包括開發工具的能力);
編程能力,?知識,網絡知識,操作系統知識;
團隊協作能力,與各個小組之間的溝通能力;
測試管理,管理決定了工作質量。尤其是測試經理,需要管理團隊測試的能力。一般的說,技術上的問題都不是問題,目前的軟件更缺乏行之有效的管理。
第二篇:優秀的軟件測試工程師應具備的素質
人是測試工作中最有價值也是最重要的資源,沒有一個合格的、積極的測試小組,測試就不可能實現。然而,在軟件開發產業中有一種非常普遍習慣,那就是讓那些經驗最少的新手、沒有效率的開發者或不適合干其他工作的人去做測試工作。這絕對是一種目光短淺的行為,對一個系統進行有效的測試所需要的技能絕對不比進行軟件開發需要的少,事實上,測試者將獲得極其廣泛的經驗,他們將遇到許多開發者不可能遇到的問題。
(1)溝通能力
一名理想的測試者必須能夠同測試涉及到的所有人進行溝通,具有與技術(開發者)和非技術人員(客戶,管理人員)的交流能力。既要可以和用戶談得來,又能同開發人員說得上話,不幸的是這兩類人沒有共同語言。和用戶談話的重點必須放在系統可以正確地處理什么和不可以處理什么上。而和開發者談相同的信息時,就必須將這些活重新組織以另一種方式表達出來,測試小組的成員必須能夠同等地同用戶和開發者溝通。
(2)團隊合作能力
(3)技術能力
就總體言,開發人員對那些不懂技術的人持一種輕視的態度。一旦測試小組的某個成員作出了一個錯誤的斷定,那么他們的可信度就會立刻被傳揚了出去。一個測試者必須既明白被測軟件系統的概念又要會使用工程中的那些工具。要做到這一點需要有幾年以上的編程經驗,前期的開發經驗可以幫助對軟件開發過程有較深入的理解,從開發人員的角度正確的評價測試者,簡化自動測試工具編程的學習曲線。
(4)自信心
開發者指責測試者出了錯是常有的事,測試者必須對自己的觀點有足夠的自信心。如果容許別人對自己指東指西,就不能完成什么更多的事情了。
(5)外交能力
當你告訴某人他出了錯時,就必須使用一些外交方法。機智老練和外交手法有助于維護與開發人員的協作關系,測試者在告訴開發者他的軟件有錯誤時,也同樣需要一定的外交手腕。如果采取的方法過于強硬,對測試者來說,在以后和開發部門的合作方面就相當于“贏了戰爭卻輸了戰役”。
(6)耐心
一些質量保證工作需要難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。這個工作是那些坐不住的人無法完成的。
(7)懷疑精神
可以預料,開發者會盡他們最大的努力將所有的錯誤解釋過去。測式者必須聽每個人的說明,但他必須保持懷疑直到他自己看過以后。
(8)自我督促
干測試工作很容易使你變得懶散。只有那些具有自我督促能力的人才能夠使自己每天正常地工作。
(9)洞察力
一個好的測試工程師具有“測試是為了破壞”的觀點,捕獲用戶觀點的能力,強烈的質量追求,對細節的關注能力。應用的高風險區的判斷能力以便將有限的測試針對重點環節。
第三篇:軟件測試工程師應該具備的職業素質
軟件測試工程師應該具備的職業素質
溝通能力
–理想的必須能夠與測試涉及到的所有人進行溝通,具有與技術人員(開發者)和非技術人員(客戶、管理人員)的交流能力。
移情能力
–和系統開發有關的所有人員(用戶、開發者、管理者)都處于一種既關心又擔心的狀態中。測試人員必須和每一類人打交道,因此需要對每一類人都具有足夠的理解和同情,從而將
測試人員與相關人員之間的沖突和對抗減少到最低程度。
技術能力–
一個測試人員必須既明白被測軟件系統的概念又要會使用工程中的那些工具,這需要有幾年以上的編程經驗,從而有助于對軟件開發過程的較深入理解。自信心–開發人員指責測試人員出了錯是常有的事,測試人員必須對自己的觀點有足夠的自信心。
外交能力
–當你告訴某人他出了錯時,就必須使用一些外交方法,機智老練和外交手法有助于維護與開發人員之間的協作關系。
幽默感
–在遇到狡辯的情況下,一個幽默的批評將是很有幫助的。
很強的記憶力
–理想的測試人員應該有能力將以前曾經遇到過的類似的錯誤從記憶深處挖掘出來,這一能力在測試過程中的價值是無法衡量的。
耐心–
一些工作需要難以置信的耐心,有時你需要花費驚人的時間去分離、識別和分派一個錯誤。
懷疑精神
–可以預料,開發人員會盡他們最大的努力將所有的錯誤解釋過去。測式人員必須聽每個人的說明,但他必須保持懷疑直到他自己看過以后。自我督促–
干測試工作很容易使你變得懶散,只有那些具有自我督促能力的人才能夠使自己每天正常地工作。
洞察力–
一個好的測試人員具有“測試是為了破壞”的觀點,捕獲用戶觀點的能力,強烈的質量追求,對細節的關注能
1.計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。計算機專業技能主要包含三個方面:
l測試專業技能
現在軟件測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有扎實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的“點擊”之類的測試工作,讓測試工作以自己的專業知識為依托。
測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。l軟件編程技能
“測試人員是否需要編程?”可以說是測試人員最常提出的問題之一。實際上,由于在我國開發人員待遇普遍高于測試人員,因此能寫代碼的幾乎都去做開發了,而很多人則是因為做不了開發或者不能從事其它工作才“被迫”從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以借助測試工具進行簡單的自動化測試(主要錄制、修改、回放測試腳本)。軟件編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能給編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟件測試人員的編程技能要求也有別于開發人員:測試人員編寫的程序應著眼于運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的算法設計能力。依據作者的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。l網絡、操作系統、數據庫、中間件等知識:
與開發人員相比,測試人員掌握的知識具有“博而不精”的特點,“藝多不壓身”是個非常形象的比喻。由于測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平臺進行分析與調優,因此測試人員需要掌握更多網絡、操作系統、數據庫等知識。
在網絡方面,測試人員應該掌握基本的網絡協議以及網絡工作原理,尤其要掌握一些網絡環境的配置,這些都是測試工作中經常遇到的知識。
操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基于Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟件。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
數據庫知識則是更應該掌握技能,現在的應用系統幾乎離不開數據庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MS Sqlserver、Oracle等常見數據庫的使用。
作為一名測試人員,盡管不能精通所有的知識,但要想做好測試工作,應該盡可能地去學習更多的與測試工作相關的知識。
2.行業知識
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟件運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。
行業知識與工作經驗有一定關系,通過時間即可以完成積累。
3.個人素養[1]
作為一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的“五心”。
專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟件缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。
細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些界面的樣式、文字等。
耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到“專心”和“細心”,這將讓很多軟件缺陷從你眼前逃過。責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的后果。
自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能“解決一切測試問題”的信心。
“五心”只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解“開發人員”,同時要尊重開發人員的勞動成果——開發出來的產品。
第四篇:軟件工程師具備的素質
軟件工程師具備的素質
軟件企業要求基礎軟件工程師具備六大基本素質,即良好的編碼能力、自覺的規范意識和團隊精神、認識和運用數據庫的能力、較強的英語閱讀和寫作能力、具有軟件工程的概念和求知欲和進取心
良好的編碼能力。軟件人員的一個重要職責是把用戶的需求功能用某種計算機語言予以實現。編碼能力直接決定了項目開發的效率。這就要求軟件工程師至少精通一門編程語言,比如當前國內企業常用的C/C++、VB和國際上最流行的Java語言,熟悉它的基本語法、技術特點和API(應用程序接口)。
自覺的規范意識和團隊精神。隨著軟件項目規模越來越大,僅僅依靠個人力量已經無法完成工作,因此,現代軟件企業越來越重視團隊精神。一般來講,軟件企業中的程序員可以分為兩種,一種是程序游擊隊員;,他們可能對編程工具很熟,能力很強,把編碼編得很簡潔高效,但卻缺乏規范和合作的觀念;另一種程序員編程不一定很快,但是很規范,個人能力不一定很強,但合作意識很好。第二種人更加適合現代軟件企業發展的潮流。對于基礎軟件工程師來說,他們在企業中的角色決定了他們必須具有良好的規范意識和團隊精神。認識和運用數據庫的能力。信息是以數據為中心的,因此與數據庫的交互在所有軟件中都是必不可少的,了解數據庫操作和編程是軟件工程師需要具備的基本素質之一。目前常用的數據庫軟件有甲骨文公司的Oracle數據庫和微軟公司的SQL Server等。
較強的英語閱讀和寫作能力。程序世界的主導語言是英文,編寫程序開發文檔和開發工具幫助文件離不開英文,了解業界的最新動向、閱讀技術文章離不開英文,與世界各地編程高手交流、發布幫助請求同樣離不開英文。作為基礎軟件工程師,具有一定的英語基礎對于自身的學習和工作極有幫助。
具有軟件工程的概念。基礎軟件工程師處于軟件企業人才金字塔的底層,是整個人才結構的基礎,雖然他們從事的工作相對于系統分析師和高級程序員要單純一些,但是他們是整個軟件工程中重要的一環,因此,基礎軟件工程師同樣要具有軟件工程的概念。從項目需求分析開始到安裝調試完畢,基礎軟件工程師都必須能清楚地理解和把握這些過程,并能勝任各種環節的具體工作,這樣的能力正好符合了當前企業對基礎軟件工程師的全面要求。求知欲和進取心。軟件業是一個不斷變化和不斷創新的行業,面對層出不窮的新技術,軟件人才的求知欲和進取心就顯得尤為重要,它是在這個激烈競爭的行業中立足的基本條件。軟件工程師應具有較強的學習總結能力、需求理解能力和對IT新技術比較敏感,同時,掌握最新的IT實用技術。
當前我國的軟件企業急需的軟件人員的要求
? 計算機基本理論知識以及國際化、規范化、標準化的軟件工程理念和質量意識; ?
?
?
?
?
較強的動手能力和解決實際問題能力; 規范化、標準化的代碼編寫能力,程序設計、流程處理及測試技能; 良好的文檔寫作習慣、團隊精神和協作溝通能力; 較強的學習總結能力、需求理解能力和對IT新技術比較敏感; 掌握最新的IT實用技術。
第五篇:測試工程師應該具備的素質
雖然主要是針對軟件測試,但是有一些共通的地方,大家一起共勉
人是測試工作中最有價值也是最重要的資源,沒有一個合格的、積極的測試小組,測試就不可能實現。然而,有一種非常普遍習慣,那就是讓那些經驗最少的新手、沒有效率的開發者或不適合干其他工作的人去做測試工作。這絕對是一種目光短淺的行為,對一個系統進行有效的測試所需要的技能絕對不比進行軟件開發需要的少,事實上,測試者將獲得極其廣泛的經驗,他們將遇到許多開發者不可能遇到的問題。①、溝通能力
一名理想的測試者必須能夠同測試涉及到的所有人進行溝通,具有與技術(開發者)和非技術人員(客戶,管理人員)的交流能力。既要可以和用戶談得來,又能同開發人員說得上話,不幸的是這兩類人沒有共同語言。和用戶談話的重點必須放在系統可以正確地處理什么和不可以處理什么上。而和開發者談相同的信息時,就必須將這些活重新組織以另一種方式表達出來,測試小組的成員必須能夠同等地同用戶和開發者溝通。
②、移情能力
和開發有關的所有人員都處在一種既關心又擔心的狀態之中。用戶擔心將來使用一個不符合自己要求的系統,開發者則擔心由于系統要求不正確而使他不得不重新開發整個系統,管理部門則擔心這個系統突然崩潰而使它的聲譽受損。測試者必須和每一類人打交道,因此需要測試小組的成員對他們每個人都具有足夠的理解和同情,具備了這種能力可以將測試人員與相關人員之間的沖突和對抗減少到最低程度。
③、技術能力
就總體言,開發人員對那些不懂技術的人持一種輕視的態度。一旦測試小組的某個成員作出了一個錯誤的斷定,那么他們的可信度就會立刻被傳揚了出去。一個測試者必須既明白被測系統的概念又要會使用工程中的那些工具。
④、自信心
開發者指責測試者出了錯是常有的事,測試者必須對自己的觀點有足夠的自信心。如果容許別人對自己指東指西,就不能完成什么更多的事情了。
⑤、外交能力
當你告訴某人他出了錯時,就必須使用一些外交方法。機智老練和外交手法有助于維護與開發人員的協作關系,測試者在告訴開發者他的軟件有錯誤時,也同樣需要一定的外交手腕。如果采取的方法過于強硬,對測試者來說,在以后和開發部門的合作方面就相當于“贏了戰爭卻輸了戰役”。
⑥、幽默感
在遇到狡辯的情況下,一個幽默的批評將是很有幫助的。
⑦、很強的記憶力
一個理想的測試者應該有能力將以前曾經遇到過的類似的錯誤從記憶深處挖掘出來,這一能力在測試過程中的價值是無法衡量的。因為許多新出現的問題和我們已經發現的問題相差無幾。
⑧、耐心
一些質量保證工作需要難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。這個工作是那些坐不住的人無法完成的。
⑨、懷疑精神
可以預料,開發者會盡他們最大的努力將所有的錯誤解釋過去。測式者必須聽每個人的說明,但他必須保持懷疑直到他自己親眼看過以后。
⑩、自我督促
干測試工作很容易使你變得懶散。只有那些具有自我督促能力的人才能夠使自己每天正常地工作。
11、洞察力
一個好的測試工程師具有“測試是為了破壞”的觀點,捕獲用戶觀點的能力,強烈的質量追求,對細節的關注能力。應用的高風險區的判斷能力以便將有限的測試針對重點環節