A. 軟體測試需要學什麼
軟體測試需要學習測試基礎和理論知識。
其中需要學習的包括測試計劃編寫、設計測試用例、編寫BUG報告單;需要學習python語言以及計算機的硬體知識;需要學習資料庫知識,包括MySQL資料庫、Redis資料庫等;需要學習自動化測試工具、性能測試工具、介面測試工具的使用。比如在性能測試則會用到Loadrunner軟體,它包含Controller、VuGen、Analysis。
一、軟體的結構和組成
既然是做軟體測試,勢必要對測試對象有充分的了解。大體方向如下:
1、 前端和後端
前端:用戶直接使用的地方我們稱之為前端,前端處於用戶直接能用的東西,對於用戶而言是最靠「前」的。
後端:用戶看不見的東西,用於做數據處理和交換。舉個例子,知乎的登錄,我們在網頁(前端)上輸入用戶名和密碼,那知乎咋個曉得我們是不是當前這個用戶登錄成功的?這個判斷操作就是由後端來完成的。
介面:前端和後端進行數據傳輸的通道,同樣的例子,知乎登錄,用戶在前端輸入了賬號密碼,點擊登錄後,我們輸入的賬號和密碼就通過登錄介面傳給後端,後端拿到賬號和密碼後,再進行判斷。
如果判斷通過,則通過登錄介面把登錄成功的信息返回給前端,前端再讓我們去訪問有許可權的功能,反之,就提示登錄失敗。
2 、資料庫SQL
資料庫是整個軟體必備的知識點,主要是關於sql語句的應用,尤其是多表聯查。在面試中,通常出現的筆試環節,這部分要不就是很簡單的sql查詢,要不就是很復雜的多表查詢,零基礎的小夥伴推薦大家從這里開始。
3、 Linux學習
Linux是測試也要掌握的技能之一。
二、功能測試用例設計(重中之重)
功能測試用例太重要了,軟體測試工程師80%的工作都跟這個相關,而且面試100%必出的問題。搭建測試環境,查看日誌,定位BUG,所以需要掌握其中的一些基礎用法。
三、 實戰練習項目(重點)
說實話,這塊自學真的有點難受,實際的項目怎麼可能這么容易就找到了。自學的小夥伴可以去找一些開源項目來練習。
四、 介面測試和介面用例設計
介面測試是對系統介面級別的測試。
1、抓包工具和前後端Bug定位。
2、Postman。
3、Jmeter。
以上,應該是最最最精簡的學習路線了。
B. 軟體測試需要什麼能力
問題一:作為一名軟體測試工程師,需要具備哪些能力 ⒈ 測試專業技能
測試專業知識很多,本書內容主要以測試人員應該掌握的基礎專業技能為主。測試專業技能涉及的范圍很廣:既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。
⒉ 軟體編程技能
軟體編程技能實際應該是測試人員的必備技能之一,在微軟,很多測試人員都擁有多年的開發經驗。因此,測試人員要想得到較好的職業發展,必須能夠編寫程序。只有能夠編寫程序,才可以勝任諸如單元測試、集成測試、性能測試等難度較大的測試工作。
此外,對軟體測試人員的編程技能要求也有別於開發人員:測試人員編寫的程序應著眼於運行正確,同時兼顧高效率,尤其體現在與性能測試相關的測試代碼編寫上。因此測試人員要具備一定的演算法設計能力。依據資深測試工程師的經驗,測試工程師至少應該掌握Java、C#、C++之類的一門語言以及相應的開發工具。
⒊ 網路、操作系統、資料庫、中間件等知識
與開發人員相比,測試人員掌握的知識具有「博而不精」的特點,「藝多不壓身」是個非常形象的比喻。由於測試中經常需要配置、調試各種測試環境,而且在性能測試中還要對各種系統平台進行分析與調優,因此測試人員需要掌握更多網路、操作系統、資料庫等知識。
在網路方面,測試人員應該掌握基本的網路協議以及網路工作原理,尤其要掌握一些網路環境的配置,這些都是測試工作中經常遇到的知識。
操作系統和中間件方面,應該掌握基本的使用以及安裝、配置等。例如很多應用系統都是基於Unix、linux來運行的,這就要求測試人員掌握基本的操作命令以及相關的工具軟體。而WebLogic、Websphere等中間件的安裝、配置很多時候也需要掌握一些。
資料庫知識則是更應該掌握技能,現在的應用系統幾乎離不開資料庫。因此不但要掌握基本的安裝、配置,還要掌握SQL。測試人員至少應該掌握Mysql、MSSqlserver、Oracle等常見資料庫的使用。
問題二:軟體測試需要學習些什麼技能 基本的軟體測試知識:具體可參見軟考所需的《軟體評測師教材》
基本的代碼能力,能夠對軟體代碼進行測試
軟體測試還是分很多種,功能測試、性能測試、單元測試等等,看你需要什麼就了解哪方面知識
問題三:做軟體測試需要具備哪些技能? 1、 軟體測試基礎知識:
測試計劃編寫、設計測試用例、編寫測試報告、編寫BUG報告單、跟蹤BUG修復情況、還需要良好的溝通能力、以及各種測試階段所使用的測試方法、單元測試、功能測試、集成測試、系統測試等等、CMMI /ISO9001
2、 各種測試工具的使用:
我們在測試的工作中為了能夠提高工作效率進程會用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、雖然說工具不是萬能的但是工具能為我們提高工作效率所以不能吧工具當神一樣看待、但是必須得會熟練的使用
3、 操作系統相關知識:
Windows、linux、uinx這些都必須會使用、而且不僅僅是簡單的操作、一般的服務管理、注冊表編輯、命令行操作都需要會、可以想像下一個連apache服務都不會安裝配置的人、誰能想像你可以做好基於apache環境的測試工作、什麼?不知道怎麼查看磁碟壓力、IO數據。windows linux都有提供自帶的工具可用於查看這些數據、perfmon、top什麼的。
4、 資料庫知識:
現在Oracle的DBA待遇比一般的開發人員待遇還高就知道資料庫在企業中的重要性了、作為測試人員雖然不需要有DBA的能力、但是基本的資料庫操作你必須得會把、不管是Oracle、DB2、MSsql還是mysql最少都應該能熟悉使用其中的一二。
揣、 計算機硬體知識:
做過性能測試的朋友都知道在性能測試過程中硬體性能也是一個非常重要的指標、CPU、內存、IO、帶寬等等、如果你是做硬體測試的。那麼就更不用說了。交換機、路由器、防火牆這些設備都需要有所了解。
6、 網路協議:
如果你還知道TCP和UDP有什麼不一樣的話請趕快去補充點知識吧、互聯網時代、一切都通過網路傳輸、常用協議必須得了解、曾經面試了一個測試工程師做了2年的測試居然不知道自己測試軟體使用什麼協議、這樣的人是你的話你敢招么?
7、 開發語言即代碼編寫能力:
雖然不會寫代碼也能做測試、但是如果你想做到高級測試工程師以上、那麼代碼編寫能力就是必選項、如果不會寫代碼、那麼你不可能成為高級測試。高級測試工程師的一部分工作就是在寫測試工具。雖然測試也需要寫代碼但不需要和開發一樣那麼精通某一門語言、可是測試卻需要了解很多門開發語言(舉一個簡單的例子:你現在所在的項目從C++語言、2年後你換工作了、新公司的開發語言是java或者是VB什麼的)所以在開發語言中測試需要更廣的學習。
8、 行業知識:
行業知識之所以寫在最後面是因為前面的7條我們都可以通過學習來掌握、但是唯獨行業知識卻只能通過工作經驗來積累、不要說你去看幾本書就知道通信行業、醫療行業、或者是航天行業、你認為在書本上面能學到么?
由於行業知識的特殊性所以建議朋友們不要頻繁的跳槽、經驗的積累是需要時間來沉澱的。
9、 具有一定的美學觀:
這個說起來比較拗口一點、簡單來說不管是開發活動還是測試活動、最後的目標就是將產品推向市場、而且得到用戶的認可。所以如果產品在需求分析階段就出現了偏離用戶航道、那麼就算測試 開發做得再好這個項目也是一樣會失敗。所以各位如果有幸能夠參加需求評審的話、請不要吝嗇你的言論。
10、請不要忘記時刻學習著:
這點我相信大家應該都能理解所以不用寫什麼:僅此一點「不學習就會落後」
總結:說了那麼多技能或者是說是需要掌握的技術、如果你沒有一顆發現缺陷之美的心態、沒有一顆以提高質量為前提來投入工作中、那麼就算你其他做得再好也不過是萬千軟體測試從業人員中的一枚。測試活動大部分用於發現缺陷、而發現缺陷之後的工作尤為重要:怎麼樣從發......>>
問題四:作為一名軟體測試工程師,需要具備哪些能力 作為一個軟體測試工程師,首先,你要建立自己的測試思維,這個很重要,因為測試思維相當於你的軟體的世界觀,這也就是為什麼,個人不支持從 開發轉測試的原因,因為對於開發而言,他們是目標型的世界觀,即需求要完成什麼我去完成,如果你在開發中待的時間太長,容易習慣這樣目標型世界觀,而測試更多關注的是多方面的,有時候,就是一些在開發所謂的不可能、無所謂的東西最後造成軟體的失敗,而如何建立自己的軟體世界觀,那就要去通過測試的方法論的理解,很多人喜歡把黑盒測試方法論、白盒測試方法論,分得很清楚,其實兩者是相通的,看懂這些東西很快的,但是悟透,這個過程會漫長。
接下來 我們講講你需要作為一個初級功能工程師所需要基本素質吧
1、軟體測試的基本方法(邊界值、等價類、錯誤分類、流程分析等等黑盒、白盒測試方法要有了解,並且掌握)這個不難,但請務必牢記在心中,它是你去建立自己世界觀的基礎,所有的測試逃不出這些方法
2、會寫的基礎的測試文檔(測試用例、缺陷報告等)
3、會看開發文檔(需求說明書、操作手冊)
4、知道軟體工程中,測試所需要做的事情,了解性能測試、安全測試等
當你有了基礎,同時也有了自己的世界觀,祝賀你已經入門了,這個時候,我建議你可以去了解不同軟體開發不同環節人所作的事情,不單單是開發,需求、設計、運維等等,因為這樣你會知道什麼是體系、規范,為你以後的發展有著很好的幫助,這也是測試相對於開發優勢的地方,開發更關注的是點,而測試要關注的是面,所以對於測試而言,除了准確的抓住細節的同時,大局觀要好,否則做不好測試。
最後才是細節技術就是所謂的白盒測試、性能測試、自動化、安全等等,這些其實對測試而言反而是小節,技術永遠不會阻礙你前行的腳步,反而思維,這個你可以根據自己喜好去發展,沒有固定模式
順便說一句,別看不起基礎的功能測試,它沒外人看得那麼簡單,因為如果你連測試用例都不會設計就別去說做性能測試、自動化測試、安全測試等等,要做一好的功能測試工程師,寫的一手好用例(你的用例是個識字人都能執行、並且用例有效的系統覆蓋率也是很高的)、好缺陷(是個識字的人都能理解你說的是問題,並且抓住重點),很難的,真心不是普通人能做好的,要去花心思琢磨的
問題五:軟體測試工程師應該具備哪些素質 您好,很高興回答您的問題。
作為一枚軟體測試工程師,需具備以下素質:
1.軟體測試基礎技能。這是基石大家都懂得~
2.需極具懷疑精神。抱著大家來找茬的心態用軟體才能更好的發現BUG
3.須足夠細心。缺陷往往出現在大家都容易忽視的地方~
4.必須有耐心。測試可以說是一項重復的工作,很考驗一個人的耐心
5.須有樂觀向上的心態。時刻調整心態,盡量避免把工作當做任務的狀態
6.需要積極學習。軟體行業發展神速,如果不時刻學習新技術很容易受局限甚至被淘汰
7.團隊協作能力。互相推諉、不講協作最終的結局是三個和尚沒水喝~
8.良好的溝通表達能力。發現bug後,需要跟開發反饋,如果不能准確描述自己發現的問題,那麼人家不會承認這個bug,甚至可能覺得厭煩
9.縝密的業務邏輯分析能力。工作中,測試需要清晰把握軟體的業務邏輯。測試就是依舊業務邏輯進行的,如果不清楚業務邏輯,那麼測試後發布的軟體會出現一堆bug~
問題六:軟體測試工程師應該具備哪些技能? 如果想成為一個比較好的軟體測試工程師的話,以下這些條件是需要具備的:
1.你要有較好的編寫代碼的水儲,最好是自己親自獨立完成過某軟體的開發工作
2.需要對資料庫有較為清楚的認識,以及會編寫資料庫腳本
3.了解至少2種以上的操作系統,並且對問題有較強的分析判斷能力
接下來,如果你想成為更優秀的測試工程師,就需要具備如下素質:
(這部分是我轉的,因為我也同意這個說法)
1、有相當的白盒測試經驗,這就需要能針對核心模塊,核心演算法進行代碼走查和代碼跟蹤,從代碼內部發現問題。要想做到這一點,不僅要了解所使用的編碼語言本身,還要會使用它提供的IDE工具進行代碼的跟蹤和調試,這些功夫可不是看看書就能掌握的呦;
2、熟練使用流行的測試工具,雖然無論是wr還是lr本身在測試工作中並不會每天都涉及到,但是對工具的熟練掌握確實我們職位和薪水得以晉升的一個重要的砝碼,所以介於這一點,建議考一些工具方面的認證可能會比較實用一些。
總之,我覺得軟體測試工程師的要求比較高,如果你從未有過編程經驗,可能幾乎沒有公司會錄用你,實話,莫怪
大三啊,那是可以自學成功的啦,我是電氣專業的,都不懂編程的,畢業工作以後自學的,半年已經可以基本滿足要求了。
只要你能堅持下來,別半途而廢,就好。我是覺得做測試要比做程序員好很多的,呵呵,那你加油咯~
問題七:一個好的軟體測試人員到底需要哪些素質 在我看來一個軟體測試人員需要具備多方面的特質:
● 細心:這個不用多解釋了吧。粗枝大葉的人是沒法做好軟體測試的。
● 耐心:軟體測試,特別是當前國內主流的手動黑盒功能測試。基本上測試的工作就是一項重復勞動,需要有一定的耐心來保證不在枯燥的重復勞動中放過那些細小的缺陷。
● 好奇心:軟體測試,是需要保持一顆好奇心的工作。好奇心使得測試人員會多問一個「為什麼」,「如果這樣,行不行?」。往往這些問題會引導你找到缺陷。
● 會溝通:軟體測試人員需要與客戶,開發,產品等方方面面保持密切的關系,溝通很重要。良好的溝通過程可以有效地控製成本。
● 總結歸納能力:這跟「會溝通」有關聯,軟體測試人員需要找到缺陷的真正關鍵步驟,歸納出缺陷產生的一般規律,總結出一份詳盡的測試報告。
● 理解能力:對需求的准確理解,是軟體測試人員需要具備的必需條件。
● 表達能力:編寫的測試用例什麼的只有你自己能讀懂可不行。
● 時間觀念:軟體測試工作是無止境的,但是軟體本身是有交付日期的。軟體測試工作需要在保證交付日期之前完成工作,保證軟體產出的質量。時間與質量本身需要有一個平衡,為了追求零缺陷而罔顧交付日期的做法是不科學的。前期的制定計劃開始,就要對整個過程有一個良好的規劃並且按照這個計劃的日期來推進。 好吧,以上這些差不多是我想到的對與軟體測試人員來說比較重要的特質。當然,還有一些不一定是普適的要求,比如英語聽說讀寫的能力。也歡迎補充看看我還遺漏了那些特質。 朱杉: 其實抽屜同學已經都總結得很好了,我就再說兩點我自己的體會就好。
● 責任感:責任感是個系數,責任感與個人資質的乘積才是最終體現到工作中的實際能力。尤其是就目前國內的黑盒手工測試來說,極少有需要特別牛x的人才能幹得下來的事情,大家的工作成果差異,常常是態度問題而非能力問題。而很多面試中體現出良好資質的人,放到工作中會發現實際效果不理想,也多與此有關。
● 原則性:測試需要一顆有原則的正直的心,不會為了湊數量,將同類問題的變體重復提交;不會因為dev簡單的一句:」這不是問題「而妥協。
● 學習能力:測試需要不斷接觸新功能、新理論、新技術、新工具,並非一個省心的活兒。對於學習能力還是有一定的要求的。除了工作相關的以外,開闊的知識面,對於測試人員來說有時也意味著思路的可延展性。 就這些啦。其實有些能力是可以在做的過程中培養的,而做測試的過程也是對心性的一種歷練
問題八:軟體測試人員需要具備哪些素質? 需要的素質有:
測試技能
細心,耐心
伐疑精神
溝通技能
團隊協作技能
不斷學習
問題九:如何提高軟體測試能力 我也是做軟體測試的,提一些小建議,僅供參考:
1.做軟體測試最好進公司實踐.因為測試公司的每個項目組對知識的要求都不一樣,也許你在這個項目組里做的很好,但把你調到另一個項目組,你仍然是門外漢.所以直接進公司學習和實踐是個不錯的選擇.
2.軟體測試需要有廣泛的計算機相關知識,包括計算機網路,資料庫,軟體工程等.
3.掌握一門開發語言,對其他語言也要熟悉,起碼做到能看懂,這樣將會對你的發展很有幫助.
4.提高自己的英語水平.不可否認,現在軟體行業的領先國家還是歐美,換句話說就是歐美的產品相對較多,是測試的一個很大的市場.要做這些國家的產品,英語當然是非常重要的.
5.最好掌握一門日語或者韓語.現在中國對日對韓的軟體外包越來越多,尤其是北方地區.掌握這兩門語言,在找工作時將會非常有優勢.
6.初次進入軟體測試行業,公司只會讓你做人工測試,或者說是黑盒測試.所以一切讀要從基礎做起,不要奢望學好了直接進公司做自動測試.
7.總起來說,進公司實踐,然後再買一些相關書籍翻閱.記住,最重要的還是動手能力,然後才是思考能力(這個行業和別的行業頗有不同,公司要求的是你先能做項目,然後你才去自己發展自己)
最後,軟體測試現在人才缺口很大,薪水也頗為可觀相信你選對了路.好好做,祝你有個美好的前程!
問題十:作為一名軟體測試工程師,需要具備哪些能力 測試工程師提交的BUG越多,意味著研發工程師工作質量越差,需要返工的工作量也越大,甚至會影響績效,所以測試工程師有時候很容易得罪研發部門。 一個可以相對堅持原則(比如3級BUG以上一定要改),又能拉下臉和不愉快的研發工程師保持較好關系的測試工程師,會對項目質量起到很關鍵作用。說到底,又能做事(發現BUG並督促修改),又會做人(該進的不讓,該退的絕對給面子,最大化消除部門間矛盾)的測試工程師,是十分難得的。 2、有異想天開屬性的為佳 這個只可意會,不好言傳的。在我帶過的團隊里,的確有那種奇葩……經常會用令人匪夷所思的方式找出BUG,這是天賦。 3、會「偷懶」的為佳 這里的偷懶不是指上班發微博聊天混日子,而是能夠利用已知資源對枯燥乏味的測試工作進行優化的同學。 說個實例: 我以前公司曾經上過一個「授信」項目,做過金融類項目的同學大家都知道。授信項目的測試用例真可以說是相當變態,隨著賬期、滯納金率、手續費率、利息率、本金、還款情況的不同,可以衍生出無比多的用例,同時每個用例進行編寫時,都要仔細根據規則計算預期結果的資金狀況,非常費力。 咱部門一個小夥子,頭一天晚上拿了PRD,第二天晚上就利用Excel寫了一個固定某些賬期下不同情況下的各項資金計算工具(有一些小BUG,無傷大雅)……大大減少了兄弟們按計算器的工作時間。這種「懶」員工,你是領導你喜歡不? 事情沒完,在實際測試的過程中,我們發現一旦研發修改了BUG,會引發其他用例的大崩潰(這類項目真悲劇,牽一發動全身),每次版本升級我們都不得不進行全面的回歸測試。 太坑爹了,這不是要命么? 聰明的測試同事們又想偷懶了,他們在資料庫端寫了一個數據匹配工具,每次新跑用例就拿正確的(已保存)數據文件自動去比對新產生的文件,自動返回比對結果。兄弟們再也不用每次回歸都一行行打SQL去查數據了,棒極了。 在研發修改BUG之餘,他們自己寫了一套存儲過程,可以實現數據的自動回歸和增量備份,再也不用每次把所有數據擦光從第一個交易日跑起了,棒極了! 說了那麼多,其實就一句話:干一行,愛一行。