軟件測試主要學(xué)哪些軟件啊?
混跡于軟件行業(yè)15年有余,這么長時(shí)間了,一直想寫一篇關(guān)于軟件測試的經(jīng)驗(yàn)分享的文章,但苦于工作原因遲遲未下筆。最近終于有了些閑余時(shí)間,遂決定把自己的心路歷程及所感所想記錄下來,與各位同行共勉。
以我多年的工作經(jīng)驗(yàn)來看,軟件功能測試是基礎(chǔ),未來發(fā)展方向主要有兩方面(技術(shù)專家、測試管理)。
一、技術(shù)專家發(fā)展路線有如下三方面,可供參考:
1.從功能測試到性能測試專家:性能測試專家需要掌握一門編程語言、性能測試工具、系統(tǒng)架構(gòu)、網(wǎng)絡(luò)、數(shù)據(jù)庫、服務(wù)器硬件等知識(shí)。性能測試分為前端性能測試(單用戶操作系統(tǒng)響應(yīng)速度),后臺(tái)性能測試(多用戶并發(fā)場景)。后臺(tái)性能測試包括三個(gè)階段:測試(性能測試場景分析設(shè)計(jì)、腳本編寫或者錄制、測試執(zhí)行)、分析(根據(jù)性能測試目標(biāo)分析測試數(shù)據(jù),找出性能瓶頸)、解決方案(根據(jù)性能瓶頸,給出系統(tǒng)調(diào)優(yōu)解決方案);
2.從功能測試到自動(dòng)化測試專家:自動(dòng)化測試專家可以向自動(dòng)化測試工具、框架開發(fā)方向發(fā)展,即測試開發(fā)工程師。自動(dòng)化測試工程師需要掌握一門腳本語言(如,Python),掌握一些測試工具(如,webdriver、testng、appium等),web前端知識(shí)(html、jquery、css等);
3.從功能測試到安全測試專家:安全測試對測試人員要求更高,要想在這條路上走的更遠(yuǎn),建議是從事過開發(fā)、或者是對計(jì)算機(jī)、信息安全非常有興趣的人去深入研究這方面的技能、知識(shí)。普通測試人員只能做比較簡單的安全測試,無法深入;
二、測試管理方面發(fā)展,需要具備以下知識(shí),僅供參考:
1.對軟件測試流程流程、質(zhì)量管理過程、項(xiàng)目管理要非常熟悉;
2.對功能測試、用例設(shè)計(jì)、專項(xiàng)測試技術(shù)有要了解(即使走上管理崗位也需要這些知識(shí),不然無法服眾);
3.良好的溝通能力、人際關(guān)系處理能力、有責(zé)任心、能抗壓;
4.懂得如何管理團(tuán)隊(duì),如何提升團(tuán)隊(duì)的能力,如何激發(fā)團(tuán)隊(duì)成員的工作熱情等
三、軟件測試工程師必備基礎(chǔ)技能匯總
上面我總結(jié)了下軟件測試的兩大塊發(fā)展方向,下面再來說一下成為一名合格的軟件測試工程師需要具備哪些技能?
1、最佳隱形技能
★★開發(fā)語言知識(shí)背景
對被測試對象使用的語言有一定的了解,這樣有助于測試工作的開展
計(jì)算機(jī)語言都具有一定的共通性,只要你深刻了解了一門語言,其他語言也不是難事
★★★數(shù)據(jù)庫的熟悉使用
能夠自行編寫大部分的SQL語句來輔助測試(SELECT,DELETE,UPDATE),對于存儲(chǔ)過程可也多了解,在無程序輔助的情況下,它是制作數(shù)據(jù)的最好幫手
主要在日常測試工作中,提取數(shù)據(jù)庫中的數(shù)據(jù)驗(yàn)以證測試結(jié)果的有效性、制作測試數(shù)據(jù)、批量修改測試數(shù)據(jù)等
★★★被測試對象業(yè)務(wù)的熟悉度
對于被測試對象業(yè)務(wù)流程的了解越多、越深入越有利于測試工作的開展
2、測試?yán)碚?/p>
★★軟件測試的基本概念,及軟件測試存在的理由
不需要死記硬背,但能知道軟件測試是做什么
★★★★軟件測試的整體流程
能詳細(xì)說出軟件工程中完整的軟件測試生命周期,及一些軟件測試模型(雙V,V模型)
★★★軟件工程中軟件生命周期
軟件工程中軟件生命周期的主要過程,以及軟件測試在生命周期中的階段及作用
★★★★★測試用例設(shè)計(jì)的幾大基本方法
做到對于件測試中經(jīng)常使用的測試用例設(shè)計(jì)方法能脫口而口,同時(shí)結(jié)合實(shí)際工作中的例子進(jìn)行描述、解釋
★★★★★軟件測試的幾大類型能
根據(jù)實(shí)際項(xiàng)目,很快地說出某個(gè)被測試對象需要測試哪些類型
★★★★★缺陷管理策略
缺陷的完整生命周期,有可能出現(xiàn)的一些其他環(huán)節(jié)
一個(gè)缺陷需要包含的內(nèi)容,不可重現(xiàn)缺陷、缺陷不被認(rèn)可等問題出現(xiàn)時(shí)的處理策略
★★★★★白盒測試(僅針對白盒測試)
★★★★★對代碼有足夠的駕馭能力
★★★★★熟悉各種白盒測試用例設(shè)計(jì)方法,了解各個(gè)方法的優(yōu)劣,根據(jù)業(yè)務(wù)需求熟悉的使用最恰當(dāng)?shù)姆椒ㄟM(jìn)行測試用例設(shè)計(jì)
3、測試工具的使用
★★★★★缺陷管理工具
Jira、Mantis、Bugfree、QC(TD)
JIra、Mantis、Bugfree都為開源軟件
缺陷工具的基本使用本身簡單,對于未使用過的缺陷工具,也要能快速的上手使用
★★需求管理工具
Rational RequisitePro
Cloudtopo Topo
需求管理工具,一般用于大中型項(xiàng)目的需求管理
★★自動(dòng)化工具
★★自動(dòng)化測試基本流程
能清楚的說出自動(dòng)化測試的基本流程,及自動(dòng)化工具的基本原理
★★自動(dòng)化測試工具
QuickTest Pro(QTP) from HP
QTP為目前市場上很成熟的一款產(chǎn)品,以其強(qiáng)大的功能而占有主要的市場份額,但因價(jià)格昂貴,不少公司無法接受
SELENIUM、WATIR 開源自動(dòng)化測試工具
對于QTP昂貴的價(jià)格且不開源,開源的自動(dòng)化工具可謂備受青睞
★★自動(dòng)化測試腳本設(shè)計(jì)
說自動(dòng)化測試,其實(shí)主要的重點(diǎn)在測試腳本的設(shè)計(jì)
設(shè)計(jì)腳本需要有一定的語言功底,如QTP默認(rèn)使用的是VBS腳本,如果你對VBS熟悉,那么這款工具你可以算掌握了1/3
★自動(dòng)化測試框架了解、設(shè)計(jì)
測試框架就像大廈的基石,后續(xù)的擴(kuò)展、豐富都要以此為基礎(chǔ),自然作為自動(dòng)化測試的難點(diǎn)
剛接觸自動(dòng)化測試的同學(xué)可多了解
★★性能測試工具
LoadRunner(LR) from HP
QA Load、WebRunner
★★性能測試原理及流程
★★性能測試腳本錄制、調(diào)優(yōu)
性能測試的重點(diǎn)工作之一錄制、調(diào)優(yōu)腳本
需要有一定的語言功底,如LR默認(rèn)使用的是C語言,有C語言功底的同學(xué)學(xué)起來自然是有百利而無一害
★★性能測試場景設(shè)計(jì)
性能測試的又一個(gè)重點(diǎn)場景的設(shè)計(jì)
場景的設(shè)計(jì)是否正確、合理,直接關(guān)系到最后性能測試結(jié)果的有效性
★★性能測試結(jié)果分析、性能分析(重點(diǎn))
性能測試中的重中之重,也是性能測試的目的
通過性能測試結(jié)果數(shù)據(jù),分析被測試對象中存在的問題,對被測試對象做出相應(yīng)的調(diào)優(yōu)后重新測試,直到被測試對象的性能參數(shù)達(dá)到要求。
4、計(jì)算機(jī)知識(shí)
★★★★★了解并能使用常見操作系統(tǒng)
Windows系列、Mac系列、Linux系列
★★TCP/IP協(xié)議
知道TCP/IP協(xié)議的內(nèi)容,以及對應(yīng)層的功能
★★★★常用快捷指令的使用
在日常工作中能很快的使用運(yùn)行中的快捷動(dòng)作,如notepad,mspaint,ipconfig,regedit等
熟練計(jì)算機(jī)中各種鍵盤操作(鍵盤操作的效率至少是鼠標(biāo)的3倍)
四、總結(jié)
以上就是我的一些經(jīng)驗(yàn)之談,對于在軟件測試中依然找不到方向的朋友,個(gè)人建議如下:
1.對技術(shù)有高度熱情、喜歡學(xué)習(xí)新知識(shí)的人,選擇一個(gè)專項(xiàng)測試領(lǐng)域,不斷積累,最后走測試專家路線;
2.善于溝通、有想法、思路清晰,內(nèi)心不甘平庸的人,可以往測試管理方向發(fā)展。
發(fā)展方向想清楚了,就需要用行動(dòng)去積累其崗位所需的知識(shí)、技能,機(jī)會(huì)總是留給有準(zhǔn)備的人。