① 軟體測試人員需要具備哪些素質
在我看來一個軟體測試人員需要具備多方面的特質:
●
細心:這個不用多解釋了吧。粗枝大葉的人是沒法做好軟體測試的。
●
耐心:軟體測試,特別是當前國內主流的手動黑盒功能測試。基本上測試的工作就是一項重復勞動,需要有一定的耐心來保證不在枯燥的重復勞動中放過那些細小的缺陷。
●
好奇心:軟體測試,是需要保持一顆好奇心的工作。好奇心使得測試人員會多問一個「為什麼」,「如果這樣,行不行?」。往往這些問題會引導你找到缺陷。
●
會溝通:軟體測試人員需要與客戶,開發,產品等方方面面保持密切的關系,溝通很重要。良好的溝通過程可以有效地控製成本。
●
總結歸納能力:這跟「會溝通」有關聯,軟體測試人員需要找到缺陷的真正關鍵步驟,歸納出缺陷產生的一般規律,總結出一份詳盡的測試報告。
●
理解能力:對需求的准確理解,是軟體測試人員需要具備的必需條件。
●
表達能力:編寫的測試用例什麼的只有你自己能讀懂可不行。
●
時間觀念:軟體測試工作是無止境的,但是軟體本身是有交付日期的。軟體測試工作需要在保證交付日期之前完成工作,保證軟體產出的質量。時間與質量本身需要有一個平衡,為了追求零缺陷而罔顧交付日期的做法是不科學的。前期的制定計劃開始,就要對整個過程有一個良好的規劃並且按照這個計劃的日期來推進。
好吧,以上這些差不多是我想到的對與軟體測試人員來說比較重要的特質。當然,還有一些不一定是普適的要求,比如英語聽說讀寫的能力。也歡迎補充看看我還遺漏了那些特質。
朱杉:
其實抽屜同學已經都總結得很好了,我就再說兩點我自己的體會就好。
●
責任感:責任感是個系數,責任感與個人資質的乘積才是最終體現到工作中的實際能力。尤其是就目前國內的黑盒手工測試來說,極少有需要特別牛x的人才能幹得下來的事情,大家的工作成果差異,常常是態度問題而非能力問題。而很多面試中體現出良好資質的人,放到工作中會發現實際效果不理想,也多與此有關。
●
原則性:測試需要一顆有原則的正直的心,不會為了湊數量,將同類問題的變體重復提交;不會因為dev簡單的一句:」這不是問題「而妥協。
●
學習能力:測試需要不斷接觸新功能、新理論、新技術、新工具,並非一個省心的活兒。對於學習能力還是有一定的要求的。除了工作相關的以外,開闊的知識面,對於測試人員來說有時也意味著思路的可延展性。
就這些啦。其實有些能力是可以在做的過程中培養的,而做測試的過程也是對心性的一種歷練
② 軟體測試人員應專業技能該具備哪些
軟體測試的理論以及測試用例的設計方法
linux伺服器的常規操作命令
資料庫的一般性操作sql
bug管理工具的使用,svn、jira、qc、禪道等
抓包工具httpwatch、wireshark等工具的使用,包括常規協議的了解
介面測試工具jmeter、fiddler、postman、soupui等至少掌握一種
文檔的寫作和管理輸出(測試計劃、方案、用例、報告)
測試環境的搭建和維護
自動化測試工具qtp或者selenium等至少會一種
性能測試工具loadrunner或jmeter至少會一種
開發語言至少熟悉一種推薦java、python(自動化腳本的編寫、或者做單元測試)
appnium,app自動化的工具掌握
中間件(apache 、tomcat、nginx、MQ)等的性能參數設置、監控和調優
當然針對不同的平台,如移動端、web、嵌入式的不同,以上有所不同(不一定需要全部掌握)
可以看看你想進入的行業的招聘信息,進行針對性的了解和學習,所入行業的業務知識也是必須掌握的
以上大概是以高級測試工程師的標准寫的~
③ 軟體測試人員應該具備哪些基本素質
1.踏實細心
現在軟體測試的工作內容以手動黑盒功能測試為主,這是一項重復性極高的工作,要有足夠的耐心去執行這些枯燥的測試用例,從事大量的重復性工作,有時候同一個操作要進行幾十遍。
2、良好的溝通能力
以解決問題的態度對待程序產生的bug,和開發人員進行有效的溝通。描述bug應該條理清晰、log齊全、描述不清楚的bug有時需要上傳截圖或者操作視頻,便於開發分析問題。要有團隊協作精神,要意識到需求、測試、開發是一個團隊,只有團結一致軟體質量才可以得到有效的保證。
3、要有好奇心,懷疑一切的態度
要從多方面考慮軟體有可能出現的bug,軟體的每個功能或軟體之間的交互與調用都有可能出現bug。測試的主要目的是發現軟體bug,滿足用戶的需求。而不是證明軟體沒有問題。多問一個「為什麼」。
4、責任性
測試人員應該對自己測試的軟體認真負責,而不是敷衍了事,能在軟體發布前率先找出程序中的bug,保證每一個需求都能被實現,都能達到通過的標准。
④ 軟體測試工程師需要具備哪些技能
首先要學習比較流行的開發語言,如:python,這是為了自動化測試的學習打下基礎,不過軟體測試工程師只要能用python進行簡單的開發就可以,不需要像軟體開發工程師一樣把python學的特別好。
其次學習LoadRunner、JMeter、Selenium、Appium、Postman、Fiddler這些測試工具。第三學習目前主流的資料庫系統MySQL,熟悉資料庫的基本結構和原理,熟練掌握資料庫的常用操作技術。最後軟體測試中有五大測試方法,分別為:功能測試、web自動化測試、移動自動化測試、介面測試、性能測試,這五種測試方法軟體測試工程師都需要掌握。
不僅如此,行業技能也是軟體測試工程師所必須掌握的一點。
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟體運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。行業知識與工作經驗有一定關系,通過時間即可以完成積累。
⑤ 軟體測試人員需要具備什麼樣的職業素質
1. 計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。計算機專業技能主要包含三個方面:
l 測試專業技能
現在軟體測試已經成為一個很有潛力的專業。要想成為一名優秀的測試工程師,首先應該具有扎實的專業基礎,這也是本書的編寫目的之一。因此,測試工程師應該努力學習測試專業知識,告別簡單的「點擊」之類的測試工作,讓測試工作以自己的專業知識為依託。
測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。
l 軟體編程技能
「測試人員是否需要編程?」可以說是測試人員最常提出的問題之一。實際上,由於在我國開發人員待遇普遍高於測試人員,因此能寫代碼的幾乎都去做開發了,而很多人則是因為做不了開發或者不能從事其它工作才「被迫」從事測試工作。最終的結果則是很多測試人員只能從事相對簡單的功能測試,能力強一點的則可以藉助測試工具進行簡單的自動化測試(主要錄制、修改、回放測試腳本)。
軟體編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能給編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟體測試人員的編程技能要求也有別於開發人員:測試人員編寫的程序應著眼於運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的演算法設計能力。依據作者的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。
l 網路、操作系統、資料庫、中間件等知識:
與開發人員相比,測試人員掌握的知識具有「博而不精」的特點,「藝多不壓身」是個非常形象的比喻。由於測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平台進行分析與調優,因此測試人員需要掌握更多網路、操作系統、資料庫等知識。
在網路方面,測試人員應該掌握基本的網路協議以及網路工作原理,尤其要掌握一些網路環境的配置,這些都是測試工作中經常遇到的知識。
操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟體。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
資料庫知識則是更應該掌握技能,現在的應用系統幾乎離不開資料庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MS Sqlserver、Oracle等常見資料庫的使用。
作為一名測試人員,盡管不能精通所有的知識,但要想做好測試工作,應該盡可能地去學習更多的與測試工作相關的知識。
2. 行業知識
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟體運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。
行業知識與工作經驗有一定關系,通過時間即可以完成積累。
3. 個人素養[1]
作為一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的「五心」。
專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟體缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。
細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些界面的樣式、文字等。
耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到「專心」和「細心」,這將讓很多軟體缺陷從你眼前逃過。
責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的後果。
自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能「解決一切測試問題」的信心。
「五心」只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解「開發人員」,同時要尊重開發人員的勞動成果——開發出來的產品。
相關資料您可以查閱51測試論壇。
⑥ 好的軟體測試人員需要具備哪些條件
優秀的測試員需要的條件
一、系統思維能力
無論是出軟體測試方案,還是用例設計,測試建模,場景化分析等都需要具備一定的系統思維,環環相扣,把遺漏風險降到最低。也是個人提升的必備
二、項目管理能力
測試人員最終的目標是評估質量風險與風險控制,但質量並非是靠測試測出來的,而是在產品未孵化前的規劃就開始了,所以了解整個項目管理流程才可以實現對各個階段的質量把控。
三、溝通表達能力
以上案例中已提到過,無論是日常工作與其他跨部門團隊的溝通還是晉升的競聘環節,以及面試過程中對自我的展示,都需要良好的溝通表達,再優秀的技術也需要靠表達去實現繼承和運用。
四、領導管理技能
測試人員的發展方向除了專家路線就是管理方向,當然技術管理還是要以技術為本的,所以領導力會顯得尤其重要,但無論專家還是管理路線,擁有一定經驗後需要做出決策以及測試策略如何讓別人信服就需要一定的領導力了,而領導力是可以有意培養的。
五、觀察能力
一般做過技術人員面試官的都會有些微表情,或面試心理學的知識儲備,如何快速識別需要靠長期的細節觀察能力來判斷候選人。知己知彼百戰百勝,不僅僅是面試官還有一些測試人員轉為業務專家或顧問後會更有學習的必要。
六、導師能力
有一定經驗的測試人員即使沒做到管理層,也會被委任做某個方向的導師或培訓人員,這時如何從自己學習到傳播給他人知識會有個轉變,也是工作的一部分,為測試組知識庫與技術儲備貢獻力量。工作一定時間後,就需要有意識的培養這方面的能力了。
(6)軟體測試員需要哪些技術擴展閱讀:
優秀測試員需要的素質
1、有探索精神:不要害怕進入陌生環境,勇於探索。善於發現問題的症結,要喜歡解迷。
2、自信心:測試者必須對自己的觀點有足夠的自信心。自信心是現在多數測試者都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試者應該努力學習,建立能「解決一切測試問題」的信心。
3、責任心:責任心是做好工作必備的素質之一,測試者更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的後果。
4、專心:測試者在執行測試任務的時候要專心,不可一心二用。高度集中精神不但能夠提高效率,還能發現更多的軟體缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。
5、耐心:需要有難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好
⑦ 作為一個軟體測試人員,需具備哪些技術
計算機專業技能
計算機領域的專業技能是測試工程師應該必備的一項素質,是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是一名要想獲得更大發展空間或者持久競爭力的測試工程師,則計算機專業技能是必不可少的。計算機專業技能主要包含三個方面:
1. 測試專業技能
測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。
2. 軟體編程技能
「軟體編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能給編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟體測試人員的編程技能要求也有別於開發人員:測試人員編寫的程序應著眼於運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的演算法設計能力。依據資深測試工程師的經驗,測試工程師至少應該掌握 Java、C#、C++之類的一門語言以及相應的開發工具。
3. 網路、操作系統、資料庫、中間件等知識
與開發人員相比,測試人員掌握的知識具有「博而不精」的特點,「藝多不壓身」是個非常形象的比喻。由於測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平台進行分析與調優,因此測試人員需要掌握更多網路、操作系統、資料庫等知識。
在網路方面,測試人員應該掌握基本的網路協議以及網路工作原理,尤其要掌握一些網路環境的配置,這些都是測試工作中經常遇到的知識。
操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟體。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
資料庫知識則是更應該掌握技能,現在的應用系統幾乎離不開資料庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MS Sqlserver、Oracle等常見資料庫的使用。
行業知識
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟體運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。
行業知識與工作經驗有一定關系,通過時間即可以完成積累。
個人素養
作為一名優秀的測試工程師,首先要對測試工作有興趣:測試工作很多時候都是顯得有些枯燥的,因此熱愛測試工作,才更容易做好測試工作。因此,除了具有前面的專業技能和行業知識外,測試人員應該具有一些基本的個人素養,即下面的「五心」。
1.專心:主要指測試人員在執行測試任務的時候要專心,不可一心二用。經驗表明,高度集中精神不但能夠提高效率,還能發現更多的軟體缺陷,業績最棒的往往是團隊中做事精力最集中的那些成員。
2.細心:主要指執行測試工作時候要細心,認真執行測試,不可以忽略一些細節。某些缺陷如果不細心很難發現,例如一些界面的樣式、文字等。
3.耐心:很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不會做到「專心」和「細心」,這將讓很多軟體缺陷從你眼前逃過。
4.責任心:責任心是做好工作必備的素質之一,測試工程師更應該將其發揚光大。如果測試中沒有盡到責任,甚至敷衍了事,這將會把測試工作交給用戶來完成,很可能引起非常嚴重的後果。
5.自信心:自信心是現在多數測試工程師都缺少的一項素質,尤其在面對需要編寫測試代碼等工作的時候,往往認為自己做不到。要想獲得更好的職業發展,測試工程師們應該努力學習,建立能「解決一切測試問題」的信心。
「五心」只是做好測試工作的基本要求,測試人員應該具有的素質還很多。例如測試人員不但要具有團隊合作精神,而且應該學會寬容待人,學會去理解「開發人員」,同時要尊重開發人員的勞動成果——開發出來的產品。
⑧ 做軟體測試員需要學哪些專業知識
第一步,測試基礎:
測試基礎是軟體測試最最最重要的部分,只要你是做測試,不管是什麼測試,測試的基礎、理論知識都是必須學會的。大概就包括:測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等。
第二步:學習腳本語言
如:python語言,當然python 是一門相對簡單的計算機語言,考慮長遠發展,需要了解C語言或者java。都說C語言最難,但是用得確實也多。
第三步:學習軟體測試工具
學習軟體測試工具並不難,只是需要我們去系統的學習。比如性能測試工具loadrunner,自動化測試工具selenium、Appium,介面測試Jmeter、Postman等。雖然說工具不是萬能的但是工具能為我們提高工作效率,所以必須得會熟練的使用。最關鍵的一點,是要結合項目具體去操作,實踐出真知,理論知識在實際項目中才能得到鞏固。
第四步:計算機硬體知識
做過性能測試的都知道在性能測試過程中硬體性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬體測試的。那麼就更不用說了。交換機、路由器、防火牆這些設備都需要有所了解。
第五步:資料庫測試
MySQL資料庫
MySQL簡介、命令行工具以及數據管理、MySQL數據查詢(條件、分組、聚合函數、排序、分頁、連接查詢、自關聯、子查詢)、內置函數、項目練習、數據分表、Python操作MySQL。
Redis資料庫
Redis簡介、客戶端和伺服器、數據類型(string、hash、list、set、zset)、各種數據類型操作、Python操作Redis、主從、集群。
第六步:項目實戰
最好參與真實項目的測試工作,積累真實項目的測試經驗。
成為優秀軟體測試員之提升條件,如果你想成為一個更優秀的軟體測試員的話,除了上面那些,你也最好能夠具備開發語言即代碼編寫能力,雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那麼代碼編寫能力就是必選項、如果不會寫代碼、那麼你不可能成為高級測試。高級測試工程 師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那麼精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你 現在所在的項目從C++語言、2年後你換工作了、新公司的開發語言是Java或者是VB什麼的)所以在開發語言中測試需要更廣的學習。
成為軟體測試員之必備條件,就是你一定要有良好的心態。心要靜、細心耐心、責任心。心靜不下來無法對bug展開發向思維及拓展想像。任何一個測試最先面對的心理壓力就是重復性的勞動。在你的測試生涯中,一定會碰見很多心理的考驗,自己對於質量心裡沒有底、或者由於產品發布問題或者達到了測試瓶頸時候的困惑等。每個人都有自己的背景以及性格,往往對於測試來講,就是考驗心理素質的時候,這個時候就需要你自己不斷地去克服這些心理