軟件測試工程師目前正在成為IT行業(yè)中的一個新亮點(diǎn),因其從業(yè)人員薪水高、人員需求增加快而廣受關(guān)注,該行業(yè)未來良好的發(fā)展前景也受到肯定。據(jù)國家權(quán)威部門統(tǒng)計,中國軟件人才缺口中30%為軟件測試人才。
軟件產(chǎn)業(yè)是國家鼓勵發(fā)展的朝陽產(chǎn)業(yè),軟件產(chǎn)業(yè)要發(fā)展,提高軟件質(zhì)量勢所必然,這樣就產(chǎn)生了對軟件測試工程師的大量需求。在IT業(yè)處于發(fā)展的初級階段時,由于大多數(shù)軟件比較簡單,測試工作也不復(fù)雜,往往是軟件開發(fā)企業(yè)在開發(fā)完成后進(jìn)行一下簡單的檢測就可以了。但在IT業(yè)發(fā)展到一個高級階段后,系統(tǒng)越來越精密,軟件也越來越復(fù)雜,影響的范圍也不斷擴(kuò)大。因此,該階段開發(fā)的軟件必須進(jìn)行十分嚴(yán)格的測試。否則,不僅會引發(fā)企業(yè)銷售收入下降和運(yùn)營成本的增加,甚至?xí)屍髽I(yè)承擔(dān)法律責(zé)任。尤其是金融、電信、銀行等系統(tǒng)趨于全國集中,風(fēng)險波及面大,業(yè)務(wù)影響廣泛的行業(yè),其產(chǎn)生的后果更是不堪設(shè)想。
為什么要寫這本書
自己學(xué)習(xí)很好,為什么找不到好的工作?為什么我精心準(zhǔn)備了面試,又屢屢失?為什么我天天熬夜學(xué)習(xí),還是沒有成效,依然找不到喜歡的工作?很多五花八門的各種疑問,筆者經(jīng)過深入了解后發(fā)現(xiàn),大部分是“紙上談兵”式的學(xué)習(xí)與不善于總結(jié)、不善于分析問題所造成的。本書總結(jié)了軟件測試技術(shù)的核心知識與企業(yè)面試真題,以及面試技巧,對于求職者是一本寶典。
本書特色
本書根據(jù)軟件測試工程師所應(yīng)具備的職業(yè)素質(zhì)與企業(yè)面試真題展開。
專業(yè)技能
計算機(jī)領(lǐng)域的專業(yè)技能是測試工程師必備的一項素質(zhì),是做好測試工作的前提條件。盡管沒有任何IT背景的人也可以從事測試工作,但是要想成為一名獲得更大發(fā)展空間或者持久競爭力的測試工程師,計算機(jī)專業(yè)技能是必不可少的。
專業(yè)技能主要包含3個方面: 測試專業(yè)技能,軟件編程技能,操作系統(tǒng)、數(shù)據(jù)庫、自動化測試、手機(jī)測試、性能測試、常用工具的使用。
行業(yè)知識
行業(yè)主要指測試人員所在企業(yè)涉及的行業(yè)領(lǐng)域,大部分IT企業(yè)從事銀行、互聯(lián)網(wǎng)、電子商務(wù)等行業(yè)領(lǐng)域的產(chǎn)品測試。行業(yè)知識即業(yè)務(wù)知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解產(chǎn)品的業(yè)務(wù)流程,才可以判斷出開發(fā)人員實現(xiàn)的產(chǎn)品功能是否正確。行業(yè)知識與工作經(jīng)驗有一定關(guān)系,需要通過時間進(jìn)行積累。一個優(yōu)秀的軟件測試工程師除了具備“專業(yè)技能、行業(yè)知識”外,還必須具備相應(yīng)的交流技巧、組織技能、實踐技能和態(tài)度(除了技術(shù)水平,需要理解和采取適當(dāng)?shù)膽B(tài)度去做軟件測試)。
個人素養(yǎng)
一名優(yōu)秀的測試工程師,首先要對測試工作有興趣。測試工作很多時候顯得有些枯燥,因此熱愛測試工作,才更容易做好測試工作。除了具有前面的專業(yè)技能和行業(yè)知識外,測試人員應(yīng)該具有一些基本的個人素養(yǎng),即下面的“五心”。
專心: 測試人員在執(zhí)行測試任務(wù)的時候要專心,不可一心二用。經(jīng)驗表明,高度集中精神不但能夠提高效率,還能發(fā)現(xiàn)更多的軟件缺陷,業(yè)績最棒的往往是團(tuán)隊中做事精力最集中的那些成員。
細(xì)心: 執(zhí)行測試工作時要細(xì)心,認(rèn)真執(zhí)行測試,不可以忽略一些細(xì)節(jié)。某些缺陷如果不細(xì)心很難發(fā)現(xiàn),例如一些界面的樣式、文字等。
耐心: 很多測試工作有時候顯得非常枯燥,需要很大的耐心才可以做好。如果比較浮躁,就不能做到“專心”和“細(xì)心”,這將讓很多軟件缺陷從你眼前逃過。
責(zé)任心: 責(zé)任心是做好工作必備的素質(zhì)之一,測試工程師更應(yīng)該將其發(fā)揚(yáng)光大。如果測試中沒有盡到責(zé)任,甚至敷衍了事,把測試工作“交給”用戶來完成,很可能造成非常嚴(yán)重的后果。
自信心: 自信心是現(xiàn)在多數(shù)測試工程師缺少的一項素質(zhì),尤其在面對需要編寫測試代碼等工作的時候,往往認(rèn)為自己做不到。要想獲得更好的職業(yè)發(fā)展,測試工程師們應(yīng)該努力學(xué)習(xí),建立“能解決一切測試問題”的信心。
“五心”只是做好測試工作的基本要求,測試人員應(yīng)該具有的素質(zhì)還很多,例如測試人員不但要具有團(tuán)隊合作精神,而且應(yīng)該學(xué)會寬容待人,學(xué)會去理解開發(fā)人員,同時也要尊重開發(fā)人員的勞動成果——開發(fā)出來的產(chǎn)品。軟件測試工程師作為軟件質(zhì)量的把關(guān)者,其職能在于保證交付到客戶手中的軟件可靠好用,運(yùn)行暢通無阻。從產(chǎn)品定義到產(chǎn)品開發(fā)再到產(chǎn)品維護(hù),都離不開軟件測試。由于軟件測試的重要性是近兩年才被充分認(rèn)識到的,很多高校教育和企業(yè)培養(yǎng)還沒有跟上,致使軟件測試人才嚴(yán)重供不應(yīng)求,出現(xiàn)跑步上崗、快速提升的狀態(tài),薪資也逐步走高。
本書由筆者與于晶教育講師團(tuán)隊合力編著,傾注了編者的努力。由于筆者水平有限,書中難免存在疏漏,敬請讀者批評指正。
于晶張丹
2020年3月
第1章Linux系統(tǒng)核心技術(shù)
1.1常用命令
1.2在軟件測試中的應(yīng)用
第2章MySQL核心技術(shù)
2.1面試常問技術(shù)
2.2在軟件測試中的應(yīng)用
2.3MySQL在企業(yè)中的應(yīng)用
第3章軟件測試核心理論
3.1軟件測試周期
3.2軟件測試方法
3.3功能測試流程
3.4性能測試流程
3.5測試計劃內(nèi)容
3.6測試報告內(nèi)容
3.7測試用例設(shè)計
3.8接口測試流程
3.9軟件需求分析
3.10軟件測試的重要理論
第4章常用工具企業(yè)案例
4.1Fiddler工具的用途與企業(yè)應(yīng)用案例
4.1.1HTTPS在企業(yè)中的應(yīng)用
4.1.2編碼工具使用
4.1.3查找過濾
4.1.4會話過濾
4.1.5模塊
4.1.6Hosts主機(jī)
4.1.7Client Process
4.1.8Request Headers
4.1.9Breakpoints
4.1.10Response Status Code
4.1.11Response Type and Size
4.1.12Response Headers
4.1.13自定義請求
4.1.14模擬GET請求
4.1.15模擬POST請求
4.1.16模擬弱網(wǎng)
4.1.17重復(fù)請求
4.1.18手機(jī)抓包
4.1.19配置 HOST
4.2Charles工具的用途
4.2.1過濾網(wǎng)絡(luò)請求
4.2.2模擬慢速網(wǎng)絡(luò)
4.2.3截取移動設(shè)備中的HTTPS通信信息
4.2.4修改服務(wù)器返回內(nèi)容
4.2.5Map功能
4.2.6給服務(wù)器做壓力測試
4.2.7截取HTTPS通信信息
4.2.8Rewrite功能
4.3Wireshark工具的用途與企業(yè)案例
4.3.1抓取報文
4.3.2色彩標(biāo)識
4.3.3報文樣本
4.3.4過濾報文
4.3.5檢查報文
4.3.6TCP連接
4.3.7HTTP協(xié)議
4.3.8IO Graphs
4.43個抓包工具的優(yōu)缺點(diǎn)對比
4.5禪道工具的用途與企業(yè)應(yīng)用
4.5.1禪道基本使用流程
4.5.2設(shè)置部門結(jié)構(gòu)
4.5.3添加用戶
4.5.4權(quán)限
4.5.5產(chǎn)品管理
4.5.6Bug管理
4.5.7用例管理
第5章接口自動化核心技術(shù)
5.1JMeter工具的作用
5.2JMeter工具在企業(yè)中的應(yīng)用
5.3利用JMeter測試接口
5.4接口測試中如何分析定位Bug
5.5Postman基礎(chǔ)使用
第6章性能測試核心技術(shù)
6.1LoadRunner工具的用途
6.2LoadRunner使用流程
6.3LoadRunner與JMeter的區(qū)別
6.4性能測試的企業(yè)案例
6.5常用LR函數(shù)
第7章手機(jī)測試核心技術(shù)
7.1adb工具的用途與常用命令
7.2monkey工具的用途與企業(yè)應(yīng)用
7.3ADM(Android Device Monitor) DDMS工具的用途與企業(yè)應(yīng)用
7.4AndroidStudio監(jiān)控工具
7.5騰訊GT工具的用途與企業(yè)應(yīng)用
第8章Java面試題
第9章Selenium 面試題
第10章各大行業(yè)的企業(yè)面試真題
10.1騰訊
10.2網(wǎng)易
10.3搜狗
10.4易趣網(wǎng)
10.5今日頭條
10.6擇居網(wǎng)
10.7軟通動力
10.8悠活科技
10.9格瓦拉
10.10博彥科技
10.11火山
10.12百度
10.13其他互聯(lián)網(wǎng)公司面試題
10.14銀行面試題
10.15黃金錢包
第11章面試技巧與非技術(shù)面試題
11.1面試技巧
11.2非技術(shù)面試題