理論上講,做軟件測(cè)試的要求有什么就要懂什么,不是什么人都可以做的。但實(shí)際上測(cè)試工程師是有初、中、高三級(jí)之分的。而初級(jí)工程師所需要的知識(shí)不多,一般只需要學(xué)過簡(jiǎn)單的理論即可。中、高級(jí)相信需要一段過渡時(shí)期的,它們都必須以工具為主。
至于教材,可以說所有的計(jì)算機(jī)教材都是其中的一部分,就差你是什么方向的測(cè)試工作。一般來說,開始的時(shí)候,你只需要一本《軟件測(cè)試?yán)碚摗啡腴T即可。有空可以看看《測(cè)試的藝術(shù)》一書(得益網(wǎng)有得下載)。
什么數(shù)據(jù)庫\開發(fā)語言,這些與軟件測(cè)試都是什么關(guān)系???
至于這個(gè)問題,首先要說明,軟件測(cè)試一般可分為:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試。單元測(cè)試一方面是直接對(duì)代碼進(jìn)行直讀,所以它要求必需懂得開發(fā)語言,另一方面它要寫驅(qū)動(dòng)和樁,所以也要懂開發(fā)語言。(一般單元測(cè)試都是要開發(fā)人員扶助的)。而數(shù)據(jù)庫,簡(jiǎn)單來說每當(dāng)我們要驗(yàn)證一條記錄的所有信息是否完整,都需要進(jìn)入數(shù)據(jù)庫中查看,查看是否有漏某個(gè)字段;而從更高層次來講,它涉及到系統(tǒng)性能調(diào)優(yōu)問題。
軟件測(cè)試基礎(chǔ)學(xué)習(xí)需要掌握哪些內(nèi)容?首先,要有寬泛的計(jì)算機(jī)基礎(chǔ)知識(shí)。微機(jī)原理,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫,操作系統(tǒng)原理,編譯原理,邏輯,編程語言,網(wǎng)絡(luò),等等,都要系統(tǒng)地學(xué)習(xí)過。都精通不大可能,因?yàn)槿说呐d趣都不相同,但是這些功課的基本知識(shí)點(diǎn)是應(yīng)當(dāng)了解的。
我們?cè)谡劦铰殬I(yè)的類別的時(shí)候,我們可以說C程序員,C#程序員,Java程序員,而沒有C測(cè)試員,C#測(cè)試員,Java測(cè)試員,程序員可以只擅長(zhǎng)某一門編程語言,測(cè)試員卻不行。為什么呢?
測(cè)試員是代表用戶的,在做測(cè)試的時(shí)候,他(她)需要考慮到方方面面的事情。例如對(duì)于一個(gè)用C寫的上網(wǎng)撥號(hào)程序,測(cè)試員需要考慮:
(1) 程序的功能是否正確;(要求計(jì)算機(jī)知識(shí))
(2) 是否符合用戶的使用習(xí)慣;(要求界面設(shè)計(jì)知識(shí)和換位思考能力)
(3) 性能是否滿足要求,例如長(zhǎng)時(shí)間使用;穩(wěn)定性;(要求深入的計(jì)算機(jī)知識(shí))
(4) 是否能夠滿足用戶可能的不同操作系統(tǒng)的要求;(要求計(jì)算機(jī)知識(shí))
(5) 如果在全球發(fā)布,是否滿足不同語言和文化的需求;(要求軟件國(guó)際化測(cè)試知識(shí))
(6) 如何搭建測(cè)試環(huán)境;(動(dòng)手能力,硬件知識(shí))
(7) 做代碼檢查;(比較深入的C語言知識(shí))
(8) …
所以,各方面都了解一點(diǎn),你在做測(cè)試的過程當(dāng)中你會(huì)感覺順手得多。如果某寫方面還差一些,沒有關(guān)系,計(jì)算機(jī)行業(yè)的特點(diǎn)就是邊做邊學(xué),只要是個(gè)有心人,學(xué)習(xí)是很快的。
其次,要掌握一門編程語言。原因很簡(jiǎn)單:一行代碼不會(huì),你始終是門外漢。
具備計(jì)算機(jī)操作基礎(chǔ):這點(diǎn)對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生沒有什么大問題的,會(huì)使用電腦操作、會(huì)簡(jiǎn)單Office軟件。
如果不會(huì)呢,可以自己在網(wǎng)上找資料自學(xué),很簡(jiǎn)單。具備軟件測(cè)試基礎(chǔ)知識(shí):軟件測(cè)試基礎(chǔ)理論知識(shí)。
實(shí)踐需要理論知識(shí)指導(dǎo)。我們可以從相關(guān)書籍或者網(wǎng)上找到軟件測(cè)試基礎(chǔ)理論知識(shí),具有詳細(xì)的理論解釋。
具備一定的數(shù)據(jù)庫操作技術(shù):對(duì)于常用的數(shù)據(jù)庫,簡(jiǎn)單的操作要具備。學(xué)習(xí)數(shù)據(jù)庫可以自己安裝一個(gè)數(shù)據(jù)庫,常練習(xí)。
具備一定的邏輯推理能力:這點(diǎn)主要偏向于寫測(cè)試用例。測(cè)試用例是軟件測(cè)試的核心。
寫測(cè)試用例,可以參考網(wǎng)絡(luò)一些比較經(jīng)典的例子,模仿寫。寫多了經(jīng)驗(yàn)就有了。
掌握軟件測(cè)試缺陷管理工具:QC、Mantis、JIAR等。軟件測(cè)試離不開缺陷管理。
軟件測(cè)試缺陷管理工具有效管理缺陷、提高軟件質(zhì)量。這方面的知識(shí)建議從網(wǎng)絡(luò)或者書籍途徑學(xué)習(xí)。
掌握軟件測(cè)試工具:Loadrunner、ruby、QTP等,學(xué)習(xí)測(cè)試工具提高測(cè)試效率,這也有助于你測(cè)試職業(yè)生涯的規(guī)劃。學(xué)會(huì)一門開發(fā)腳本語言:學(xué)會(huì)開發(fā)腳本語言有助于學(xué)習(xí)軟件測(cè)試工具。
根據(jù)自己的興趣和基礎(chǔ)選擇學(xué)習(xí)。
需要以下材料
1、軟件測(cè)試基礎(chǔ)知識(shí):
測(cè)試計(jì)劃編寫、設(shè)計(jì)測(cè)試用例、編寫測(cè)試報(bào)告、編寫B(tài)UG報(bào)告單、跟蹤BUG修復(fù)情況、還需要良好的溝通能力、以及各種測(cè)試階段所使用的測(cè)試方法、單元測(cè)試、功能測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等等、CMMI /ISO9001
2、各種測(cè)試工具的使用:
我們?cè)跍y(cè)試的工作中為了能夠提高工作效率進(jìn)程會(huì)用到很多工具、QTP、LR、QC、TD、Bugfree、VSS、SVN等等工具、雖然說工具不是萬能的但是工具能為我們提高工作效率所以不能吧工具當(dāng)神一樣看待、但是必須得會(huì)熟練的使用
3、操作系統(tǒng)相關(guān)知識(shí):
Windows、linux、uinx這些都必須會(huì)使用、而且不僅僅是簡(jiǎn)單的操作、一般的服務(wù)管理、注冊(cè)表編輯、命令行操作都需要會(huì)、可以想象下一個(gè)連apache服務(wù)都不會(huì)安裝配置的人、誰能想象你可以做好基于apache環(huán)境的測(cè)試工作、什么?不知道怎么查看磁盤壓力、IO數(shù)據(jù)。windows linux都有提供自帶的工具可用于查看這些數(shù)據(jù)、perfmon、top什么的。
4、數(shù)據(jù)庫知識(shí):
現(xiàn)在Oracle的DBA待遇比一般的開發(fā)人員待遇還高就知道數(shù)據(jù)庫在企業(yè)中的重要性了、作為測(cè)試人員雖然不需要有DBA的能力、但是基本的數(shù)據(jù)庫操作你必須得會(huì)把、不管是Oracle、DB2、MSsql還是mysql最少都應(yīng)該能熟悉使用其中的一二。
5、計(jì)算機(jī)硬件知識(shí):
做過性能測(cè)試的朋友都知道在性能測(cè)試過程中硬件性能也是一個(gè)非常重要的指標(biāo)、CPU、內(nèi)存、IO、帶寬等等、如果你是做硬件測(cè)試的。那么就更不用說了。交換機(jī)、路由器、防火墻這些設(shè)備都需要有所了解。
6、網(wǎng)絡(luò)協(xié)議:
如果你還知道TCP和UDP有什么不一樣的話請(qǐng)趕快去補(bǔ)充點(diǎn)知識(shí)吧、互聯(lián)網(wǎng)時(shí)代、一切都通過網(wǎng)絡(luò)傳輸、常用協(xié)議必須得了解、曾經(jīng)面試了一個(gè)測(cè)試工程師做了2年的測(cè)試居然不知道自己測(cè)試軟件使用什么協(xié)議、這樣的人是你的話你敢招么?
7、開發(fā)語言即代碼編寫能力:
雖然不會(huì)寫代碼也能做測(cè)試、但是如果你想做到高級(jí)測(cè)試工程師以上、那么代碼編寫能力就是必選項(xiàng)、如果不會(huì)寫代碼、那么你不可能成為高級(jí)測(cè)試。高級(jí)測(cè)試工程師的一部分工作就是在寫測(cè)試工具。雖然測(cè)試也需要寫代碼但不需要和開發(fā)一樣那么精通某一門語言、可是測(cè)試卻需要了解很多門開發(fā)語言(舉一個(gè)簡(jiǎn)單的例子:你現(xiàn)在所在的項(xiàng)目從C++語言、2年后你換工作了、新公司的開發(fā)語言是java或者是VB什么的)所以在開發(fā)語言中測(cè)試需要更廣的學(xué)習(xí)。
8、行業(yè)知識(shí):
行業(yè)知識(shí)之所以寫在最后面是因?yàn)榍懊娴?條我們都可以通過學(xué)習(xí)來掌握、但是唯獨(dú)行業(yè)知識(shí)卻只能通過工作經(jīng)驗(yàn)來積累、不要說你去看幾本書就知道通信行業(yè)、醫(yī)療行業(yè)、或者是航天行業(yè)、你認(rèn)為在書本上面能學(xué)到么?
由于行業(yè)知識(shí)的特殊性所以建議朋友們不要頻繁的跳槽、經(jīng)驗(yàn)的積累是需要時(shí)間來沉淀的。
9、具有一定的美學(xué)觀:
這個(gè)說起來比較拗口一點(diǎn)、簡(jiǎn)單來說不管是開發(fā)活動(dòng)還是測(cè)試活動(dòng)、最后的目標(biāo)就是將產(chǎn)品推向市場(chǎng)、而且得到用戶的認(rèn)可。所以如果產(chǎn)品在需求分析階段就出現(xiàn)了偏離用戶航道、那么就算測(cè)試 開發(fā)做得再好這個(gè)項(xiàng)目也是一樣會(huì)失敗。所以各位如果有幸能夠參加需求評(píng)審的話、請(qǐng)不要吝嗇你的言論。
10、請(qǐng)不要忘記時(shí)刻學(xué)習(xí)著:
這點(diǎn)我相信大家應(yīng)該都能理解所以不用寫什么:僅此一點(diǎn)“不學(xué)習(xí)就會(huì)落后”
總結(jié):說了那么多技能或者是說是需要掌握的技術(shù)、如果你沒有一顆發(fā)現(xiàn)缺陷之美的心態(tài)、沒有一顆以提高質(zhì)量為前提來投入工作中、那么就算你其他做得再好也不過是萬千軟件測(cè)試從業(yè)人員中的一枚。測(cè)試活動(dòng)大部分用于發(fā)現(xiàn)缺陷、而發(fā)現(xiàn)缺陷之后的工作尤為重要:怎么樣從發(fā)現(xiàn)缺陷到提高質(zhì)量。
1. 具備計(jì)算機(jī)操作基礎(chǔ):這點(diǎn)對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生沒有什么大問題的,會(huì)使用電腦操作、會(huì)簡(jiǎn)單Office軟件。如果不會(huì)呢,可以自己在網(wǎng)上找資料自學(xué),很簡(jiǎn)單。
2. 具備軟件測(cè)試基礎(chǔ)知識(shí):軟件測(cè)試基礎(chǔ)理論知識(shí)。實(shí)踐需要理論知識(shí)指導(dǎo)。我們可以從相關(guān)書籍或者網(wǎng)上找到軟件測(cè)試基礎(chǔ)理論知識(shí),具有詳細(xì)的理論解釋。
3. 具備一定的數(shù)據(jù)庫操作技術(shù):對(duì)于常用的數(shù)據(jù)庫,簡(jiǎn)單的操作要具備。學(xué)習(xí)數(shù)據(jù)庫可以自己安裝一個(gè)數(shù)據(jù)庫,常練習(xí)。
4. 具備一定的邏輯推理能力:這點(diǎn)主要偏向于寫測(cè)試用例。測(cè)試用例是軟件測(cè)試的核心。寫測(cè)試用例,可以參考網(wǎng)絡(luò)一些比較經(jīng)典的例子,模仿寫。寫多了經(jīng)驗(yàn)就有了。
5. 掌握軟件測(cè)試缺陷管理工具:QC、Mantis、JIAR等。軟件測(cè)試離不開缺陷管理。軟件測(cè)試缺陷管理工具有效管理缺陷、提高軟件質(zhì)量。這方面的知識(shí)建議從網(wǎng)絡(luò)或者書籍途徑學(xué)習(xí)。
6. 掌握軟件測(cè)試工具:Loadrunner、ruby、QTP等,學(xué)習(xí)測(cè)試工具提高測(cè)試效率,這也有助于你測(cè)試職業(yè)生涯的規(guī)劃。
7. 學(xué)會(huì)一門開發(fā)腳本語言:學(xué)會(huì)開發(fā)腳本語言有助于學(xué)習(xí)軟件測(cè)試工具。根據(jù)自己的興趣和基礎(chǔ)選擇學(xué)習(xí)。
首先需要了解的就是計(jì)算機(jī)系統(tǒng)組成介紹,包括計(jì)算機(jī)系統(tǒng)的組成、計(jì)算機(jī)系統(tǒng)抽象層次結(jié)構(gòu)、軟件的定義、軟件的基本分類。
要熟悉操作系統(tǒng)的定義和主要功能,常用的操作系統(tǒng)。還要熟悉進(jìn)制轉(zhuǎn)換,包括數(shù)制、十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制以及它們之間的轉(zhuǎn)換。
熟悉邏輯代數(shù)的定義、基本邏輯關(guān)系與運(yùn)算、邏輯變量。掌握計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ),包括認(rèn)識(shí)網(wǎng)絡(luò)、網(wǎng)絡(luò)協(xié)議、分層思想、常見的網(wǎng)絡(luò)分層模型、各層對(duì)應(yīng)功能和協(xié)議。
其次要掌握軟件的生命周期,熟悉軟件開發(fā)過程模型,包括瀑布模型,快速原型模型、螺旋模型。掌握軟件測(cè)試過程模型,包括V模型、W模型。
為接下來軟件測(cè)試系統(tǒng)化的學(xué)習(xí)打好基礎(chǔ)。還要掌握軟件測(cè)試的定義,熟悉軟件測(cè)試的目的、軟件測(cè)試的意義,掌握軟件測(cè)試工作流程和實(shí)際軟件工作流程。
通過對(duì)軟件測(cè)試概論的學(xué)習(xí),對(duì)軟件測(cè)試工作流程做到熟悉,培養(yǎng)未來測(cè)試工作中的良好習(xí)慣。另外還需要掌握軟件缺陷定義,熟悉缺陷產(chǎn)生的原因和軟件缺陷第二定義,掌握缺陷報(bào)告編寫。
通過對(duì)軟件缺陷相關(guān)知識(shí)的學(xué)習(xí),學(xué)會(huì)日常工作中缺陷報(bào)告的提交,明確bug的嚴(yán)重程度及優(yōu)先級(jí)。更多科普就在IT優(yōu)就業(yè)。
軟件測(cè)試是一門新興行業(yè),平均薪酬不錯(cuò),而且入門簡(jiǎn)單。需要掌握一定的開發(fā)語言基礎(chǔ),相關(guān)網(wǎng)絡(luò)和數(shù)據(jù)庫的基礎(chǔ)知識(shí),以及主要的軟件測(cè)試?yán)碚??;A(chǔ)學(xué)習(xí)的話有人引導(dǎo)就會(huì)相當(dāng)簡(jiǎn)單,因此建議最好找一個(gè)做測(cè)試工作的朋友指導(dǎo)學(xué)習(xí)效率最高。如果是完全自學(xué),建議安排好時(shí)間,幾方面知識(shí)學(xué)習(xí)同時(shí)開始:
1.軟件測(cè)試基礎(chǔ)理論和方法。這塊的東西學(xué)起來其實(shí)不多,重要的是實(shí)際的應(yīng)用。主要掌握黑白盒測(cè)試、測(cè)試策略、測(cè)試方法、測(cè)試設(shè)計(jì)、測(cè)試報(bào)告等相關(guān)理論。在網(wǎng)上或書店隨便找一份軟件測(cè)試學(xué)習(xí)的書籍都?jí)蛴昧恕?/p>
2.網(wǎng)絡(luò)和數(shù)據(jù)庫基礎(chǔ)知識(shí)。現(xiàn)在的軟件基本都離不開網(wǎng)絡(luò)和數(shù)據(jù)庫應(yīng)用。所以這兩塊的基礎(chǔ)知識(shí)也是必須掌握的。不需要太深,網(wǎng)絡(luò)知道互聯(lián)網(wǎng)發(fā)展,現(xiàn)代網(wǎng)絡(luò)架構(gòu),IP分配知識(shí),網(wǎng)絡(luò)七層協(xié)議等,數(shù)據(jù)庫要會(huì)基本的增刪改查語句操作。這個(gè)在網(wǎng)上找一些資料和練習(xí)題做一做就可以了。
3.開發(fā)語言基礎(chǔ)。這個(gè)很重要。測(cè)試要深入發(fā)展,掌握至少一門開發(fā)語言是很必要的。實(shí)際測(cè)試的技能需求是大于開發(fā)的,除了常用開發(fā)語言,最好是能掌握一門腳本語言,作為測(cè)試自動(dòng)化能力拓展的基礎(chǔ)。這是通向高級(jí)測(cè)試的必備技能。這塊需要投入很大,但不需要在工作初期要求太高,可以再工作中不斷提升。自己選定一門開發(fā)語言和腳本語言,持續(xù)學(xué)習(xí)即可。
1)熟悉計(jì)算機(jī)基礎(chǔ)知識(shí);
(2)熟悉操作系統(tǒng)、數(shù)據(jù)庫、中間件、程序設(shè)計(jì)語言基礎(chǔ)知識(shí);
(3)熟悉計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識(shí);
(4)熟悉軟件工程知識(shí),理解軟件開發(fā)方法及過程;
(5)熟悉軟件質(zhì)量及軟件質(zhì)量管理基礎(chǔ)知識(shí);
(6)熟悉軟件測(cè)試標(biāo)準(zhǔn);
(7)掌握軟件測(cè)試技術(shù)及方法;
(8)掌握軟件測(cè)試項(xiàng)目管理知識(shí);
(9)掌握C語言以及C++或Java語言程序設(shè)計(jì)技術(shù);
(10)了解信息化及信息安全基礎(chǔ)知識(shí);
(11)熟悉知識(shí)產(chǎn)權(quán)相關(guān)法律、法規(guī);
(12)正確閱讀并理解相關(guān)領(lǐng)域的英文資料。
通過本考試的合格人員能在掌握軟件工程與軟件測(cè)試知識(shí)的基礎(chǔ)上,運(yùn)用軟件測(cè)試管理方法、軟件測(cè)試策略、軟件測(cè)試技術(shù),獨(dú)立承擔(dān)軟件測(cè)試項(xiàng)目;具有工程師的實(shí)際工作能力和業(yè)務(wù)水平。
軟件測(cè)試是一個(gè)入門簡(jiǎn)單、但深入難的工作
入門的時(shí)候只要會(huì)看懂中文、理解能力沒問題就可以按照測(cè)試用例來執(zhí)行用例了
進(jìn)一步之后需要會(huì)的知識(shí)會(huì)越來越多
1、操作系統(tǒng)的知識(shí)(什么軟件都是運(yùn)行在操作系統(tǒng)之上的、一般的操作必須要會(huì))
2、數(shù)據(jù)庫知識(shí)(現(xiàn)在還能找到多少不需要數(shù)據(jù)庫的大型軟件捏?)
3、計(jì)算機(jī)網(wǎng)絡(luò)(通信呀通信、千萬不要TCP和UDP都分不清楚)
4、計(jì)算機(jī)硬件(你要是C/S架構(gòu)的測(cè)試或者是做性能測(cè)試、那么計(jì)算機(jī)硬件都是必修課了、總得知道IO是什么IOPS又是啥)
5、各種測(cè)試工具的使用、什么QC/TD/BUGfree/QTP/LR之類的 不需要樣樣精通但是必須要熟練使用
6、軟件測(cè)試基礎(chǔ)知識(shí)(這年頭沒有知識(shí)是萬萬不能的、軟件測(cè)試基礎(chǔ)知識(shí)其實(shí)買幾本書好好看看就能學(xué)個(gè)差不多了)
7、開發(fā)語言(做到高級(jí)軟件測(cè)試的人都是會(huì)寫點(diǎn)小工具的)
8、測(cè)試環(huán)境配置:這個(gè)要說下、我在做配置管理的時(shí)候發(fā)現(xiàn)很多測(cè)試人員居然連自己的測(cè)試環(huán)境都配置不好、一個(gè)連自己的測(cè)試環(huán)境都不會(huì)配置的人會(huì)成為一個(gè)合格的測(cè)試么。(你要測(cè)試web的apache、tomcat、iis之類的得會(huì)配置吧)
PS:希望你不要被我寫的這么多東西嚇到了、這些知識(shí)是在軟件測(cè)試的進(jìn)化過程中慢慢積累起來的、不是所有人都一開始就會(huì)了、你是計(jì)算機(jī)專業(yè)畢業(yè)的。那么計(jì)算機(jī)硬件、網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫什么的都應(yīng)該在學(xué)校的時(shí)候有學(xué)到的、所以應(yīng)該不是問題
最后:祝你好運(yùn)
【IT168 技術(shù)文章】 一、軟件測(cè)試概述 軟件測(cè)試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個(gè)程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。
軟件測(cè)試的目的,第一是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望的事情(Do the right thing),另一方面是確認(rèn)軟件以正確的方式來做了這個(gè)事件(Do it right)。第二是提供信息,比如提供給開發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。
第三軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程。如果一個(gè)軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。
因此軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開發(fā)過程是高質(zhì)量的。 軟件質(zhì)量是由幾個(gè)方面來衡量的:一、在正確的時(shí)間用正確的的方法把一個(gè)工作做正確(Doing the right things right at the right time.)。
二、符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比如不同國(guó)家的用戶不同的操作習(xí)慣和要求,項(xiàng)目工程中的可維護(hù)性、可測(cè)試性等要求。三、質(zhì)量本身就是軟件達(dá)到了最開始所設(shè)定的要求,而代碼的優(yōu)美或精巧的技巧并不代表軟件的高質(zhì)量(Quality is defined as conformance to requirements, not as “goodness” or “elegance”.)。
四、質(zhì)量也代表著它符合客戶的需要(Quality also means “meet customer needs”.)。作為軟件測(cè)試這個(gè)行業(yè),最重要的一件事就是從客戶的需求出發(fā),從客戶的角度去看產(chǎn)品,客戶會(huì)怎么去使用這個(gè)產(chǎn)品,使用過程中會(huì)遇到什么樣的問題。
只有這些問題都解決了,軟件產(chǎn)品的質(zhì)量才可以說是上去了。 測(cè)試人員在軟件開發(fā)過程中的任務(wù): 1、尋找Bug; 2、避免軟件開發(fā)過程中的缺陷; 3、衡量軟件的品質(zhì); 4、關(guān)注用戶的需求。
總的目標(biāo)是:確保軟件的質(zhì)量。二、常用的軟件測(cè)試方法 1.黑盒測(cè)試 黑盒測(cè)試顧名思義就是將被測(cè)系統(tǒng)看成一個(gè)黑盒,從外界取得輸入,然后再輸出。
整個(gè)測(cè)試基于需求文檔,看是否能滿足需求文檔中的所有要求。黑盒測(cè)試要求測(cè)試者在測(cè)試時(shí)不能使用與被測(cè)系統(tǒng)內(nèi)部結(jié)構(gòu)相關(guān)的知識(shí)或經(jīng)驗(yàn),它適用于對(duì)系統(tǒng)的功能進(jìn)行測(cè)試。
黑盒測(cè)試的優(yōu)點(diǎn)有: 1)比較簡(jiǎn)單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn); 2)與軟件的內(nèi)部實(shí)現(xiàn)無關(guān); 3)從用戶角度出發(fā),能很容易的知道用戶會(huì)用到哪些功能,會(huì)遇到哪些問題; 4)基于軟件開發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能; 5)在做軟件自動(dòng)化測(cè)試時(shí)較為方便。 黑盒測(cè)試的缺點(diǎn)有: 1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%; 2)自動(dòng)化測(cè)試的復(fù)用性較低。
2.白盒測(cè)試 白盒測(cè)試是指在測(cè)試時(shí)能夠了解被測(cè)對(duì)象的結(jié)構(gòu),可以查閱被測(cè)代碼內(nèi)容的測(cè)試工作。它需要知道程序內(nèi)部的設(shè)計(jì)結(jié)構(gòu)及具體的代碼實(shí)現(xiàn),并以此為基礎(chǔ)來設(shè)計(jì)測(cè)試用例。
如下例程序代碼:HRESULT Play( char* pszFileName ){if ( NULL == pszFileName )return;if ( STATE_OPENED == currentState ){PlayTheFile();}return;}讀了代碼之后可以知道,先要檢查一個(gè)字符串是否為空,然后再根據(jù)播放器當(dāng)前的狀態(tài)來執(zhí)行相應(yīng)的動(dòng)作??梢赃@樣設(shè)計(jì)一些測(cè)試用例:比如字符串(文件)為空的話會(huì)出現(xiàn)什么情況;如果此時(shí)播放器的狀態(tài)是文件剛打開,會(huì)是什么情況;如果文件已經(jīng)在播放,再調(diào)用這個(gè)函數(shù)會(huì)是什么情況。
也就是說,根據(jù)播放器內(nèi)部狀態(tài)的不同,可以設(shè)計(jì)很多不同的測(cè)試用例。這些是在純粹做黑盒測(cè)試時(shí)不一定能做到的事情。
白盒測(cè)試的直接好處就是知道所設(shè)計(jì)的測(cè)試用例在代碼級(jí)上哪些地方被忽略掉,它的優(yōu)點(diǎn)是幫助軟件測(cè)試人員增大代碼的覆蓋率,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱藏的問題。 白盒測(cè)試的缺點(diǎn)有: 1)程序運(yùn)行會(huì)有很多不同的路徑,不可能測(cè)試所有的運(yùn)行路徑; 2)測(cè)試基于代碼,只能測(cè)試開發(fā)人員做的對(duì)不對(duì),而不能知道設(shè)計(jì)的正確與否,可能會(huì)漏掉一些功能需求; 3)系統(tǒng)龐大時(shí),測(cè)試開銷會(huì)非常大。
3.基于風(fēng)險(xiǎn)的測(cè)試 基于風(fēng)險(xiǎn)的測(cè)試是指評(píng)估測(cè)試的優(yōu)先級(jí),先做高優(yōu)先級(jí)的測(cè)試,如果時(shí)間或精力不夠,低優(yōu)先級(jí)的測(cè)試可以暫時(shí)先不做。有如下一個(gè)圖,橫軸代表影響,豎軸代表概率,根據(jù)一個(gè)軟件的特點(diǎn)來確定:如果一個(gè)功能出了問題,它對(duì)整個(gè)產(chǎn)品的影響有多大,這個(gè)功能出問題的概率有多大?如果出問題的概率很大,出了問題對(duì)整個(gè)產(chǎn)品的影響也很大,那么在測(cè)試時(shí)就一定要覆蓋到。
對(duì)于一個(gè)用戶很少用到的功能,出問題的概率很小,就算出了問題的影響也不是很大,那么如果時(shí)間比較緊的話,就可以考慮不測(cè)試?;陲L(fēng)險(xiǎn)測(cè)試的兩個(gè)決定因素就是:該功能出問題對(duì)用戶的影響有多大,出問題的概率有多大。
其它一些影響因素還有復(fù)雜性、可用性、依賴性、可修改性等。測(cè)試人員主要根據(jù)事情的輕重緩急來決定測(cè)試工作的重點(diǎn)。
4. 基于模型的測(cè)試 模型實(shí)際上就是用語言把一個(gè)系統(tǒng)的行為描述出來,定義出它可能的各種狀態(tài),以及它們之間的轉(zhuǎn)換關(guān)系,即狀態(tài)轉(zhuǎn)換圖。模型是系統(tǒng)的抽象。
基于模型的測(cè)試是利用模型來生成相應(yīng)的測(cè)試用例,然后根據(jù)實(shí)際結(jié)果和原先預(yù)想的結(jié)果的差異來測(cè)試系統(tǒng),過程如下圖所示。三、軟件測(cè)試的類型 常見的軟件測(cè)試類型有: BVT 。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:2.712秒