2021-05-21軟件測(cè)試工程師筆試題(二)

三、 問(wèn)答題

1螟左、 測(cè)試人員在軟件開發(fā)過(guò)程中的任務(wù)是什么啡浊?(初級(jí))(5分)

答:1、尋找Bug胶背;

2巷嚣、避免軟件開發(fā)過(guò)程中的缺陷;

3钳吟、衡量軟件的品質(zhì)廷粒;

4、關(guān)注用戶的需求红且。

總的目標(biāo)是:確保軟件的質(zhì)量坝茎。

2、 在您以往的工作中暇番,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容嗤放?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?(初級(jí))(6分)

答:一條Bug記錄最基本應(yīng)包含:編號(hào)壁酬、Bug所屬模塊斤吐、Bug描述、Bug級(jí)別厨喂、發(fā)現(xiàn)日期、發(fā)現(xiàn)人庄呈、修改日期蜕煌、修改人、修改方法诬留、回歸結(jié)果等等斜纪;要有效的發(fā)現(xiàn)Bug需參考需求以及詳細(xì)設(shè)計(jì)等前期文檔設(shè)計(jì)出高效的測(cè)試用例贫母,然后嚴(yán)格執(zhí)行測(cè)試用例,對(duì)發(fā)現(xiàn)的問(wèn)題要充分確認(rèn)肯定盒刚,然后再向外發(fā)布如此才能提高提交Bug的質(zhì)量腺劣。

3、 界面測(cè)試題及設(shè)計(jì)題因块。請(qǐng)找出下面界面中所存在的問(wèn)題并分別列出橘原;用黑盒測(cè)試的任何一種方法設(shè)計(jì)出此登陸窗體的測(cè)試用例。(中級(jí))(6分)

答:1涡上、窗體的標(biāo)題欄中為空趾断,沒(méi)有給出標(biāo)題。

2吩愧、用戶名和密碼控件的字體不一致并且沒(méi)有對(duì)齊芋酌。

3、文本框的大小不一致沒(méi)有對(duì)其雁佳。

4脐帝、確定和取消按鈕控件的大小不一致。

4糖权、 黑盒測(cè)試和白盒測(cè)試是軟件測(cè)試的兩種基本方法堵腹,請(qǐng)分別說(shuō)明各自的優(yōu)點(diǎn)和缺點(diǎn)!(中級(jí))(5分)

答:黑盒測(cè)試的優(yōu)點(diǎn)有:

1)比較簡(jiǎn)單温兼,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn)秸滴;

2)與軟件的內(nèi)部實(shí)現(xiàn)無(wú)關(guān);

3)從用戶角度出發(fā)募判,能很容易的知道用戶會(huì)用到哪些功能荡含,會(huì)遇到哪些問(wèn)題;

4)基于軟件開發(fā)文檔届垫,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能释液;

5)在做軟件自動(dòng)化測(cè)試時(shí)較為方便。

黑盒測(cè)試的缺點(diǎn)有:

1)不可能覆蓋所有的代碼装处,覆蓋率較低误债,大概只能達(dá)到總代碼量的30%;

2)自動(dòng)化測(cè)試的復(fù)用性較低妄迁。

白盒測(cè)試的優(yōu)點(diǎn)有:

幫助軟件測(cè)試人員增大代碼的覆蓋率寝蹈,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱藏的問(wè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ì)非常大笆制。

5、 根據(jù)自己的理解回答什么是軟件測(cè)試涣达,軟件測(cè)試分為哪幾個(gè)階段在辆。(初級(jí))(5分)

答:軟件測(cè)試是一個(gè)為了尋找軟件中的錯(cuò)誤而運(yùn)行軟件的過(guò)程,一個(gè)成功的測(cè)試是指找到了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試峭判。

軟件測(cè)試一般分為單元測(cè)試开缎、集成測(cè)試和系統(tǒng)測(cè)試。

6林螃、 根據(jù)自己的理解什么是測(cè)試用例和測(cè)試規(guī)程奕删,設(shè)計(jì)一個(gè)測(cè)試用例應(yīng)當(dāng)從哪幾方面考慮?(中級(jí))(10分)

答:狹義的講疗认,一個(gè)測(cè)試用例就是測(cè)試人員用以測(cè)試被測(cè)軟件的某個(gè)特性或特性組合的一組數(shù)據(jù)完残。這組數(shù)據(jù)可能是從用戶處得來(lái)的實(shí)際的一組數(shù)據(jù),也可能是測(cè)試人員專門設(shè)計(jì)出來(lái)的測(cè)試軟件某些功能的一組數(shù)據(jù)横漏。

測(cè)試規(guī)程就是詳細(xì)的對(duì)測(cè)試用例設(shè)計(jì)方法谨设、測(cè)試方法、測(cè)試工具缎浇、測(cè)試環(huán)境和測(cè)試數(shù)據(jù)進(jìn)行描述的文檔扎拣,還可以包括能把某個(gè)或某一組測(cè)試用例應(yīng)用到被測(cè)軟件上完成某項(xiàng)測(cè)試的一系列的操作步驟。

設(shè)計(jì)測(cè)試用例應(yīng)當(dāng)從以下幾方面考慮:邊界值素跺,等價(jià)類劃分二蓝,有效/無(wú)效值等。

7指厌、 什么是軟件質(zhì)量保證刊愚?軟件質(zhì)量保證人員與開發(fā)人員的關(guān)系如何?(高級(jí)) (10分)

答:軟件質(zhì)量保證就是通過(guò)確保軟件過(guò)程的質(zhì)量踩验,來(lái)保證軟件產(chǎn)品的質(zhì)量鸥诽。

軟件質(zhì)量保證人員和開發(fā)人員之間具有管理上的嚴(yán)格的獨(dú)立性,兩個(gè)小組的管理員都不能越權(quán)管理另一組箕憾,但都可以向更高層的管理者匯報(bào)軟件開發(fā)中的問(wèn)題

軟件測(cè)試筆試題

一牡借、選擇題

1、對(duì)計(jì)算機(jī)軟件和硬件資源進(jìn)行管理和控制的軟件是(D)

A.文件管理程序

B.輸入輸出管理程序

C.命令出來(lái)程序

D.操作系統(tǒng)

2袭异、在沒(méi)有需求文檔和產(chǎn)品說(shuō)明書的情況下只有哪一種測(cè)試方法可以進(jìn)行的(A)

A.錯(cuò)誤推測(cè)法測(cè)試

B.路勁分析測(cè)試

C.語(yǔ)句覆蓋測(cè)試

D.條件覆蓋測(cè)試

3钠龙、某測(cè)試人員通過(guò)執(zhí)行測(cè)試軟件測(cè)試的方法對(duì)當(dāng)前功能進(jìn)行了測(cè)試,該測(cè)試人員使用的測(cè)試方法為(C)

A.靜態(tài)測(cè)試

B.單元測(cè)試

C.黑盒測(cè)試

4、編寫測(cè)試計(jì)劃的目的是(ABC)多選題

A.使測(cè)試工作順利進(jìn)行

B.使項(xiàng)目參與人員溝通更舒暢

C.使測(cè)試工作更加系統(tǒng)化

D.軟件工程以及軟件過(guò)程的需要

E.軟件過(guò)程規(guī)范化的要求

F.控制軟件質(zhì)量

5俊鱼、關(guān)于軟件測(cè)試與軟件開發(fā)的認(rèn)識(shí),不正確的是(B)

A.軟件生命周期各個(gè)階段都可能產(chǎn)生測(cè)試

B.軟件測(cè)試是獨(dú)立于軟件開發(fā)的一個(gè)工作

C.軟件開發(fā)的需求分析和設(shè)計(jì)階段就應(yīng)開始測(cè)試工作

D.測(cè)試越早進(jìn)行畅买,越有助于提高被測(cè)軟件的質(zhì)量

6并闲、當(dāng)一個(gè)應(yīng)用程序窗口被最小化后該應(yīng)用的程序?qū)?huì)出現(xiàn)一下哪種情況(D)

A.被終止執(zhí)行

B.繼續(xù)在前臺(tái)執(zhí)行

C.被暫停執(zhí)行

D.被轉(zhuǎn)入后臺(tái)執(zhí)行

7、下列方法中谷羞,不屬于黑盒測(cè)試的是帝火?(A)

A.基本路勁測(cè)試法

B.等價(jià)類測(cè)試法

C.邊界值分析法

D.基于場(chǎng)景的測(cè)試方法

8、對(duì)于維護(hù)軟件的人員來(lái)說(shuō)湃缎,使用質(zhì)量是【】的結(jié)果(C)

A.功能性

B.可靠性

C.可維護(hù)性

D.效率

9犀填、下列軟件屬性中,軟件產(chǎn)品首要滿足的應(yīng)該是(A)

A.功能需求

B.性能需求

C.可擴(kuò)展性和靈活性

D.容錯(cuò)嗓违、糾錯(cuò)能力

10九巡、單元測(cè)試中設(shè)計(jì)測(cè)試用例的依據(jù)是(D)

A.概要設(shè)計(jì)規(guī)格說(shuō)明書

B.用戶需求規(guī)格說(shuō)明書

C.項(xiàng)目計(jì)劃說(shuō)明書

D.詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書

二、判斷題

1蹂季、單元測(cè)試通常應(yīng)該先進(jìn)行“人工走查”冕广,再以白盒法為主,輔以黑盒法進(jìn)行動(dòng)態(tài)測(cè)試偿洁。(√)

2撒汉、軟件測(cè)試就是為了驗(yàn)證軟件功能實(shí)現(xiàn)的是否正確,是否完成既定目標(biāo)的活動(dòng)涕滋,所以軟件測(cè)試在軟件工程的后期才開始具體的工作( × )

3睬辐、發(fā)現(xiàn)錯(cuò)誤多的模塊,殘留在模塊中的錯(cuò)誤也多宾肺。( √ )

4溯饵、測(cè)試人員在測(cè)試過(guò)程中發(fā)現(xiàn)一處問(wèn)題,如果問(wèn)題影響不大爱榕,而自己又可以修改瓣喊,應(yīng)立即將此問(wèn)題正確修改,以加快黔酥、提高開發(fā)的進(jìn)程藻三。( × )

5、單元測(cè)試通常應(yīng)該先進(jìn)行“人工走查”跪者,再以白盒法為主棵帽,輔以黑盒法進(jìn)行動(dòng)態(tài)測(cè)試。( √ )

6渣玲、功能測(cè)試是系統(tǒng)測(cè)試的主要內(nèi)容逗概,檢查系統(tǒng)的功能、性能是否與需求規(guī)格說(shuō)明相同忘衍。( √ )

7逾苫、軟件質(zhì)量管理即QM由QA和QC構(gòu)成卿城,軟件測(cè)試屬于QC的核心工作內(nèi)容。(√)

8铅搓、軟件測(cè)試只能發(fā)現(xiàn)錯(cuò)誤瑟押,但不能保證測(cè)試后的軟件沒(méi)有錯(cuò)誤。(√)

9星掰、軟件就是程序多望。(X)

10、測(cè)試只要做到語(yǔ)句覆蓋和分支覆蓋氢烘,就可以發(fā)現(xiàn)程序中的所有錯(cuò)誤怀偷。(X)

三、問(wèn)答題

1播玖、在您以往的工作中椎工,一條軟件缺陷(或者叫BUG)記錄都包含了哪些內(nèi)容?如果提交高質(zhì)量的軟件缺陷(bug)記錄黎棠?

答:一條BUG記錄最基本應(yīng)包含:編號(hào)晋渺、BU所屬模塊、BUG描述脓斩、BUG級(jí)別木西、發(fā)現(xiàn)日期、發(fā)現(xiàn)人随静、修改日期八千、修改人、修改方法燎猛、回歸結(jié)果等等恋捆;要有效的發(fā)現(xiàn)bUG需要參加需求以及詳細(xì)的設(shè)計(jì)等前期文檔設(shè)計(jì)出高效的測(cè)試用例,然后嚴(yán)格執(zhí)行測(cè)試用例重绷,對(duì)發(fā)現(xiàn)的問(wèn)題要充分確認(rèn)肯定沸停,然后再向外發(fā)布,這樣才能提高提交BUG的質(zhì)量昭卓。

2愤钾、測(cè)試分為那幾個(gè)階段?

答:按照開發(fā)階段劃分候醒,軟件測(cè)試可分為單元測(cè)試能颁、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試

單元測(cè)試:針對(duì)每個(gè)單元的測(cè)試倒淫,以確保每個(gè)模塊能正常工作為目標(biāo)

集成測(cè)試:對(duì)已經(jīng)測(cè)試過(guò)的模塊進(jìn)行組裝伙菊,進(jìn)行集成測(cè)試。目的就是在于檢驗(yàn)與軟件設(shè)計(jì)相關(guān)的程序結(jié)構(gòu)問(wèn)題。

系統(tǒng)測(cè)試:檢驗(yàn)軟件產(chǎn)品能夠與系統(tǒng)的其他部分(比如:硬件镜硕、數(shù)據(jù)庫(kù)及操作人員)協(xié)調(diào)工作运翼。

驗(yàn)收測(cè)試:檢驗(yàn)軟件產(chǎn)品質(zhì)量的最后一道工序,主要突出用戶的作用兴枯,同時(shí)軟件開發(fā)人員也有一定程度的參與南蹂。

3、了解哪些測(cè)試工具念恍?你是用過(guò)和知道的測(cè)試工具有哪些?各有什么用途晚顷?

答:Jmeter:接口測(cè)試峰伙、壓力測(cè)試

soapui:接口測(cè)試

xshell、xftp:管理linux系統(tǒng)

禪道:管理BUG

navictt:管理數(shù)據(jù)庫(kù)

4该默、先有一個(gè)程序瞳氓,頁(yè)面提供3個(gè)輸入框a、b栓袖、c匣摘,一個(gè)輸出框d,根據(jù)a裹刮、b音榜、c的輸入判斷數(shù)據(jù)層是否只能組成一個(gè)三角形(三角形兩邊之和大于第三邊),在d中輸出:是捧弃,否

答:等價(jià)類劃分法:

有效等價(jià)類:a、b、c的值都大于0

a+b>c且b+c>a且a+c>b

無(wú)效等價(jià)類:

a/b/c為0或負(fù)數(shù)

a/b/c為空

a/b/c為非數(shù)字

a+b<=c b+c<=a a+b<=b

5歼培、你認(rèn)為一個(gè)測(cè)試工程師應(yīng)具備哪些素質(zhì)和技能

答:技能:計(jì)算機(jī)專業(yè)技能弹谁,測(cè)試專業(yè)技能,軟件編程技能

素質(zhì):.溝通能力买鸽,要有嚴(yán)謹(jǐn)涧郊、敢于承擔(dān)責(zé)任、穩(wěn)重的做事風(fēng)格眼五,具有懷疑與破壞的精神妆艘,善于自我總結(jié)、自我督促弹砚。

6双仍、問(wèn)題單都有哪些屬性?

答:我所知道的有:產(chǎn)品模塊桌吃、所屬項(xiàng)目朱沃、所屬版本、bug標(biāo)題、步驟及測(cè)試數(shù)據(jù)逗物、bug及日志截圖搬卒、類型及嚴(yán)重程度、系統(tǒng)/瀏覽器

7翎卓、一個(gè)完整的測(cè)試方案包含哪些要素契邀?

答:測(cè)試計(jì)劃、人員分配失暴、時(shí)間安排坯门、測(cè)試方法的確定、測(cè)試工具的確定逗扒、測(cè)試報(bào)告

8古戴、查看接口的工具有哪些?說(shuō)出一個(gè)工具的操作

答:jmeter與soapui都支持

jmeter的用法:新建一個(gè)線程組矩肩,添加http類型的請(qǐng)求→填上接口地址和數(shù)據(jù)→添加查看結(jié)果樹→進(jìn)行運(yùn)行→查看結(jié)果现恼、進(jìn)行分析

9、如何定位BUG黍檩,是前端還是后端的問(wèn)題叉袍,用什么工具,還是利用別的刽酱?

答:如果是功能性的問(wèn)題喳逛,那么就是后端問(wèn)題,如果是界面的效果或者是按鈕問(wèn)題棵里,那么也許是前端問(wèn)題艺配,分析問(wèn)題,有的時(shí)候需要開發(fā)的協(xié)作衍慎,大師這些也是經(jīng)驗(yàn)的問(wèn)題转唉,多工作就可以總結(jié)出來(lái)

軟件測(cè)試筆試題

1、HTTP協(xié)議有什么特點(diǎn)稳捆?有哪幾類狀態(tài)碼赠法,分別表示什么意思?

1.特點(diǎn):

無(wú)連接:限制每次連接只處理一個(gè)請(qǐng)求乔夯。服務(wù)器處理完客戶的請(qǐng)求砖织,并收到客戶的應(yīng)答后,即斷開連接末荐。

媒體獨(dú)立:只要客戶端和服務(wù)器知道如何處理的數(shù)據(jù)內(nèi)容侧纯,任何類型的數(shù)據(jù)都可以通過(guò)HTTP發(fā)送。

無(wú)狀態(tài):無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力甲脏。

各個(gè)狀態(tài)碼的含義:1xx:請(qǐng)求成功繼續(xù)處理 2xx:請(qǐng)求發(fā)送成功 3xx:重定向 4xx:客戶端錯(cuò)誤眶熬,請(qǐng)求有誤無(wú)法實(shí)現(xiàn) 5xx:服務(wù)端錯(cuò)誤:未能實(shí)現(xiàn)合法請(qǐng)求

2.簡(jiǎn)述cookies和session是怎么工作的妹笆?

cookis:發(fā)送HTTP請(qǐng)求時(shí)請(qǐng)求頭加上特殊的指示提示瀏覽器生成指示對(duì)應(yīng)的cookis

session:是一種服務(wù)端的機(jī)制,類似于用散列表的形式保存信息

4.用你熟悉的一種編程語(yǔ)言娜氏,寫出計(jì)算以下結(jié)果的代碼拳缠。1+2+3+…+100=?

j=0 for i int range(1,101) j = j+i print("計(jì)算的結(jié)果為 d%" j%)

5.創(chuàng)建一個(gè)UC表贸弥,字段如下:FID(INT)/NAME(VARCHAR)姓名/EMAIL(VARCHAR)郵件/FBAL(decimal(20,2))/金額

CREATE TABLE UC(

FID INT PRIMARY KEY AUTO_INCREMENT NOT NULL COMMENT '主鍵ID',

NAME VARCHAR(10) NOT NULL COMMENT'用戶名稱',

EMAIL VARCHAR(10) NOT NULL COMMENT'用戶郵箱',

FBAL DECIMAL(20,2) NOT NULL COMMENT '用戶金額'

)

a.增加數(shù)據(jù)

INSERT INTO UC(NAME,EMAIL,FBAL) VALUES('黃斌','34@163.com','550')

INSERT INTO UC(NAME,EMAIL,FBAL) VALUES('李毅','35@163.com','250')

INSERT INTO UC(NAME,EMAIL,FBAL) VALUES('張梭','36@163.com','250')

INSERT INTO UC(NAME,EMAIL,FBAL) VALUES('李冰','37@163.com','450')

B.查詢用戶金額不小于300的用戶名稱?

SELECT NAME FROM UC WHERE FBAL <= 300

一窟坐、什么是靜態(tài)測(cè)試?動(dòng)態(tài)測(cè)試绵疲?

二哲鸳、什么是回歸測(cè)試?

三盔憨、如果能夠執(zhí)行完美的黑盒測(cè)試帕胆,還需要進(jìn)行白盒測(cè)試嗎(黑盒和白盒的區(qū)別?)

四般渡、軟件測(cè)試分幾個(gè)階段?各階段重點(diǎn)測(cè)試什么芙盘?各個(gè)階段的含義驯用?

五、針對(duì)缺陷采取怎樣的管理措施儒老?

六蝴乔、軟件測(cè)試的V模型和W模型

七、測(cè)試方法可以分為哪幾種驮樊?

八薇正、白盒測(cè)試之六種覆蓋

九、其他問(wèn)題記錄

一囚衔、什么是靜態(tài)測(cè)試挖腰?動(dòng)態(tài)測(cè)試?

通過(guò)運(yùn)行程序測(cè)試軟件:動(dòng)態(tài)測(cè)試(有白盒和黑盒练湿,從不同角度設(shè)計(jì)測(cè)試用例)

通過(guò)評(píng)審文檔猴仑、閱讀代碼:靜態(tài)測(cè)試

靜態(tài)測(cè)試方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源代碼的語(yǔ)法肥哎、結(jié)構(gòu)辽俗、接口等來(lái)檢查程序的正確性。對(duì)照需求規(guī)格說(shuō)明書篡诽,軟件設(shè)計(jì)說(shuō)明書崖飘,源程序做結(jié)構(gòu)分析,流程圖分析杈女。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析朱浴,找出欠缺和可疑之處吊圾,如不匹配的參數(shù),不合適的嵌套循環(huán)和分支嵌套赊琳,不允許的遞歸街夭,未使用過(guò)的變量、空指針的引用和可疑的計(jì)算躏筏。用于進(jìn)一步的差錯(cuò)板丽,并為測(cè)試用例選取提供指導(dǎo)。

二趁尼、什么是回歸測(cè)試埃碱?

目的是程序有修改的情況下,保證原有功能正常的一種測(cè)試策略和方法酥泞。

測(cè)試人員在程序進(jìn)行測(cè)試時(shí)發(fā)現(xiàn)bug砚殿,然后返回程序員修改,程序員修改后發(fā)布新的軟件包或軟件補(bǔ)丁包給測(cè)試人員芝囤,重新測(cè)試似炎,保證程序修正了以前bug的情況下,正常運(yùn)行且不會(huì)帶來(lái)新的錯(cuò)誤的過(guò)程悯姊,一般不需要全面測(cè)試羡藐,根據(jù)修改情況進(jìn)行有效的測(cè)試。

三悯许、如果能夠執(zhí)行完美的黑盒測(cè)試仆嗦,還需要進(jìn)行白盒測(cè)試嗎(黑盒和白盒的區(qū)別?)

任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進(jìn)行測(cè)試先壕。

黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格瘩扼,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。

白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過(guò)程垃僚,可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求集绰,所有內(nèi)部成分是否以經(jīng)過(guò)檢查。

軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行谆棺。這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子倒慧,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說(shuō)明書包券,檢查程序的功能是否符合它的功能說(shuō)明纫谅。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤

1溅固、是否有不正確或遺漏的功能?

2付秕、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?

3侍郭、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?

4询吴、性能上是否能夠滿足要求?

5掠河、是否有初始化或終止性錯(cuò)誤?

軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子猛计,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息唠摹,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試奉瘤。通過(guò)在不同點(diǎn)檢查程序狀態(tài)勾拉,確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試盗温。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查

1藕赞、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。

2卖局、對(duì)所有的邏輯判定斧蜕,取“真”與取“假”的兩種情況都能至少測(cè)一遍。

3砚偶、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體批销。

4、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性染坯,等等均芽。

以上事實(shí)說(shuō)明,軟件測(cè)試有一個(gè)致命的缺陷酒请,即測(cè)試的不完全、不徹底性鸣个。由于任何程序只能進(jìn)行少量(相對(duì)于窮舉的巨大數(shù)量而言)的有限的測(cè)試羞反,在未發(fā)現(xiàn)錯(cuò)誤時(shí),不能說(shuō)明程序中沒(méi)有錯(cuò)誤囤萤。

就算執(zhí)行了完美的黑盒測(cè)試也是無(wú)法測(cè)試程序內(nèi)部特定部位昼窗,另外當(dāng)規(guī)格說(shuō)明本身有誤,也不能發(fā)現(xiàn)問(wèn)題涛舍。而白盒測(cè)試能對(duì)程序的內(nèi)部特定部位進(jìn)行覆蓋測(cè)試澄惊,所以黑盒和白盒測(cè)試互為互補(bǔ)關(guān)系,結(jié)合起來(lái)進(jìn)行測(cè)試用例的設(shè)計(jì)更為合理富雅。

經(jīng)驗(yàn)表明掸驱,通常在進(jìn)行單元測(cè)試時(shí)采用白盒測(cè)試方法,集成測(cè)試使用灰盒測(cè)試没佑,系統(tǒng)測(cè)試使用黑盒測(cè)試毕贼。

四、軟件測(cè)試分幾個(gè)階段蛤奢?各階段重點(diǎn)測(cè)試什么鬼癣?各個(gè)階段的含義陶贼?

開發(fā)的5個(gè)階段:?jiǎn)卧獪y(cè)試、集成測(cè)試待秃、確認(rèn)測(cè)試拜秧、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試章郁。(回歸測(cè)試)(軟件發(fā)布后)枉氮。

每階段都有5個(gè)步驟:==測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)驱犹、用例設(shè)計(jì)嘲恍、執(zhí)行結(jié)果、測(cè)試報(bào)告 ==

1.單元測(cè)試是對(duì)軟件中的基本組成單元進(jìn)行測(cè)試雄驹,如一個(gè)模塊佃牛、一個(gè)過(guò)程等等,它是軟件動(dòng)態(tài)測(cè)試的最基本的部分医舆,也是最重要的部分之一俘侠,其目的是檢驗(yàn)軟件最基本組成單元的正確性。

2.集成測(cè)試在單元測(cè)試的基礎(chǔ)上蔬将,將所有模塊按照設(shè)計(jì)要求爷速,組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試霞怀。其主要目的是檢驗(yàn)軟件各單位之間的接口是否正確惫东。實(shí)踐表明,一些模塊雖然可以單獨(dú)工作毙石,但并不能保證連接起來(lái)也能正常工作廉沮。程序在某些局部反映不出來(lái)的問(wèn)題,在全局上可能暴露徐矩。測(cè)試重點(diǎn)是模塊間的銜接以及參數(shù)的傳遞等滞时。

3.確認(rèn)測(cè)試確認(rèn)測(cè)試的目標(biāo)是驗(yàn)證軟件的功能和性能以及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試一般包括有效性測(cè)試和軟件配置復(fù)查滤灯。一般由第三方測(cè)試機(jī)構(gòu)進(jìn)行坪稽。

3.系統(tǒng)測(cè)試是對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,已驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求鳞骤,檢查軟件的行為和輸出是否正確窒百。重點(diǎn):整個(gè)系統(tǒng)的運(yùn)行以及與其他軟件的兼容性。

4.驗(yàn)收測(cè)試旨在向軟件的購(gòu)買者展示該軟件滿足其用戶的需求豫尽。它的測(cè)試數(shù)據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集贝咙。

5.回歸測(cè)試是在軟件的維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試拂募,其目的是檢驗(yàn)對(duì)軟件的修改是否正確庭猩。

五窟她、針對(duì)缺陷采取怎樣的管理措施?

1.要更好的管理缺陷蔼水,必須引入缺陷管理工具震糖,商用的或者開源的。

2.根據(jù)缺陷的生命周期趴腋,考慮缺陷提交的管理吊说,缺陷狀態(tài)的管理和缺陷分析的管理。

3.所有發(fā)現(xiàn)的缺陷必須全部即時(shí)的优炬,準(zhǔn)確的提交到缺陷管理工具中颁井,這就是缺陷提交的管理。

4.缺陷提交后蠢护,需要即時(shí)的指派給相應(yīng)的開發(fā)人員雅宾,提交缺陷的人需要密切注意缺陷的狀態(tài),幫助缺陷的盡快解決葵硕,缺陷解決后需要即時(shí)對(duì)缺陷的修復(fù)進(jìn)行驗(yàn)證眉抬。目的有2個(gè):1.讓缺陷盡快解決2.方便后面缺陷的分析

5.為了更好的改進(jìn)開發(fā)計(jì)劃和測(cè)試過(guò)程,需要對(duì)缺陷進(jìn)行分析懈凹,總結(jié)如缺陷的類型蜀变,缺陷的齡期分布等信息。

六介评、軟件測(cè)試的V模型和W模型

V模型
W模型

七库北、測(cè)試方法可以分為哪幾種?

軟件測(cè)試可以是人工測(cè)試:如個(gè)人復(fù)查们陆,抽查和會(huì)審等

也可以是機(jī)器自動(dòng)測(cè)試寒瓦,又有不同的分類:

按照否關(guān)軟件內(nèi)部結(jié)構(gòu)具體實(shí)現(xiàn)角度劃

==A.白盒測(cè)試B.黑盒測(cè)試 C.灰盒測(cè)試 ==

按照軟件發(fā)程按階段劃

A.單元測(cè)試 B.集測(cè)試 C.確認(rèn)測(cè)試 D.系統(tǒng)測(cè)試 E.驗(yàn)收測(cè)試

八、白盒測(cè)試之六種覆蓋

1.語(yǔ)句覆蓋:可執(zhí)行語(yǔ)句至少被執(zhí)行一次棒掠;

2.判斷覆蓋:每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次孵构;

3.條件覆蓋:每個(gè)條件的取值至少滿足一次屁商;

4.判斷條件覆蓋:判斷和條件都滿足烟很;

5.條件組合覆蓋:每個(gè)條件的所有可能都至少出現(xiàn)一次,并且判定結(jié)果至少出現(xiàn)一次 蜡镶;

他與條件覆蓋的區(qū)別:他不是簡(jiǎn)單要求每個(gè)條件出現(xiàn)“真”和“假”兩種結(jié)果雾袱,而是要求這些結(jié)果所有可能至少出現(xiàn)一次;

6.路徑測(cè)試:執(zhí)行所有可能的執(zhí)行路徑官还;

7.基本路徑測(cè)試:

路徑測(cè)試執(zhí)行了每個(gè)路徑良姆,每個(gè)判定的結(jié)果肯定經(jīng)歷過(guò)一次

6種覆蓋標(biāo)準(zhǔn)爵赵,強(qiáng)度由弱到強(qiáng)依次是:語(yǔ)句覆蓋、判定覆蓋寸爆、條件覆蓋、判定/條件覆蓋竹捉、條件組合覆蓋、路徑覆蓋

常用的黑盒測(cè)試方法:等價(jià)類劃分法、邊界值分析法豪直、正交實(shí)驗(yàn)設(shè)計(jì)法、因果圖法珠移、決策表法弓乙。

等值分析測(cè)試=等價(jià)類劃分+邊界值分析測(cè)試

邊界值法既是白盒又是黑盒測(cè)試方法

因果圖法:等價(jià)類劃分法和邊界值分析方法都是著重考慮輸入條件,如果程序輸入之間沒(méi)有什么聯(lián)系钧惧,采用等價(jià)類劃分和邊界值分析是一種比較有效的方法暇韧。如果輸入之間有關(guān)系,例如浓瞪,約束關(guān)系懈玻、組合關(guān)系,這種關(guān)系用等價(jià)類劃分和邊界值分析是很難描述的追逮,測(cè)試效果難以保障酪刀,因此必須考慮使用一種適合于描述對(duì)于多種條件的組合,產(chǎn)生多個(gè)相應(yīng)動(dòng)作的測(cè)試方法钮孵,因果圖正是在此背景下提出的骂倘。因果圖法著重測(cè)試規(guī)格說(shuō)明中的輸入與輸出間的依賴關(guān)系。

因果圖法測(cè)試用例的設(shè)計(jì)步驟

(1)確定軟件規(guī)格(需求)中的原因和結(jié)果

(2)確定原因和結(jié)果之間的邏輯關(guān)系

(3)確定因果圖中的各個(gè)約束(constraints)

(4)畫出因果圖并轉(zhuǎn)換為決策表

(5)根據(jù)決策表設(shè)計(jì)測(cè)試用例

軟件測(cè)試面試題100道整理

1.什么是軟件測(cè)試巴席?

答:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程历涝。

2.軟件測(cè)試的目的?

答;測(cè)試的目的是想以最少的人力、物力和時(shí)間找出軟件中潛在的各種錯(cuò)誤和缺陷漾唉,通過(guò)修正錯(cuò)誤和缺陷提高軟件質(zhì)量荧库,回避軟件發(fā)布后由于潛在的軟件缺陷和錯(cuò)誤造成的隱患帶來(lái)的商業(yè)風(fēng)險(xiǎn)。

3.什么是需求文檔測(cè)試赵刑?

答:主要測(cè)試需求中是否存在邏輯矛盾以及需求在技術(shù)上是否可以實(shí)現(xiàn);

4.什么是設(shè)計(jì)文檔測(cè)試?

答:測(cè)試設(shè)計(jì)是否符合全部需求以及設(shè)計(jì)是否合理分衫。

5.什么是α測(cè)試?

答:Alpha測(cè)試(α測(cè)試)是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試般此,Alpha測(cè)試不能由程序員或測(cè)試員完成蚪战。Alpha測(cè)試發(fā)現(xiàn)的錯(cuò)誤,可以在測(cè)試現(xiàn)場(chǎng)立刻反饋給開發(fā)人員铐懊,由開發(fā)人員及時(shí)分析和處理邀桑。目的是評(píng)價(jià)軟件產(chǎn)品的功能、可使用性科乎、可靠性壁畸、性能和支持。尤其注重產(chǎn)品的界面和特色。Alpha測(cè)試可以從軟件產(chǎn)品編碼結(jié)束之后開始捏萍,或在模塊(子系統(tǒng))測(cè)試完成后開始太抓,也可以在確認(rèn)測(cè)試過(guò)程中產(chǎn)品達(dá)到一定的穩(wěn)定和可靠程度之后再開始。有關(guān)的手冊(cè)(草稿)等應(yīng)該在Alpha測(cè)試前準(zhǔn)備好令杈。

6.什么是β測(cè)試?

答:Beta測(cè)試(β測(cè)試)是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試腻异。開發(fā)者通常不在測(cè)試現(xiàn)場(chǎng),Beta測(cè)試不能由程序員或測(cè)試員完成这揣。因而悔常,Beta測(cè)試是在開發(fā)者無(wú)法控制的環(huán)境下進(jìn)行的軟件現(xiàn)場(chǎng)應(yīng)用。在Beta測(cè)試中给赞,由用戶記下遇到的所有問(wèn)題机打,包括真實(shí)的以及主管認(rèn)定的,定期向開發(fā)者報(bào)告片迅,開發(fā)者在綜合用戶的報(bào)告后残邀,做出修改,最后將軟件產(chǎn)品交付給全體用戶使用柑蛇。Beta測(cè)試著重于產(chǎn)品的支持性芥挣,包括文檔、客戶培訓(xùn)和支持產(chǎn)品的生產(chǎn)能力耻台。只有當(dāng)Alpha測(cè)試達(dá)到一定的可靠程度后空免,才能開始Beta測(cè)試。由于Beta測(cè)試的主要目標(biāo)是測(cè)試可支持性盆耽,所以Beta測(cè)試應(yīng)該盡可能由主持產(chǎn)品發(fā)行的人員來(lái)管理蹋砚。

7.什么是驅(qū)動(dòng)模塊?

答:驅(qū)動(dòng)模塊在大多數(shù)場(chǎng)合稱為"主程序"摄杂,它接收測(cè)試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測(cè)試模塊.單元測(cè)試一個(gè)函數(shù)單元時(shí)坝咐,被測(cè)單元本身是不能獨(dú)立運(yùn)行的,需要為其傳送數(shù)據(jù)析恢,為此寫驅(qū)動(dòng)

驅(qū)動(dòng)模塊主要完成以下事情:

1墨坚、接受測(cè)試輸入;

2、對(duì)輸入進(jìn)行判斷;

3映挂、將輸入傳給被測(cè)單元泽篮,驅(qū)動(dòng)被測(cè)單元執(zhí)行;

4、接受被測(cè)單元執(zhí)行結(jié)果袖肥,并對(duì)結(jié)果進(jìn)行判斷;

5咪辱、將判斷結(jié)果作為用例執(zhí)行結(jié)果輸出測(cè)試報(bào)告振劳。

8.什么是樁模塊?

答:比如對(duì)函數(shù)A做單元測(cè)試時(shí)椎组,被測(cè)的函數(shù)單元下還包括了一個(gè)函數(shù)B,為了更好的錯(cuò)誤历恐,定位錯(cuò)誤寸癌,就要為函數(shù)B寫樁专筷,來(lái)模擬函數(shù)B的功能,保證其正確蒸苇。

9.什么是白盒測(cè)試?

答:白盒測(cè)試(White-box Testing磷蛹,又稱邏輯驅(qū)動(dòng)測(cè)試,結(jié)構(gòu)測(cè)試),它是知道產(chǎn)品內(nèi)部工作過(guò)程,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行溪烤,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序味咳,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能檬嘀,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)槽驶、基路測(cè)試等,主要用于軟件驗(yàn)證鸳兽。

對(duì)開發(fā)語(yǔ)言的支持:白盒測(cè)試工具是對(duì)源代碼進(jìn)行的測(cè)試掂铐,測(cè)試的主要內(nèi)容包括詞法分析與語(yǔ)法分析、靜態(tài)錯(cuò)誤分析揍异、動(dòng)態(tài)檢測(cè)等全陨。目前測(cè)試工具主要支持的開發(fā)語(yǔ)言包括:標(biāo)準(zhǔn)C、C++衷掷、Visual C++辱姨、Java、Visual J++等戚嗅。

10.什么是靜態(tài)測(cè)試?

答:通過(guò)運(yùn)行程序測(cè)試軟件稱為動(dòng)態(tài)測(cè)試.通過(guò)評(píng)審文檔炮叶、閱讀代碼等方式測(cè)試軟件稱為靜態(tài)測(cè)試,在動(dòng)態(tài)測(cè)試中,通常使用白盒測(cè)試和黑盒測(cè)試從不同的角度設(shè)計(jì)測(cè)試用例,查找軟件代碼中的錯(cuò)誤.

靜態(tài)測(cè)試方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的語(yǔ)法渡处、結(jié)構(gòu)镜悉、過(guò)程、接口等來(lái)檢查程序的正確性医瘫。對(duì)需求規(guī)格說(shuō)明書侣肄、軟件設(shè)計(jì)說(shuō)明書、源程序做結(jié)構(gòu)分析醇份、流程圖分析稼锅、符號(hào)執(zhí)行來(lái)找錯(cuò)。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析僚纷,找出欠缺和可疑之處矩距,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套怖竭、不允許的遞歸锥债、未使用過(guò)的變量、空指針的引用和可疑的計(jì)算等。靜態(tài)測(cè)試結(jié)果可用于進(jìn)一步的查錯(cuò)哮肚,并為測(cè)試用例選取提供指導(dǎo)登夫。

11.什么是回歸測(cè)試?

答:回歸測(cè)試的目的是在程序有修改的情況下,保證原有功能正常的一種測(cè)試策略和方法允趟。

說(shuō)白了就是恼策,我們測(cè)試人員在對(duì)程序進(jìn)行測(cè)試時(shí)發(fā)現(xiàn)bug,然后返還程序員修改潮剪,程序員修改后發(fā)布新的軟件包或新的軟件補(bǔ)丁包給我們測(cè)試人員涣楷,我們就要重新對(duì)這個(gè)程序測(cè)試,已保證程序在修正了以前bug的情況下抗碰,正常運(yùn)行总棵,且不會(huì)帶來(lái)新的錯(cuò)誤的這樣一個(gè)過(guò)程。 一般情況下是不需要全面測(cè)試的改含,而是根據(jù)修改的情況進(jìn)行有效的測(cè)試情龄。

12.白盒測(cè)試有哪幾種方法?

答:白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程捍壤,可通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書的規(guī)定正常進(jìn)行骤视,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作鹃觉,而不顧它的功能专酗,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等盗扇,主要用于軟件驗(yàn)證祷肯。“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)疗隶、對(duì)所有邏輯路徑進(jìn)行測(cè)試佑笋。“白盒”法是窮舉路徑測(cè)試斑鼻。

13.軟件的缺陷等級(jí)應(yīng)如何劃分?

軟件缺陷的等級(jí)可以用嚴(yán)重性和優(yōu)先級(jí)來(lái)描述蒋纬;

嚴(yán)重性:衡量缺陷對(duì)客戶滿意度影響的滿意程度,分為

1,致命錯(cuò)誤坚弱,可能導(dǎo)致本模塊以及其他相關(guān)的模塊異常蜀备,死機(jī)等問(wèn)題;

2.嚴(yán)重錯(cuò)誤荒叶,問(wèn)題局限在本模塊碾阁,導(dǎo)致模塊功能失常或異常退出些楣;

3.一般錯(cuò)誤脂凶,模塊功能部分失效宪睹;

4.建議模塊,有問(wèn)題提出人對(duì)測(cè)試模塊的改進(jìn)建議艰猬;

優(yōu)先級(jí):缺陷被修復(fù)的緊急程度;

1.立即解決(P1級(jí)):缺陷導(dǎo)致系統(tǒng)功能幾乎不能使用或者測(cè)試不能繼續(xù)埋市,需立即修復(fù)冠桃;

2.高優(yōu)先級(jí)(P2級(jí)):缺陷嚴(yán)重,影響測(cè)試道宅,需優(yōu)先考慮食听;

3.正常排隊(duì)(P3級(jí)):缺陷需要正常排隊(duì)等待修復(fù);

4.低優(yōu)先級(jí)(P4級(jí)):缺陷可以在有時(shí)間的時(shí)候被糾正污茵;

14.如果能夠執(zhí)行完美的黑盒測(cè)試樱报,還需要進(jìn)行白盒測(cè)試嗎?(白盒與黑盒的區(qū)別)

答:任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進(jìn)行測(cè)試。

黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格泞当,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求.

白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過(guò)程迹蛤,可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過(guò)檢查襟士。

軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行盗飒。這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性陋桂,只依據(jù)程序的需求規(guī)格說(shuō)明書逆趣,檢查程序的功能是否符合它的功能說(shuō)明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試嗜历。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:

1宣渗、是否有不正確或遺漏的功能?

2、在接口上梨州,輸入是否能正確的接受?能否輸出正確的結(jié)果?

3痕囱、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?

4、性能上是否能夠滿足要求?

5暴匠、是否有初始化或終止性錯(cuò)誤?

軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查咐蝇。這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息巷查,設(shè)計(jì)或選擇測(cè)試用例有序,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài)岛请,確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致旭寿。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:

1崇败、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍盅称。

2肩祥、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍缩膝。

3混狠、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。

4疾层、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性将饺,等等。

以上事實(shí)說(shuō)明痛黎,軟件測(cè)試有一個(gè)致命的缺陷予弧,即測(cè)試的不完全、不徹底性湖饱。由于任何程序只能進(jìn)行少量(相對(duì)于窮舉的巨大數(shù)量而言)的有限的測(cè)試掖蛤,在未發(fā)現(xiàn)錯(cuò)誤時(shí),不能說(shuō)明程序中沒(méi)有錯(cuò)誤井厌。

15.軟件測(cè)試應(yīng)該劃分幾個(gè)階段?簡(jiǎn)述各個(gè)階段應(yīng)重點(diǎn)測(cè)試的點(diǎn)?各個(gè)階段的含義?

答:大體上來(lái)說(shuō)可分為單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試,每個(gè)階段又分為以下五個(gè)步驟:?測(cè)試計(jì)劃蚓庭,測(cè)試設(shè)計(jì),用例設(shè)計(jì)仅仆,執(zhí)行結(jié)果彪置,測(cè)試報(bào)告

初始測(cè)試集中在每個(gè)模塊上,保證源代碼的正確性蝇恶,該階段成為單元測(cè)試拳魁,主要用白盒測(cè)試方法。 接下來(lái)是模塊集成和集成以便組成完整的軟件包撮弧。集成測(cè)試集中在證實(shí)和程序構(gòu)成問(wèn)題上潘懊。主要采用黑盒測(cè)試方法,輔之以白盒測(cè)試方法贿衍。

軟件集成后授舟,需要完成確認(rèn)和系統(tǒng)測(cè)試。確認(rèn)測(cè)試提供軟件滿足所有功能贸辈、性能需求的最后保證释树。確認(rèn)測(cè)試僅僅應(yīng)用黑盒測(cè)試方法。

16.什么是單元測(cè)試擎淤?

答:單元測(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試奢啥,如一個(gè)模塊、一個(gè)過(guò)程等等嘴拢。它是軟件動(dòng)態(tài)測(cè)試的最基本的部分桩盲,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性席吴。

17.什么是集成測(cè)試

答:集成測(cè)試是在軟件系統(tǒng)集成過(guò)程中所進(jìn)行的測(cè)試赌结,其主要目的是檢查軟件單位之間的接口是否正確捞蛋。

18.系統(tǒng)測(cè)試?

答:系統(tǒng)測(cè)試是對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試柬姚,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求拟杉,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡(jiǎn)單的任務(wù),它被稱為測(cè)試的“先知者問(wèn)題”量承。

19.驗(yàn)收測(cè)試

答:驗(yàn)收測(cè)試旨在向軟件的購(gòu)買者展示該軟件系統(tǒng)滿足其用戶的需求搬设。它的測(cè)試數(shù)據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集.

20.回歸測(cè)試

答:回歸測(cè)試是在軟件維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試宴合。其目的是檢驗(yàn)對(duì)軟件進(jìn)行的修改是否正確焕梅。

21.針對(duì)缺陷采取怎樣的管理措施?

答:1. 要更好的管理缺陷迹鹅,必須引入缺陷管理工具卦洽,商用的或者開源的都可。

\2. 根據(jù)缺陷的生命周期斜棚,考慮缺陷提交的管理阀蒂、缺陷狀態(tài)的管理和缺陷分析的管理。

\3. 所有發(fā)現(xiàn)的缺陷(不管是測(cè)試發(fā)現(xiàn)的還是走讀代碼發(fā)現(xiàn)的)都必須全部即時(shí)的弟蚀、準(zhǔn)確的提交到缺陷管理工具中蚤霞,這是缺陷提交的管理。

\4. 缺陷提交后义钉,需要即時(shí)的指派給相應(yīng)的開發(fā)人員昧绣,提交缺陷的人需要密切注意缺陷的狀態(tài), 幫助缺陷的盡快解決捶闸。缺陷解決后需要即時(shí)對(duì)缺陷的修復(fù)進(jìn)行驗(yàn)證夜畴。這樣的目的有兩個(gè):一個(gè)是讓缺陷盡快解決;二是方便后面缺陷的分析(保證缺陷相關(guān)的信息準(zhǔn)確娱挨,如齡期等)荔燎,這是缺陷狀態(tài)的管理。

\5. 為了更好的改進(jìn)開發(fā)過(guò)程和測(cè)試過(guò)程练对,需要對(duì)缺陷進(jìn)行分析央碟,總結(jié)如缺陷的類別税灌、缺陷的齡期分布等信息,這是缺陷分析的管理亿虽。

22.單元測(cè)試菱涤、集成測(cè)試、系統(tǒng)測(cè)試的側(cè)重點(diǎn)是什么?

答:單元測(cè)試是在軟件開發(fā)過(guò)程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng)洛勉,在單元測(cè)試活動(dòng)中狸窘,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試,測(cè)試重點(diǎn)是系統(tǒng)的模塊坯认,包括子程序的正確性驗(yàn)證等翻擒。

集成測(cè)試氓涣,也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上陋气,將所有模塊按照設(shè)計(jì)要求劳吠,組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試巩趁。實(shí)踐表明痒玩,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來(lái)也能正常的工作议慰。程序在某些局部反映不出來(lái)的問(wèn)題蠢古,在全局上很可能暴露出來(lái),影響功能的實(shí)現(xiàn)别凹。測(cè)試重點(diǎn)是模塊間的銜接以及參數(shù)的傳遞等草讶。

系統(tǒng)測(cè)試是將經(jīng)過(guò)測(cè)試的子系統(tǒng)裝配成一個(gè)完整系統(tǒng)來(lái)測(cè)試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說(shuō)明書中指定功能的有效方法炉菲。測(cè)試重點(diǎn)是整個(gè)系統(tǒng)的運(yùn)行以及與其他軟件的兼容性堕战。

23.設(shè)計(jì)用例的方法、依據(jù)有那些?

答:白盒測(cè)試用例設(shè)計(jì)有如下方法:

基本路徑測(cè)試\邊界值分析\覆蓋測(cè)試\循環(huán)測(cè)試\數(shù)據(jù)流測(cè)試\程序插樁測(cè)試\變異測(cè)試.

這時(shí)候依據(jù)就是詳細(xì)設(shè)計(jì)說(shuō)明書及其代碼結(jié)構(gòu)

黑盒測(cè)試用例設(shè)計(jì)方法:

基于用戶需求的測(cè)試\功能圖分析方法\等價(jià)類劃分方法\邊界值分析方法\錯(cuò)誤推測(cè)方法\因果圖方法\判定表驅(qū)動(dòng)分析方法\正交實(shí)驗(yàn)設(shè)計(jì)方法.

依據(jù)是用戶需求規(guī)格說(shuō)明書,詳細(xì)設(shè)計(jì)說(shuō)明書拍霜。

24.描述使用bugzilla缺陷管理工具對(duì)軟件缺陷(BUG)跟蹤的管理的流程

答:1) 測(cè)試人員或開發(fā)人員發(fā)現(xiàn)bug后嘱丢,判斷屬于哪個(gè)模塊的問(wèn)題,填寫bug報(bào)告后祠饺,系統(tǒng)會(huì)自動(dòng)通過(guò)Email通知項(xiàng)目組長(zhǎng)或直接通知開發(fā)者越驻。

2) 經(jīng)驗(yàn)證無(wú)誤后,修改狀態(tài)為VERIFIED.待整個(gè)產(chǎn)品發(fā)布后道偷,修改為CLOSED.

3) 還有問(wèn)題缀旁,REOPENED,狀態(tài)重新變?yōu)椤癗ew"试疙,并發(fā)郵件通知诵棵。

4) 項(xiàng)目組長(zhǎng)根據(jù)具體情況,重新reassigned分配給bug所屬的開發(fā)者祝旷。

5) 若是履澳,進(jìn)行處理,resolved并給出解決方法怀跛。(可創(chuàng)建補(bǔ)丁附件及補(bǔ)充說(shuō)明)

6) 開發(fā)者收到Email信息后距贷,判斷是否為自己的修改范圍。

7) 若不是吻谋,重新reassigned分配給項(xiàng)目組長(zhǎng)或應(yīng)該分配的開發(fā)者忠蝗。

8) 測(cè)試人員查詢開發(fā)者已修改的bug,進(jìn)行重新測(cè)試漓拾。

25.請(qǐng)你分別介紹一下單元測(cè)試阁最、集成測(cè)試戒祠、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試速种、回歸測(cè)試

答;1姜盈、單元測(cè)試:完成最小的軟件設(shè)計(jì)單元(模塊)的驗(yàn)證工作,目標(biāo)是確保模塊被正確的編碼配阵,使用過(guò)程設(shè)計(jì)描述作為指南馏颂,對(duì)重要的控制路徑進(jìn)行測(cè)試以發(fā)現(xiàn)模塊內(nèi)的錯(cuò)誤,通常情況下是白盒的棋傍,對(duì)代碼風(fēng)格和規(guī)則救拉、程序設(shè)計(jì)和結(jié)構(gòu)、業(yè)務(wù)邏輯等進(jìn)行靜態(tài)測(cè)試瘫拣,及早的發(fā)現(xiàn)和解決不易顯現(xiàn)的錯(cuò)誤亿絮。

2、集成測(cè)試:通過(guò)測(cè)試發(fā)現(xiàn)與模塊接口有關(guān)的問(wèn)題拂铡。目標(biāo)是把通過(guò)了單元測(cè)試的模塊拿來(lái)壹无,構(gòu)造一個(gè)在設(shè)計(jì)中所描述的程序結(jié)構(gòu)葱绒,應(yīng)當(dāng)避免一次性的集成(除非軟件規(guī)模很懈兴А),而采用增量集成地淀。

自頂向下集成:模塊集成的順序是首先集成主模塊失球,然后按照控制層次結(jié)構(gòu)向下進(jìn)行集成,隸屬于主模塊的模塊按照深度優(yōu)先或廣度優(yōu)先的方式集成到整個(gè)結(jié)構(gòu)中去帮毁。

自底向上集成:從原子模塊開始來(lái)進(jìn)行構(gòu)造和測(cè)試实苞,因?yàn)槟K是自底向上集成的,進(jìn)行時(shí)要求所有隸屬于某個(gè)給頂層次的模塊總是存在的烈疚,也不再有使用穩(wěn)定測(cè)試樁的必要黔牵。

3、系統(tǒng)測(cè)試:是基于系統(tǒng)整體需求說(shuō)明書的黑盒類測(cè)試爷肝,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件猾浦。系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義灯抛,找出與需求規(guī)格不相符合或與之矛盾的地方金赦。系統(tǒng)測(cè)試的對(duì)象不僅僅包括需要測(cè)試的產(chǎn)品系統(tǒng)的軟件,還要包含軟件所依賴的硬件对嚼、外設(shè)甚至包括某些數(shù)據(jù)夹抗、某些支持軟件及其接口等。因此纵竖,必須將系統(tǒng)中的軟件與各種依賴的資源結(jié)合起來(lái)漠烧,在系統(tǒng)實(shí)際運(yùn)行環(huán)境下來(lái)進(jìn)行測(cè)試杏愤。

4、回歸測(cè)試:回歸測(cè)試是指在發(fā)生修改之后重新測(cè)試先前的測(cè)試用例以保證修改的正確性已脓。理論上声邦,軟件產(chǎn)生新版本,都需要進(jìn)行回歸測(cè)試摆舟,驗(yàn)證以前發(fā)現(xiàn)和修復(fù)的錯(cuò)誤是否在新軟件版本上再次出現(xiàn)亥曹。根據(jù)修復(fù)好了的缺陷再重新進(jìn)行測(cè)試『抻眨回歸測(cè)試的目的在于驗(yàn)證以前出現(xiàn)過(guò)但已經(jīng)修復(fù)好的缺陷不再重新出現(xiàn)媳瞪。一般指對(duì)某已知修正的缺陷再次圍繞它原來(lái)出現(xiàn)時(shí)的步驟重新測(cè)試。

5照宝、驗(yàn)收測(cè)試:驗(yàn)收測(cè)試是指系統(tǒng)開發(fā)生命周期方法論的一個(gè)階段蛇受,這時(shí)相關(guān)的用戶或獨(dú)立測(cè)試人員根據(jù)測(cè)試計(jì)劃和結(jié)果對(duì)系統(tǒng)進(jìn)行測(cè)試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)厕鹃。它是一項(xiàng)確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測(cè)試兢仰。驗(yàn)收測(cè)試包括Alpha測(cè)試和Beta測(cè)試。

Alpha測(cè)試:是由用戶在開發(fā)者的場(chǎng)所來(lái)進(jìn)行的剂碴,在一個(gè)受控的環(huán)境中進(jìn)行把将。

Beta測(cè)試:由軟件的最終用戶在一個(gè)或多個(gè)用戶場(chǎng)所來(lái)進(jìn)行的,開發(fā)者通常不在現(xiàn)場(chǎng)忆矛,用戶記錄測(cè)試中遇到的問(wèn)題并報(bào)告給開發(fā)者察蹲,開發(fā)者對(duì)系統(tǒng)進(jìn)行最后的修改,并開始準(zhǔn)備發(fā)布最終的軟件催训。

26.請(qǐng)你回答一下單元測(cè)試洽议、集成測(cè)試、系統(tǒng)測(cè)試漫拭、驗(yàn)收測(cè)試亚兄、回歸測(cè)試這幾步中最重要的是哪一步

答:這些測(cè)試步驟分別在軟件開發(fā)的不同階段對(duì)軟件進(jìn)行測(cè)試,我認(rèn)為對(duì)軟件完整功能進(jìn)行測(cè)試的系統(tǒng)測(cè)試很重要采驻,因?yàn)榇藭r(shí)單元測(cè)試和集成測(cè)試已完成审胚,能夠?qū)浖泄δ苓M(jìn)行功能測(cè)試,能夠覆蓋系統(tǒng)所有聯(lián)合的部件挑宠,是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試菲盾,能夠驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,因此我認(rèn)為系統(tǒng)測(cè)試很重要各淀。

27.請(qǐng)回答集成測(cè)試和系統(tǒng)測(cè)試的區(qū)別懒鉴,以及它們的應(yīng)用場(chǎng)景主要是什么?

參考回答:

區(qū)別:

1、計(jì)劃和用例編制的先后順序:從V模型來(lái)講临谱,在需求階段就要制定系統(tǒng)測(cè)試計(jì)劃和用例璃俗,HLD的時(shí)候做集成測(cè)試計(jì)劃和用例,有些公司的具體實(shí)踐不一樣悉默,但是順序肯定是先做系統(tǒng)測(cè)試計(jì)劃用例城豁,再做集成。

2抄课、用例的粒度:系統(tǒng)測(cè)試用例相對(duì)很接近用戶接受測(cè)試用例唱星,集成測(cè)試用例比系統(tǒng)測(cè)試用例更詳細(xì),而且對(duì)于接口部分要重點(diǎn)寫跟磨,畢竟要集成各個(gè)模塊或者子系統(tǒng)间聊。

3、執(zhí)行測(cè)試的順序:先執(zhí)行集成測(cè)試抵拘,待集成測(cè)試出的問(wèn)題修復(fù)之后哎榴,再做系統(tǒng)測(cè)試。

應(yīng)用場(chǎng)景:

集成測(cè)試:完成單元測(cè)試后僵蛛,各模塊聯(lián)調(diào)測(cè)試尚蝌;集中在各模塊的接口是否一致、各模塊間的數(shù)據(jù)流和控制流是否按照設(shè)計(jì)實(shí)現(xiàn)其功能充尉、以及結(jié)果的正確性驗(yàn)證等等飘言;可以是整個(gè)產(chǎn)品的集成測(cè)試,也可以是大模塊的集成測(cè)試喉酌;集成測(cè)試主要是針對(duì)程序內(nèi)部結(jié)構(gòu)進(jìn)行測(cè)試热凹,特別是對(duì)程序之間的接口進(jìn)行測(cè)試泵喘。集成測(cè)試對(duì)測(cè)試人員的編寫腳本能力要求比較高泪电。測(cè)試方法一般選用黑盒測(cè)試和白盒測(cè)試相結(jié)合。

系統(tǒng)測(cè)試:針對(duì)整個(gè)產(chǎn)品的全面測(cè)試纪铺,既包含各模塊的驗(yàn)證性測(cè)試(驗(yàn)證前兩個(gè)階段測(cè)試的正確性)和功能性(產(chǎn)品提交個(gè)用戶的功能)測(cè)試相速,又包括對(duì)整個(gè)產(chǎn)品的健壯性、安全性鲜锚、可維護(hù)性及各種性能參數(shù)的測(cè)試突诬。系統(tǒng)測(cè)試測(cè)試軟件《需求規(guī)格說(shuō)明書》中提到的功能是否有遺漏,是否正確的實(shí)現(xiàn)芜繁。做系統(tǒng)測(cè)試要嚴(yán)格按照《需求規(guī)格說(shuō)明書》旺隙,以它為標(biāo)準(zhǔn)。測(cè)試方法一般都使用黑盒測(cè)試法骏令。

28.請(qǐng)問(wèn)測(cè)試開發(fā)需要哪些知識(shí)蔬捷?需要具備什么能力?

需要的知識(shí):

軟件測(cè)試基礎(chǔ)理論知識(shí),如黑盒測(cè)試周拐、白盒測(cè)試等铡俐;

考編程語(yǔ)言基礎(chǔ),如C/C++妥粟、java审丘、python等;

自動(dòng)化測(cè)試工具勾给,如Selenium滩报、Appium、Robotium等播急;

計(jì)算機(jī)基礎(chǔ)知識(shí)露泊,如數(shù)據(jù)庫(kù)、Linux旅择、計(jì)算機(jī)網(wǎng)絡(luò)等惭笑;

測(cè)試框架,如JUnit等生真。

需要具備的能力:

業(yè)務(wù)分析能力沉噩,分析整體業(yè)務(wù)流程、分析被測(cè)業(yè)務(wù)數(shù)據(jù)柱蟀、分析被測(cè)系統(tǒng)架構(gòu)川蒙、分析被測(cè)業(yè)務(wù)模塊、分析測(cè)試所需資源长已、分析測(cè)試完成目標(biāo)畜眨;

缺陷洞察能力,一般缺陷的發(fā)現(xiàn)能力术瓮、隱性問(wèn)題的發(fā)現(xiàn)能力康聂、發(fā)現(xiàn)連帶問(wèn)題的能力、發(fā)現(xiàn)問(wèn)題隱患的能力胞四、盡早發(fā)現(xiàn)問(wèn)題的能力恬汁、發(fā)現(xiàn)問(wèn)題根源的能力;

團(tuán)隊(duì)協(xié)作能力辜伟,合理進(jìn)行人員分工氓侧、協(xié)助組員解決問(wèn)題、配合完成測(cè)試任務(wù)导狡、配合開發(fā)重現(xiàn)缺陷约巷、督促項(xiàng)目整體進(jìn)度、出現(xiàn)問(wèn)題勇于承擔(dān)旱捧;

專業(yè)技術(shù)能力独郎,掌握測(cè)試基礎(chǔ)知識(shí)、掌握計(jì)算機(jī)知識(shí)、熟練運(yùn)用測(cè)試工具囚聚;

邏輯思考能力靖榕,判斷邏輯的正確性、對(duì)可行性邏輯分析顽铸、站在客觀角度思考茁计;

問(wèn)題解決能力,技術(shù)上的問(wèn)題谓松、工作中的問(wèn)題星压、溝通問(wèn)題;

溝通表達(dá)能力鬼譬,和技術(shù)人員娜膘、產(chǎn)品人員、上下級(jí)的溝通优质;

宏觀把控能力竣贪,有效控制測(cè)試時(shí)間、有效控制測(cè)試成本巩螃、有效制定測(cè)試計(jì)劃演怎、有效進(jìn)行風(fēng)險(xiǎn)評(píng)估、有效控制測(cè)試方向避乏。

29.請(qǐng)說(shuō)一說(shuō)黑盒與白盒的測(cè)試方法

參考回答:

黑盒測(cè)試:

黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試爷耀,它是在已知產(chǎn)品所應(yīng)具有的功能,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用拍皮,在測(cè)試時(shí)歹叮,把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下铆帽,測(cè)試者在程序接口進(jìn)行測(cè)試咆耿,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息锄贼,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性票灰。

“黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)宅荤、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試〗撸“黑盒”法是窮舉輸入測(cè)試冯键,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤庸汗。實(shí)際上測(cè)試情況有無(wú)窮多個(gè)惫确,因此不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。

常用的黑盒測(cè)試方法有:等價(jià)類劃分法改化;邊界值分析法掩蛤;因果圖法;場(chǎng)景法陈肛;正交實(shí)驗(yàn)設(shè)計(jì)法揍鸟;判定表驅(qū)動(dòng)分析法;錯(cuò)誤推測(cè)法句旱;功能圖分析法阳藻。

白盒測(cè)試:

白盒測(cè)試也稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,是針對(duì)被測(cè)單元內(nèi)部是如何進(jìn)行工作的測(cè)試谈撒。它根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例腥泥,主要用于軟件或程序驗(yàn)證。白盒測(cè)試法檢查程序內(nèi)部邏輯結(jié)構(gòu)啃匿,對(duì)所有的邏輯路徑進(jìn)行測(cè)試蛔外,是一種窮舉路徑的測(cè)試方法,但即使每條路徑都測(cè)試過(guò)了溯乒,但仍然有可能存在錯(cuò)誤冒萄。因?yàn)椋焊F舉路徑測(cè)試無(wú)法檢查出程序本身是否違反了設(shè)計(jì)規(guī)范,即程序是否是一個(gè)錯(cuò)誤的程序橙数;窮舉路徑測(cè)試不可能檢查出程序因?yàn)檫z漏路徑而出錯(cuò)尊流;窮舉路徑測(cè)試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。

白盒測(cè)試需要遵循的原則有:1. 保證一個(gè)模塊中的所有獨(dú)立路徑至少被測(cè)試一次灯帮;2. 所有邏輯值均需要測(cè)試真(true)和假(false)崖技;兩種情況;3. 檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)钟哥,保證其結(jié)構(gòu)的有效性迎献;4. 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。

常用白盒測(cè)試方法:

靜態(tài)測(cè)試:不用運(yùn)行程序的測(cè)試腻贰,包括代碼檢查吁恍、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量播演、文檔測(cè)試等等扇救,它可以由人工進(jìn)行蔽氨,充分發(fā)揮人的邏輯思維優(yōu)勢(shì),也可以借助軟件工具(Fxcop)自動(dòng)進(jìn)行。

動(dòng)態(tài)測(cè)試:需要執(zhí)行代碼蚂夕,通過(guò)運(yùn)行程序找到問(wèn)題滞诺,包括功能確認(rèn)與接口測(cè)試吨悍、覆蓋率分析、性能分析尼啡、內(nèi)存分析等。

白盒測(cè)試中的邏輯覆蓋包括語(yǔ)句覆蓋询微、判定覆蓋崖瞭、條件覆蓋、判定/條件覆蓋撑毛、條件組合覆蓋和路徑覆蓋书聚。六種覆蓋標(biāo)準(zhǔn)發(fā)現(xiàn)錯(cuò)誤的能力呈由弱到強(qiáng)的變化:

1.語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次。

2.判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次代态。

3.條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值寺惫。

4.判定/條件覆蓋同時(shí)滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次蹦疑。

6.路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次西雀。

30.請(qǐng)說(shuō)一下手動(dòng)測(cè)試與自動(dòng)化測(cè)試的優(yōu)缺點(diǎn)

手工測(cè)試缺點(diǎn):

1、重復(fù)的手工回歸測(cè)試歉摧,代價(jià)昂貴艇肴、容易出錯(cuò)。

2叁温、依賴于軟件測(cè)試人員的能力再悼。

手工測(cè)試優(yōu)點(diǎn):

1、測(cè)試人員具有經(jīng)驗(yàn)和對(duì)錯(cuò)誤的猜測(cè)能力膝但。

2冲九、測(cè)試人員具有審美能力和心理體驗(yàn)。

3跟束、測(cè)試人員具有是非判斷和邏輯推理能力莺奸。

自動(dòng)化測(cè)試的優(yōu)點(diǎn):

1、對(duì)程序的回歸測(cè)試更方便冀宴。這可能是自動(dòng)化測(cè)試最主要的任務(wù)灭贷,特別是在程序修改比較頻繁時(shí),效果是非常明顯的略贮。由于回歸測(cè)試的動(dòng)作和用例是完全設(shè)計(jì)好的甚疟,測(cè)試期望的結(jié)果也是完全可以預(yù)料的,將回歸測(cè)試自動(dòng)運(yùn)行逃延,可以極大提高測(cè)試效率览妖,縮短回歸測(cè)試時(shí)間。

2真友、可以運(yùn)行更多更繁瑣的測(cè)試黄痪。自動(dòng)化的一個(gè)明顯的好處是可以在較少的時(shí)間內(nèi)運(yùn)行更多的測(cè)試。

3盔然、可以執(zhí)行一些手工測(cè)試?yán)щy或不可能進(jìn)行的測(cè)試桅打。比如,對(duì)于大量用戶的測(cè)試愈案,不可能同時(shí)讓足夠多的測(cè)試人員同時(shí)進(jìn)行測(cè)試挺尾,但是卻可以通過(guò)自動(dòng)化測(cè)試模擬同時(shí)有許多用戶,從而達(dá)到測(cè)試的目的站绪。

4遭铺、更好地利用資源。將繁瑣的任務(wù)自動(dòng)化恢准,可以提高準(zhǔn)確性和測(cè)試人員的積極性魂挂,將測(cè)試技術(shù)人員解脫出來(lái)投入更多精力設(shè)計(jì)更好的測(cè)試用例。有些測(cè)試不適合于自動(dòng)測(cè)試馁筐,僅適合于手工測(cè)試涂召,將可自動(dòng)測(cè)試的測(cè)試自動(dòng)化后,可以讓測(cè)試人員專注于手工測(cè)試部分敏沉,提高手工測(cè)試的效率果正。

5、測(cè)試具有一致性和可重復(fù)性盟迟。由于測(cè)試是自動(dòng)執(zhí)行的秋泳,每次測(cè)試的結(jié)果和執(zhí)行的內(nèi)容的一致性是可以得到保障的,從而達(dá)到測(cè)試的可重復(fù)的效果攒菠。

6迫皱、測(cè)試的復(fù)用性。由于自動(dòng)測(cè)試通常采用腳本技術(shù)辖众,這樣就有可能只需要做少量的甚至不做修改卓起,實(shí)現(xiàn)在不同的測(cè)試過(guò)程中使用相同的用例。

7赵辕、增加軟件信任度既绩。由于測(cè)試是自動(dòng)執(zhí)行的,所以不存在執(zhí)行過(guò)程中的疏忽和錯(cuò)誤还惠,完全取決于測(cè)試的設(shè)計(jì)質(zhì)量饲握。一旦軟件通過(guò)了強(qiáng)有力的自動(dòng)測(cè)試后,軟件的信任度自然會(huì)增加蚕键。

自動(dòng)化測(cè)試的缺點(diǎn):

1救欧、不能取代手工測(cè)試

2、手工測(cè)試比自動(dòng)測(cè)試發(fā)現(xiàn)的缺陷更多

3锣光、對(duì)測(cè)試質(zhì)量的依賴性極大

4笆怠、測(cè)試自動(dòng)化不能提高有效性

5、測(cè)試自動(dòng)化可能會(huì)制約軟件開發(fā)誊爹。由于自動(dòng)測(cè)試比手動(dòng)測(cè)試更脆弱蹬刷,所以維護(hù)會(huì)受到限制瓢捉,從而制約軟件的開發(fā)。

6办成、工具本身并無(wú)想像力

31.請(qǐng)問(wèn)你怎么看待軟件測(cè)試的潛力和挑戰(zhàn)

軟件測(cè)試是正在快速發(fā)展泡态,充滿挑戰(zhàn)的領(lǐng)域。盡管現(xiàn)在許多自動(dòng)化測(cè)試軟件的出現(xiàn)使得傳統(tǒng)手工測(cè)試的方式被代替迂卢,但自動(dòng)化測(cè)試工具的開發(fā)某弦、安全測(cè)試、測(cè)試建模而克、精準(zhǔn)測(cè)試靶壮、性能測(cè)試、可靠性測(cè)試等專項(xiàng)測(cè)試中仍然需要大量具有專業(yè)技能與專業(yè)素養(yǎng)的測(cè)試人員员萍,并且隨著云計(jì)算腾降、物聯(lián)網(wǎng)、大數(shù)據(jù)的發(fā)展充活,傳統(tǒng)的測(cè)試技術(shù)可能不再適用蜂莉,測(cè)試人員也因此面臨著挑戰(zhàn),需要深入了解新場(chǎng)景并針對(duì)不同場(chǎng)景嘗試新的測(cè)試方法混卵,同時(shí)敏捷測(cè)試映穗、Devops的出現(xiàn)也顯示了軟件測(cè)試的潛力。

32.你覺得軟件測(cè)試的核心競(jìng)爭(zhēng)力是什么

測(cè)試人員的核心競(jìng)爭(zhēng)力在于提早發(fā)現(xiàn)問(wèn)題幕随,并能夠發(fā)現(xiàn)別人無(wú)法發(fā)現(xiàn)的問(wèn)題蚁滋。

1、早發(fā)現(xiàn)問(wèn)題:?jiǎn)栴}發(fā)現(xiàn)的越早赘淮,解決的成本越低辕录。如果一個(gè)需求在還未實(shí)現(xiàn)的時(shí)候就能發(fā)現(xiàn)需求的漏洞,那么這種問(wèn)題的價(jià)值是最高的梢卸。

2走诞、發(fā)現(xiàn)別人無(wú)法發(fā)現(xiàn)的問(wèn)題:所有人都能發(fā)現(xiàn)的問(wèn)題,你發(fā)現(xiàn)了蛤高,那就證明你是可以被替代的蚣旱。別人發(fā)現(xiàn)不了,而你可以發(fā)現(xiàn)戴陡,那么你就是無(wú)法被替代塞绿。

33.你覺得測(cè)試和開發(fā)需要怎么結(jié)合才能使軟件的質(zhì)量得到更好的保障

參考回答:

測(cè)試和開發(fā)應(yīng)該按照W模型的方式進(jìn)行結(jié)合,測(cè)試和開發(fā)同步進(jìn)行恤批,能夠盡早發(fā)現(xiàn)軟件缺陷异吻,降低軟件開發(fā)的成本。

在V模型中喜庞,測(cè)試過(guò)程被加在開發(fā)過(guò)程的后半部分诀浪,單元測(cè)試所檢測(cè)代碼的開發(fā)是否符合詳細(xì)設(shè)計(jì)的要求棋返。集成測(cè)試所檢測(cè)此前測(cè)試過(guò)的各組成部分是否能完好地結(jié)合到一起。系統(tǒng)測(cè)試所檢測(cè)已集成在一起的產(chǎn)品是否符合系統(tǒng)規(guī)格說(shuō)明書的要求笋妥。而驗(yàn)收測(cè)試則檢測(cè)產(chǎn)品是否符合最終用戶的需求懊昨。V模型的缺陷在于僅僅把測(cè)試過(guò)程作為在需求分析窄潭、系統(tǒng)設(shè)計(jì)及編碼之后的一個(gè)階段春宣,忽視了測(cè)試對(duì)需求分析、系統(tǒng)設(shè)計(jì)的驗(yàn)證嫉你,因此需求階段的缺陷很可能一直到后期的驗(yàn)收測(cè)試才被發(fā)現(xiàn)月帝,此時(shí)進(jìn)行彌補(bǔ)將耗費(fèi)大量人力物力資源。

相對(duì)于V模型幽污,W模型增加了軟件各開發(fā)階段中應(yīng)同步進(jìn)行的驗(yàn)證和確認(rèn)活動(dòng)嚷辅。W模型由兩個(gè)V字型模型組成,分別代表測(cè)試與開發(fā)過(guò)程距误,圖中明確表示出了測(cè)試與開發(fā)的并行關(guān)系簸搞。

W模型強(qiáng)調(diào):測(cè)試伴隨著整個(gè)軟件開發(fā)周期,而且測(cè)試的對(duì)象不僅僅是程序准潭,需求趁俊、設(shè)計(jì)等同樣要測(cè)試,也就是說(shuō)刑然,測(cè)試與開發(fā)是同步進(jìn)行的寺擂。W模型有利于盡早地全面的發(fā)現(xiàn)問(wèn)題。例如泼掠,需求分析完成后怔软,測(cè)試人員就應(yīng)該參與到對(duì)需求的驗(yàn)證和確認(rèn)活動(dòng)中,以盡早地找出缺陷所在择镇。同時(shí)挡逼,對(duì)需求的測(cè)試也有利于及時(shí)了解項(xiàng)目難度和測(cè)試風(fēng)險(xiǎn),及早制定應(yīng)對(duì)措施腻豌,這將顯著減少總體測(cè)試時(shí)間家坎,加快項(xiàng)目進(jìn)度。

W模型中測(cè)試的活動(dòng)與軟件開發(fā)同步進(jìn)行饲梭,測(cè)試的對(duì)象不僅僅是程序乘盖,還包括需求和設(shè)計(jì),因此能夠盡早發(fā)現(xiàn)軟件缺陷憔涉,降低軟件開發(fā)的成本订框。

34.你覺得單元測(cè)試可行嗎

參考回答:

可行,單元測(cè)試可以有效地測(cè)試某個(gè)程序模塊的行為兜叨,是未來(lái)重構(gòu)代碼的信心保證穿扳。事前可以保證質(zhì)量衩侥,事后可以快速?gòu)?fù)現(xiàn)問(wèn)題,并在修改代碼后做回歸自測(cè)矛物∶K溃可行性考慮的是要用一些可行的方法做到關(guān)鍵的代碼可測(cè)試,如通過(guò)邊界條件履羞、等價(jià)類劃分峦萎、錯(cuò)誤、因果忆首,設(shè)計(jì)測(cè)試用例要覆蓋常用的輸入組合爱榔、邊界條件和異常。

35.你覺得自動(dòng)化測(cè)試有什么意義糙及,都需要做些什么

自動(dòng)化測(cè)試的意義在于

1详幽、可以對(duì)程序的新版本自動(dòng)執(zhí)行回歸測(cè)試

2、可以執(zhí)行手工測(cè)試?yán)щy或者不可能實(shí)現(xiàn)的測(cè)試浸锨,如壓力測(cè)試唇聘,并發(fā)測(cè)試,

3柱搜、能夠更好的利用資源迟郎,節(jié)省時(shí)間和人力

執(zhí)行自動(dòng)化測(cè)試之前首先判斷這個(gè)項(xiàng)目是不是和推廣自動(dòng)化測(cè)試,然后對(duì)項(xiàng)目做需求分析冯凹,指定測(cè)試計(jì)劃谎亩,搭建自動(dòng)化測(cè)試框架,設(shè)計(jì)測(cè)試用例宇姚,執(zhí)行測(cè)試匈庭,評(píng)估

36.請(qǐng)你回答一下測(cè)試的相關(guān)流程是什么?

測(cè)試最規(guī)范的過(guò)程如下

需求測(cè)試->概要設(shè)計(jì)測(cè)試->詳細(xì)設(shè)計(jì)測(cè)試->單元測(cè)試->集成測(cè)試->系統(tǒng)測(cè)試->驗(yàn)收測(cè)試

來(lái)自W模型

37.請(qǐng)你說(shuō)一下如何寫測(cè)試用例浑劳?

1阱持、測(cè)試人員盡早介入,徹底理解清楚需求魔熏,這個(gè)是寫好測(cè)試用例的基礎(chǔ)

2衷咽、如果以前有類似的需求,可以參考類似需求的測(cè)試用例蒜绽,然后還需要看類似需求的bug情況

3镶骗、清楚輸入、輸出的各種可能性躲雅,以及各種輸入的之間的關(guān)聯(lián)關(guān)系鼎姊,理解清楚需求的執(zhí)行邏輯,通過(guò)等價(jià)類、邊界值相寇、判定表等方法找出大部分用例

4慰于、找到需求相關(guān)的一些特性,補(bǔ)充測(cè)試用例

5唤衫、根據(jù)自己的經(jīng)驗(yàn)分析遺漏的測(cè)試場(chǎng)景

6婆赠、多總結(jié)類似功能點(diǎn)的測(cè)試點(diǎn),才能夠?qū)懗鲑|(zhì)量越來(lái)越高的測(cè)試用例

7佳励、書寫格式一定要清晰

38.請(qǐng)問(wèn)你覺得測(cè)試項(xiàng)目具體工作是什么休里?

答;搭建測(cè)試環(huán)境

撰寫測(cè)試用例

執(zhí)行測(cè)試用例

寫測(cè)試計(jì)劃,測(cè)試報(bào)告

測(cè)試植兰,并提交BUG表單

跟蹤bug修改情況

執(zhí)行自動(dòng)化測(cè)試份帐,編寫腳本,執(zhí)行楣导,分析,報(bào)告

進(jìn)行性能測(cè)試畜挨,壓力測(cè)試等其他測(cè)試筒繁,執(zhí)行,分析巴元,調(diào)優(yōu)毡咏,報(bào)告

39.請(qǐng)問(wèn)如果想進(jìn)行bug的測(cè)評(píng),怎么去評(píng)測(cè)bug逮刨?

Bug的priority()和severity()是兩個(gè)重要屬性呕缭,通常人員在提交bug的時(shí)候,只定義severity修己,而將priority交給leader定義恢总,通常bug管理中,severity分為四個(gè)等級(jí)blocker睬愤、critical片仿、major、minor/trivial尤辱,而priority分為五個(gè)等級(jí)immediate砂豌、urgent、high光督、normal阳距、low。

Severity:

1结借、blocker:即系統(tǒng)無(wú)法執(zhí)行筐摘,崩潰,或嚴(yán)重資源不足,應(yīng)用模塊無(wú)法啟動(dòng)或異常退出蓄拣,無(wú)法測(cè)試扬虚,造成系統(tǒng)不穩(wěn)定。常見的有嚴(yán)重花屏球恤、內(nèi)存泄漏辜昵、用戶數(shù)據(jù)丟失或破壞、系統(tǒng)崩潰/死機(jī)/凍結(jié)咽斧、模塊無(wú)法啟動(dòng)或異常退出堪置、嚴(yán)重的數(shù)值計(jì)算錯(cuò)誤、功能設(shè)計(jì)與需求嚴(yán)重不符张惹、其它導(dǎo)致無(wú)法測(cè)試的錯(cuò)誤舀锨, 如服務(wù)器500錯(cuò)誤。

2宛逗、critical:即映像系統(tǒng)功能或操作坎匿,主要功能存在嚴(yán)重缺陷,但不會(huì)映像到系統(tǒng)穩(wěn)定性雷激。常見的有:功能未實(shí)現(xiàn)替蔬,功能錯(cuò)誤、系統(tǒng)刷新錯(cuò)誤屎暇、數(shù)據(jù)通訊錯(cuò)誤承桥、輕微的數(shù)值計(jì)算錯(cuò)誤、影響功能及界面的錯(cuò)誤字或拼寫錯(cuò)誤根悼。

3凶异、major:即界面、性能缺陷挤巡、兼容性剩彬,常見的有:操作界面錯(cuò)誤,邊界條件錯(cuò)誤玄柏,提示信息錯(cuò)誤襟衰,長(zhǎng)時(shí)間操作無(wú)進(jìn)度提示,系統(tǒng)未優(yōu)化粪摘,兼容性問(wèn)題瀑晒。

4、minor/trivial:即易用性及建議性問(wèn)題徘意。

Priority

1苔悦、immediate:即馬上解決,

2椎咧、urgent:急需解決

3玖详、high:高度重視把介,有時(shí)間要馬上解決

4、low:在系統(tǒng)發(fā)布前解決蟋座,或確認(rèn)可以不用解決拗踢。

40.請(qǐng)你說(shuō)一說(shuō)測(cè)試用例的邊界?

邊界值分析法就是對(duì)輸入或輸出的邊界值進(jìn)行測(cè)試的一種黑盒測(cè)試方法。通常邊界值分析法是作為對(duì)等價(jià)類劃分法的補(bǔ)充向臀,這種情況下巢墅,其測(cè)試用例來(lái)自等價(jià)類的邊界。

常見的邊界值

1)對(duì)16-bit 的整數(shù)而言 32767 和 -32768 是邊界

2)屏幕上光標(biāo)在最左上券膀、最右下位置

3)報(bào)表的第一行和最后一行

4)數(shù)組元素的第一個(gè)和最后一個(gè)

5)循環(huán)的第 0 次君纫、第 1 次和倒數(shù)第 2 次、最后一次

41.請(qǐng)你說(shuō)一下軟件質(zhì)量的六個(gè)特征?

按照軟件質(zhì)量國(guó)家標(biāo)準(zhǔn)GB-T8566–2001G芹彬,軟件質(zhì)量可以用下列特征來(lái)評(píng)價(jià):

a.功能特征:與一組功能及其指定性質(zhì)有關(guān)的一組屬性蓄髓,這里的功能是滿足明確或隱含的需求的那些功能。

b.可靠特征:在規(guī)定的一段時(shí)間和條件下舒帮,與軟件維持其性能水平的能力有關(guān)的一組屬性会喝。

c.易用特征:由一組規(guī)定或潛在的用戶為使用軟件所需作的努力和所作的評(píng)價(jià)有關(guān)的一組屬性晰搀。

d.效率特征:與在規(guī)定條件下軟件的性能水平與所使用資源量之間關(guān)系有關(guān)的一組屬性控淡。

e.可維護(hù)特征:與進(jìn)行指定的修改所需的努力有關(guān)的一組屬性。

f.可移植特征:與軟件從一個(gè)環(huán)境轉(zhuǎn)移到另一個(gè)環(huán)境的能力有關(guān)的一組屬性绰沥。

42.請(qǐng)你說(shuō)一下設(shè)計(jì)測(cè)試用例的方法

黑盒測(cè)試:

1.等價(jià)類劃分

等價(jià)類劃分是將系統(tǒng)的輸入域劃分為若干部分瓦宜,然后從每個(gè)部分選取少量代表性數(shù)據(jù)進(jìn)行測(cè)試。等價(jià)類可以劃分為有效等價(jià)類和無(wú)效等價(jià)類岭妖,設(shè)計(jì)測(cè)試用例的時(shí)候要考慮這兩種等價(jià)類临庇。

2.邊界值分析法

邊界值分析法是對(duì)等價(jià)類劃分的一種補(bǔ)充,因?yàn)榇蠖鄶?shù)錯(cuò)誤都在輸入輸出的邊界上昵慌。邊界值分析就是假定大多數(shù)錯(cuò)誤出現(xiàn)在輸入條件的邊界上假夺,如果邊界附件取值不會(huì)導(dǎo)致程序出錯(cuò),那么其他取值出錯(cuò)的可能性也就很小斋攀。

邊界值分析法是通過(guò)優(yōu)先選擇不同等價(jià)類間的邊界值覆蓋有效等價(jià)類和無(wú)效等價(jià)類來(lái)更有效的進(jìn)行測(cè)試已卷,因此該方法要和等價(jià)類劃分法結(jié)合使用。

3.正交試驗(yàn)法

正交是從大量的試驗(yàn)點(diǎn)中挑選出適量的淳蔼、有代表性的點(diǎn)侧蘸。正交試驗(yàn)設(shè)計(jì)是研究多因素多水平的一種設(shè)計(jì)方法,他是一種基于正交表的高效率鹉梨、快速讳癌、經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法。

4.狀態(tài)遷移法

狀態(tài)遷移法是對(duì)一個(gè)狀態(tài)在給定的條件內(nèi)能夠產(chǎn)生需要的狀態(tài)變化存皂,有沒(méi)有出現(xiàn)不可達(dá)的狀態(tài)和非法的狀態(tài)晌坤,狀態(tài)遷移法是設(shè)計(jì)足夠的用例達(dá)到對(duì)系統(tǒng)狀態(tài)的覆蓋、狀態(tài)、條件組合骤菠、狀態(tài)遷移路徑的覆蓋它改。

5.流程分析法

流程分析法主要針對(duì)測(cè)試場(chǎng)景類型屬于流程測(cè)試場(chǎng)景的測(cè)試項(xiàng)下的測(cè)試子項(xiàng)進(jìn)行設(shè)計(jì),這是從白盒測(cè)試中路徑覆蓋分析法借鑒過(guò)來(lái)的一種很重要的方法商乎。

6.輸入域測(cè)試法

輸入域測(cè)試法是針對(duì)輸入會(huì)有各種各樣的輸入值的一個(gè)測(cè)試央拖,他主要考慮 極端測(cè)試、中間范圍測(cè)試截亦,特殊值測(cè)試 爬泥。

7.輸出域分析法

輸出域分析法是對(duì)輸出域進(jìn)行等價(jià)類和邊界值分析,確定是要覆蓋的輸出域樣點(diǎn)崩瓤,反推得到應(yīng)該輸入的輸入值袍啡,從而構(gòu)造出測(cè)試用例,他的目的是為了達(dá)到輸出域的等價(jià)類和邊界值覆蓋却桶。

8.判定表分析法

判定表是分析和表達(dá)多種輸入條件下系統(tǒng)執(zhí)行不同動(dòng)作的工具境输,他可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)的即具體又明確;

9.因果圖法

因果圖是用于描述系統(tǒng)輸入輸出之間的因果關(guān)系颖系、約束關(guān)系嗅剖。因果圖的繪制過(guò)程是對(duì)被測(cè)系統(tǒng)的外部特征的建模過(guò)程,根據(jù)輸入輸出間的因果圖可以得到判定表嘁扼,從而規(guī)劃出測(cè)試用例信粮。

10.錯(cuò)誤猜測(cè)法

錯(cuò)誤猜測(cè)法主要是針對(duì)系統(tǒng)對(duì)于錯(cuò)誤操作時(shí)對(duì)于操作的處理法的猜測(cè)法,從而設(shè)計(jì)測(cè)試用例

11.異常分析法

異常分析法是針對(duì)系統(tǒng)有可能存在的異常操作趁啸,軟硬件缺陷引起的故障進(jìn)行分析强缘,分析發(fā)生錯(cuò)誤時(shí)系統(tǒng)對(duì)于錯(cuò)誤的處理能力和恢復(fù)能力依此設(shè)計(jì)測(cè)試用例。

白盒測(cè)試:

白盒測(cè)試也稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試不傅,是針對(duì)被測(cè)單元內(nèi)部是如何進(jìn)行工作的測(cè)試旅掂。它根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例,主要用于軟件或程序驗(yàn)證访娶。白盒測(cè)試法檢查程序內(nèi)部邏輯結(jié)構(gòu)商虐,對(duì)所有的邏輯路徑進(jìn)行測(cè)試,是一種窮舉路徑的測(cè)試方法崖疤,但即使每條路徑都測(cè)試過(guò)了秘车,但仍然有可能存在錯(cuò)誤。因?yàn)椋焊F舉路徑測(cè)試無(wú)法檢查出程序本身是否違反了設(shè)計(jì)規(guī)范戳晌,即程序是否是一個(gè)錯(cuò)誤的程序鲫尊;窮舉路徑測(cè)試不可能檢查出程序因?yàn)檫z漏路徑而出錯(cuò);窮舉路徑測(cè)試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤沦偎。

白盒測(cè)試需要遵循的原則有:1. 保證一個(gè)模塊中的所有獨(dú)立路徑至少被測(cè)試一次疫向;2. 所有邏輯值均需要測(cè)試真(true)和假(false)咳蔚;兩種情況;3. 檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)搔驼,保證其結(jié)構(gòu)的有效性谈火;4. 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。

常用白盒測(cè)試方法:

靜態(tài)測(cè)試:不用運(yùn)行程序的測(cè)試舌涨,包括代碼檢查糯耍、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量囊嘉、文檔測(cè)試等等温技,它可以由人工進(jìn)行,充分發(fā)揮人的邏輯思維優(yōu)勢(shì)扭粱,也可以借助軟件工具(Fxcop)自動(dòng)進(jìn)行舵鳞。

動(dòng)態(tài)測(cè)試:需要執(zhí)行代碼,通過(guò)運(yùn)行程序找到問(wèn)題琢蛤,包括功能確認(rèn)與接口測(cè)試蜓堕、覆蓋率分析、性能分析博其、內(nèi)存分析等套才。

白盒測(cè)試中的邏輯覆蓋包括語(yǔ)句覆蓋、判定覆蓋慕淡、條件覆蓋背伴、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋峰髓。六種覆蓋標(biāo)準(zhǔn)發(fā)現(xiàn)錯(cuò)誤的能力呈由弱到強(qiáng)的變化:

1.語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次挂据。

2.判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次。

3.條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值儿普。

4.判定/條件覆蓋同時(shí)滿足判定覆蓋條件覆蓋。

5.條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次掷倔。

6.路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次眉孩。

43.請(qǐng)你說(shuō)一說(shuō)測(cè)試工程師的必備技能

需要的知識(shí):

? 軟件測(cè)試基礎(chǔ)理論知識(shí),如黑盒測(cè)試勒葱、白盒測(cè)試等浪汪;

? 編程語(yǔ)言基礎(chǔ),如C/C++凛虽、java死遭、python等;

? 自動(dòng)化測(cè)試工具凯旋,如Selenium呀潭、Appium钉迷、Robotium等;

? 計(jì)算機(jī)基礎(chǔ)知識(shí)钠署,如數(shù)據(jù)庫(kù)糠聪、Linux、計(jì)算機(jī)網(wǎng)絡(luò)等谐鼎;

? 測(cè)試框架舰蟆,如JUnit等。

需要具備的能力:

? 業(yè)務(wù)分析能力狸棍,分析整體業(yè)務(wù)流程身害、分析被測(cè)業(yè)務(wù)數(shù)據(jù)、分析被測(cè)系統(tǒng)架構(gòu)草戈、分析被測(cè)業(yè)務(wù)模塊塌鸯、分析測(cè)試所需資源、分析測(cè)試完成目標(biāo)猾瘸;

? 缺陷洞察能力界赔,一般缺陷的發(fā)現(xiàn)能力、隱性問(wèn)題的發(fā)現(xiàn)能力牵触、發(fā)現(xiàn)連帶問(wèn)題的能力淮悼、發(fā)現(xiàn)問(wèn)題隱患的能力、盡早發(fā)現(xiàn)問(wèn)題的能力揽思、發(fā)現(xiàn)問(wèn)題根源的能力袜腥;

? 團(tuán)隊(duì)協(xié)作能力,合理進(jìn)行人員分工钉汗、協(xié)助組員解決問(wèn)題羹令、配合完成測(cè)試任務(wù)、配合開發(fā)重現(xiàn)缺陷损痰、督促項(xiàng)目整體進(jìn)度福侈、出現(xiàn)問(wèn)題勇于承擔(dān);

? 專業(yè)技術(shù)能力卢未,掌握測(cè)試基礎(chǔ)知識(shí)肪凛、掌握計(jì)算機(jī)知識(shí)、熟練運(yùn)用測(cè)試工具辽社;

? 邏輯思考能力伟墙,判斷邏輯的正確性、對(duì)可行性邏輯分析滴铅、站在客觀角度思考戳葵;

? 問(wèn)題解決能力,技術(shù)上的問(wèn)題汉匙、工作中的問(wèn)題拱烁、溝通問(wèn)題生蚁;

? 溝通表達(dá)能力,和技術(shù)人員邻梆、產(chǎn)品人員守伸、上下級(jí)的溝通;

? 宏觀把控能力浦妄,有效控制測(cè)試時(shí)間尼摹、有效控制測(cè)試成本、有效制定測(cè)試計(jì)劃剂娄、有效進(jìn)行風(fēng)險(xiǎn)評(píng)估蠢涝、有效控制測(cè)試方向。

44.請(qǐng)你說(shuō)一下app性能測(cè)試的指標(biāo)

1阅懦、內(nèi)存:內(nèi)存消耗測(cè)試節(jié)點(diǎn)的設(shè)計(jì)目標(biāo)是為了讓應(yīng)用不占用過(guò)多的系統(tǒng)資源和二,且及時(shí)釋放內(nèi)存,保障整個(gè)系統(tǒng)的穩(wěn)定性耳胎。當(dāng)然關(guān)于內(nèi)存測(cè)試惯吕,在這里我們需要引入幾個(gè)概念:空閑狀態(tài)、中等規(guī)格怕午、滿規(guī)格废登。

空閑狀態(tài)指打開應(yīng)用后,點(diǎn)擊home鍵讓應(yīng)用后臺(tái)運(yùn)行郁惜,此時(shí)應(yīng)用處于的狀態(tài)叫做空閑堡距;中等規(guī)格和滿規(guī)格指的是對(duì)應(yīng)用的操作時(shí)間的間隔長(zhǎng)短不一,中等規(guī)格時(shí)間較長(zhǎng)兆蕉,滿規(guī)格時(shí)間較短羽戒。

內(nèi)存測(cè)試中存在很多測(cè)試子項(xiàng),清單如下:

●空閑狀態(tài)下的應(yīng)用內(nèi)存消耗虎韵;

●中等規(guī)格狀態(tài)下的應(yīng)用內(nèi)存消耗易稠;

●滿規(guī)格狀態(tài)下的應(yīng)用內(nèi)存消耗;

●應(yīng)用內(nèi)存峰值包蓝;

●應(yīng)用內(nèi)存泄露缩多;

●應(yīng)用是否常駐內(nèi)存;

●壓力測(cè)試后的內(nèi)存使用养晋。

2、CPU:

使用Android提供的view plaincopy在CODE上查看代碼片派生到我的代碼片

adbshell dumpsys CPUinfo |grep packagename >/address/CPU.txt來(lái)獲攘杭亍绳泉;

使用top命令view plaincopy在CODE上查看代碼片派生到我的代碼片

adbshell top |grep packagename>/address/CPU.txt來(lái)獲取。

3姆泻、流量:

網(wǎng)絡(luò)流量測(cè)試是針對(duì)大部分應(yīng)用而言的零酪,可能還有部分應(yīng)用會(huì)關(guān)注網(wǎng)速冒嫡、弱網(wǎng)之類的測(cè)試。

流量測(cè)試包括以下測(cè)試項(xiàng):

應(yīng)用首次啟動(dòng)流量提示四苇;

應(yīng)用后臺(tái)連續(xù)運(yùn)行2小時(shí)的流量值孝凌;

應(yīng)用高負(fù)荷運(yùn)行的流量峰值。

4月腋、電量:

●測(cè)試手機(jī)安裝目標(biāo)APK前后待機(jī)功耗無(wú)明顯差異蟀架;

●常見使用場(chǎng)景中能夠正常進(jìn)入待機(jī),待機(jī)電流在正常范圍內(nèi)榆骚;

●長(zhǎng)時(shí)間連續(xù)使用應(yīng)用無(wú)異常耗電現(xiàn)象片拍。

5、啟動(dòng)速度:

第一類:首次啟動(dòng)–應(yīng)用首次啟動(dòng)所花費(fèi)的時(shí)間妓肢;

第二類:非首次啟動(dòng)–應(yīng)用非首次啟動(dòng)所花費(fèi)的時(shí)間捌省;

第三類:應(yīng)用界面切換–應(yīng)用界面內(nèi)切換所花費(fèi)的時(shí)間。

6碉钠、滑動(dòng)速度纲缓、界面切換速度

7、與服務(wù)器交互的網(wǎng)絡(luò)速度

45.請(qǐng)你說(shuō)一說(shuō)app測(cè)試的工具

參考回答:

功能測(cè)試自動(dòng)化

a) 輕量接口自動(dòng)化測(cè)試

jmeter喊废,

b) APP UI層面的自動(dòng)化

android:UI Automator Viewer祝高,Android Junit,Instrumentation操禀,UIAutomator褂策,

iOS:基于Instrument的iOS UI自動(dòng)化,

性能測(cè)試

a) Web前端性能測(cè)試

網(wǎng)絡(luò)抓包工具:Wireshark

網(wǎng)頁(yè)文件大小

webpagetest

pagespeed insight

chrome adb

b) APP端性能測(cè)試

Android內(nèi)存占用分析:MAT

iOS內(nèi)存問(wèn)題分析:ARC模式

Android WebView性能分析:

iOS WebView性能分析

c) 后臺(tái)服務(wù)性能測(cè)試

負(fù)載颓屑,壓力斤寂,耐久性

可拓展性,基準(zhǔn)

工具:apacheAB揪惦,Jmeter遍搞,LoadRunner,

專項(xiàng)測(cè)試

a) 兼容性測(cè)試

手工測(cè)試:操作系統(tǒng)器腋,分辨率溪猿,rom,網(wǎng)絡(luò)類型

云平臺(tái):testin纫塌,腳本編寫诊县,Android。

b) 流量測(cè)試

Android自帶的流量管理措左,

iOS自帶的Network

tcpdump抓包

WiFi代理抓包:Fiddler

流量節(jié)省方法:壓縮數(shù)據(jù)依痊,json優(yōu)于xml;WebP優(yōu)于傳統(tǒng)的JPG怎披,PNG胸嘁;控制訪問(wèn)的頻次瓶摆;只獲取必要的數(shù)據(jù);緩存性宏;

c) 電量測(cè)試

基于測(cè)試設(shè)備的方法群井,購(gòu)買電量表進(jìn)行測(cè)試。

GSam Battery Monitoe Pro

iOS基于Instrument Energy工具

d) 弱網(wǎng)絡(luò)測(cè)試

手機(jī)自帶的網(wǎng)絡(luò)狀況模擬工具

基于代理的弱網(wǎng)絡(luò)的模擬:

工具:windows:Network Delay Simulator

Mac:Network Link Conditioner

46.請(qǐng)你說(shuō)一說(shuō)bug的周期毫胜,以及描述一下不同類別的bug

參考回答:

1书斜、New:(新的)

當(dāng)某個(gè)“bug”被第一次發(fā)現(xiàn)的時(shí)候,測(cè)試人員需要與項(xiàng)目負(fù)責(zé)人溝通以確認(rèn)發(fā)現(xiàn)的的確是一個(gè)bug指蚁,如果被確認(rèn)是一個(gè)bug菩佑,就將其記錄下來(lái),并將bug的狀態(tài)設(shè)為New

2凝化、Assigned(已指派的)

當(dāng)一個(gè)bug被指認(rèn)為New之后稍坯,將其反饋給開發(fā)人員,開發(fā)人員將確認(rèn)這是否是一個(gè)bug搓劫,如果是瞧哟,開發(fā)組的負(fù)責(zé)人就將這個(gè)bug指定給某位開發(fā)人員處理,并將bug的狀態(tài)設(shè)定為“Assigned”

3枪向、Open(打開的)

一旦開發(fā)人員開始處理bug的時(shí)候勤揩,他(她)就將這個(gè)bug的狀態(tài)設(shè)置為“Open”,這表示開發(fā)人員正在處理這個(gè)“bug”

4秘蛔、Fixed(已修復(fù)的)

當(dāng)開發(fā)人員進(jìn)行處理(并認(rèn)為已經(jīng)解決)之后陨亡,他就可以將這個(gè)bug的狀態(tài)設(shè)置為“Fixed”并將其提交給開發(fā)組的負(fù)責(zé)人,然后開發(fā)組的負(fù)責(zé)人將這個(gè)bug返還給測(cè)試組

5深员、Pending Reset(待在測(cè)試的)

當(dāng)bug被返還到測(cè)試組后负蠕,我們將bug的狀態(tài)設(shè)置為Pending Reset”

6、Reset(再測(cè)試)

測(cè)試組的負(fù)責(zé)人將bug指定給某位測(cè)試人員進(jìn)行再測(cè)試倦畅,并將bug的狀態(tài)設(shè)置為“Reset”

7遮糖、Closed(已關(guān)閉的)

如果測(cè)試人員經(jīng)過(guò)再次測(cè)試之后確認(rèn)bug 已經(jīng)被解決之后,就將bug的狀態(tài)設(shè)置為“Closed”

8叠赐、Reopen(再次打開的)

如果經(jīng)過(guò)再次測(cè)試發(fā)現(xiàn)bug(指bug本身而不是包括因修復(fù)而引發(fā)的新bug)仍然存在的話欲账,測(cè)試人員將bug再次傳遞給開發(fā)組,并將bug的狀態(tài)設(shè)置為“Reopen”

9芭概、Pending Reject(拒絕中)

如果測(cè)試人員傳遞到開發(fā)組的bug被開發(fā)人員認(rèn)為是正常行為而不是bug時(shí)赛不,這種情況下開發(fā)人員可以拒絕,并將bug的狀態(tài)設(shè)置為“Pending Reject”

10罢洲、Rejected(被拒絕的)

測(cè)試組的負(fù)責(zé)人接到上述bug的時(shí)候俄删,如果他(她)發(fā)現(xiàn)這是產(chǎn)品說(shuō)明書中定義的正常行為或者經(jīng)過(guò)與開發(fā)人員的討論之后認(rèn)為這并不能算作bug的時(shí)候,開發(fā)組負(fù)責(zé)人就將這個(gè)bug的狀態(tài)設(shè)置為“Rejected”

11、Postponed(延期)

有些時(shí)候畴椰,對(duì)于一些特殊的bug的測(cè)試需要擱置一段時(shí)間,事實(shí)上有很多原因可能導(dǎo)致這種情況的發(fā)生鸽粉,比如無(wú)效的測(cè)試數(shù)據(jù)斜脂,一些特殊的無(wú)效的功能等等,在這種情況下触机,bug的狀態(tài)就被設(shè)置為“Postponed“

不同類別的bug:

Bug類型

? 代碼錯(cuò)誤

? 界面優(yōu)化

? 設(shè)計(jì)缺陷

? 配置相關(guān)

? 安裝部署

? 安全相關(guān)

? 性能問(wèn)題

? 標(biāo)準(zhǔn)規(guī)范

? 測(cè)試腳本

? 其他

47.請(qǐng)你說(shuō)一說(shuō)PC網(wǎng)絡(luò)故障帚戳,以及如何排除障礙

(1)首先是排除接觸故障,即確保你的網(wǎng)線是可以正常使用的儡首。然后禁用網(wǎng)卡后再啟用片任,排除偶然故障。打開網(wǎng)絡(luò)和共享中心窗口蔬胯,單擊窗口左上側(cè)“更改適配器設(shè)置”右擊其中的“本地連接“或”無(wú)線網(wǎng)絡(luò)連接”对供,單擊快捷菜單中的“禁用”命令,即可禁用所選網(wǎng)絡(luò)氛濒。接下來(lái)重啟網(wǎng)絡(luò)产场,只需右擊后單擊啟用即可。

(2)使用ipconfig查看計(jì)算機(jī)的上網(wǎng)參數(shù)

1舞竿、單擊“開始|所有程序|附件|命令提示符“京景,打開命令提示符窗口

2、輸入ipconfig骗奖,按Enter確認(rèn)确徙,可以看到機(jī)器的配置信息,輸入ipconfig/all,可以看到IP地址和網(wǎng)卡物理地址等相關(guān)網(wǎng)絡(luò)詳細(xì)信息执桌。

(3)使用ping命令測(cè)試網(wǎng)絡(luò)的連通性鄙皇,定位故障范圍

在命令提示符窗口中輸入”ping 127.0.0.1“,數(shù)據(jù)顯示本機(jī)分別發(fā)送和接受了4個(gè)數(shù)據(jù)包鼻吮,丟包率為零育苟,可以判斷本機(jī)網(wǎng)絡(luò)協(xié)議工作正常,如顯示”請(qǐng)求超時(shí)“椎木,則表明本機(jī)網(wǎng)卡的安裝或TCP/IP協(xié)議有問(wèn)題违柏,接下來(lái)就應(yīng)該檢查網(wǎng)卡和TCP/IP協(xié)議,卸載后重裝即可香椎。

(4)ping本機(jī)IP

在確認(rèn)127.0.0.1地址能被ping通的情況下漱竖,繼續(xù)使用ping命令測(cè)試本機(jī)的IP地址能否被ping通,如不能畜伐,說(shuō)明本機(jī)的網(wǎng)卡驅(qū)動(dòng)程序不正確馍惹,或者網(wǎng)卡與網(wǎng)線之間連接有故障,也有可能是本地的路由表面收到了破壞,此時(shí)應(yīng)檢查本機(jī)網(wǎng)卡的狀態(tài)是否為已連接万矾,網(wǎng)絡(luò)參數(shù)是否設(shè)置正確悼吱,如果正確可是不能ping通,就應(yīng)該重新安裝網(wǎng)卡驅(qū)動(dòng)程序良狈。丟失率為零后添,可以判斷網(wǎng)卡安裝配置沒(méi)有問(wèn)題,工作正常薪丁。

(5)ping網(wǎng)關(guān)

網(wǎng)關(guān)地址能被ping通的話遇西,表明本機(jī)網(wǎng)絡(luò)連接以及正常,如果命令不成功严嗜,可能是網(wǎng)關(guān)設(shè)備自身存在問(wèn)題粱檀,也可能是本機(jī)上網(wǎng)參數(shù)設(shè)置有誤,檢查網(wǎng)絡(luò)參數(shù)漫玄。

48.請(qǐng)你說(shuō)一說(shuō)測(cè)試的常用方法

黑盒測(cè)試:

黑盒測(cè)試也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試茄蚯,它是在已知產(chǎn)品所應(yīng)具有的功能,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用称近,在測(cè)試時(shí)第队,把程序看作一個(gè)不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下刨秆,測(cè)試者在程序接口進(jìn)行測(cè)試凳谦,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息衡未,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性尸执。

“黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)缓醋、針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試终蒂〗幌矗“黑盒”法是窮舉輸入測(cè)試愁拭,只有把所有可能的輸入都作為測(cè)試情況使用时捌,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè)抗俄,因此不僅要測(cè)試所有合法的輸入脆丁,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。

常用的黑盒測(cè)試方法有:等價(jià)類劃分法动雹;邊界值分析法槽卫;因果圖法;場(chǎng)景法胰蝠;正交實(shí)驗(yàn)設(shè)計(jì)法歼培;判定表驅(qū)動(dòng)分析法震蒋;錯(cuò)誤推測(cè)法;功能圖分析法躲庄。

白盒測(cè)試:

白盒測(cè)試也稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試查剖,是針對(duì)被測(cè)單元內(nèi)部是如何進(jìn)行工作的測(cè)試。它根據(jù)程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例噪窘,主要用于軟件或程序驗(yàn)證梗搅。白盒測(cè)試法檢查程序內(nèi)部邏輯結(jié)構(gòu),對(duì)所有的邏輯路徑進(jìn)行測(cè)試效览,是一種窮舉路徑的測(cè)試方法,但即使每條路徑都測(cè)試過(guò)了荡短,但仍然有可能存在錯(cuò)誤丐枉。因?yàn)椋焊F舉路徑測(cè)試無(wú)法檢查出程序本身是否違反了設(shè)計(jì)規(guī)范,即程序是否是一個(gè)錯(cuò)誤的程序掘托;窮舉路徑測(cè)試不可能檢查出程序因?yàn)檫z漏路徑而出錯(cuò)瘦锹;窮舉路徑測(cè)試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。

白盒測(cè)試需要遵循的原則有:1. 保證一個(gè)模塊中的所有獨(dú)立路徑至少被測(cè)試一次闪盔;2. 所有邏輯值均需要測(cè)試真(true)和假(false)弯院;兩種情況;3. 檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu)泪掀,保證其結(jié)構(gòu)的有效性听绳;4. 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。

常用白盒測(cè)試方法:

靜態(tài)測(cè)試:不用運(yùn)行程序的測(cè)試异赫,包括代碼檢查椅挣、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量塔拳、文檔測(cè)試等等鼠证,它可以由人工進(jìn)行,充分發(fā)揮人的邏輯思維優(yōu)勢(shì)靠抑,也可以借助軟件工具(Fxcop)自動(dòng)進(jìn)行量九。

動(dòng)態(tài)測(cè)試:需要執(zhí)行代碼,通過(guò)運(yùn)行程序找到問(wèn)題颂碧,包括功能確認(rèn)與接口測(cè)試荠列、覆蓋率分析、性能分析稚伍、內(nèi)存分析等弯予。

白盒測(cè)試中的邏輯覆蓋包括語(yǔ)句覆蓋、判定覆蓋个曙、條件覆蓋锈嫩、判定/條件覆蓋受楼、條件組合覆蓋和路徑覆蓋。六種覆蓋標(biāo)準(zhǔn)發(fā)現(xiàn)錯(cuò)誤的能力呈由弱到強(qiáng)的變化:

1.語(yǔ)句覆蓋每條語(yǔ)句至少執(zhí)行一次呼寸。

2.判定覆蓋每個(gè)判定的每個(gè)分支至少執(zhí)行一次艳汽。

3.條件覆蓋每個(gè)判定的每個(gè)條件應(yīng)取到各種可能的值。

4.判定/條件覆蓋同時(shí)滿足判定覆蓋條件覆蓋对雪。

5.條件組合覆蓋每個(gè)判定中各條件的每一種組合至少出現(xiàn)一次河狐。

6.路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次。

49.請(qǐng)你說(shuō)一說(shuō)你知道的自動(dòng)化測(cè)試框架

參考回答:

1瑟捣、模塊化測(cè)試框架

模塊化測(cè)試腳本框架(TEST MODulARITY FRAMEWORK)需要?jiǎng)?chuàng)建小而獨(dú)立的可以描述的模塊馋艺、片斷以及待測(cè)應(yīng)用程序的腳本。這些樹狀結(jié)構(gòu)的小腳本組合起來(lái)迈套,就能組成能用于特定的測(cè)試用例的腳本捐祠。在五種框架中,模塊化框架是最容易掌握和使用的桑李。在一個(gè)組件上方建立一個(gè)抽象層使其在余下的應(yīng)用中隱藏起來(lái)踱蛀,這是眾所周知的編程技巧。這樣應(yīng)用同組件中的修改隔離開來(lái)贵白,提供了程序設(shè)計(jì)的模塊化特性率拒。模塊化測(cè)試腳本框架使用這一抽象或者封裝的原理來(lái)提高自動(dòng)測(cè)試組合的可維護(hù)性和可升級(jí)性。

2禁荒、測(cè)試庫(kù)框架

測(cè)試庫(kù)框架(Test Library Architecture)與模塊化測(cè)試腳本框架很類似猬膨,并且具有同樣的優(yōu)點(diǎn)。不同的是測(cè)試庫(kù)框架把待測(cè)應(yīng)用程序分解為過(guò)程和函數(shù)而不是腳本圈浇。這個(gè)框架需要?jiǎng)?chuàng)建描述模塊寥掐、片斷以及待測(cè)應(yīng)用程序的功能庫(kù)文件。

3磷蜀、關(guān)鍵字驅(qū)動(dòng)或表驅(qū)動(dòng)的測(cè)試框架

對(duì)于一個(gè)獨(dú)立于應(yīng)用的自動(dòng)化框架召耘,關(guān)鍵字驅(qū)動(dòng)(KEYWORD DRIVEN)I9LJJ試和表驅(qū)動(dòng)(TABLE DRIVEN)測(cè)試是可以互換的術(shù)語(yǔ)。這個(gè)框架需要開發(fā)數(shù)據(jù)表和關(guān)鍵字褐隆。這些數(shù)據(jù)表和關(guān)鍵字獨(dú)立于執(zhí)行它們的測(cè)試自動(dòng)化工具污它,并可以用來(lái)“驅(qū)動(dòng)"待測(cè)應(yīng)用程序和數(shù)據(jù)的測(cè)試腳本代碼,關(guān)鍵宇驅(qū)動(dòng)測(cè)試看上去與手工測(cè)試用例很類似庶弃。在一個(gè)關(guān)鍵字驅(qū)動(dòng)測(cè)試中衫贬,把待測(cè)應(yīng)用程序的功能和每個(gè)測(cè)試的執(zhí)行步驟一起寫到一個(gè)表中。這個(gè)測(cè)試框架可以通過(guò)很少的代碼來(lái)產(chǎn)生大量的測(cè)試用例歇攻。同樣的代碼在用數(shù)據(jù)表來(lái)產(chǎn)生各個(gè)測(cè)試用例的同時(shí)被復(fù)用固惯。

4、數(shù)據(jù)驅(qū)動(dòng)測(cè)試框架

數(shù)據(jù)驅(qū)動(dòng)(DATA DRIVEN)缴守,LJ試是一個(gè)框架葬毫。在這里測(cè)試的輸入和輸出數(shù)據(jù)是從數(shù)據(jù)文件中讀日蚧浴(數(shù)據(jù)池,ODBC源贴捡,CSV文件忽肛,EXCEL文件,ADO對(duì)象等)并且通過(guò)捕獲工具生成或者手工生成的代碼腳本被載入到變量中烂斋。在這個(gè)框架中屹逛,變量不僅被用來(lái)存放輸入值還被用來(lái)存放輸出的驗(yàn)證值。整個(gè)程序中汛骂,測(cè)試腳本來(lái)讀取數(shù)值文件罕模,記載測(cè)試狀態(tài)和信息。這類似于表驅(qū)動(dòng)測(cè)試帘瞭,在表驅(qū)動(dòng)測(cè) 試中手销,它的測(cè)試用例是包含在數(shù)據(jù)文件而不是在腳本中,對(duì)于數(shù)據(jù)而言图张,腳本僅僅是一個(gè)“驅(qū)動(dòng)器”,或者是一個(gè)傳送機(jī)構(gòu)诈悍。然而祸轮,數(shù)據(jù)驅(qū)動(dòng)測(cè)試不同于表驅(qū)動(dòng)測(cè)試,盡管導(dǎo)航數(shù)據(jù)并不包含在表結(jié)構(gòu)中侥钳。在數(shù)據(jù)驅(qū)動(dòng)測(cè)試中适袜,數(shù)據(jù)文件中只包含測(cè)試數(shù)據(jù)。這個(gè)框架意圖減少需要執(zhí)行所有測(cè)試用例所需要的總的測(cè)試腳本數(shù)舷夺。數(shù)據(jù)驅(qū)動(dòng)需要很少的代碼來(lái)產(chǎn)生大量的測(cè)試用例苦酱,這與表驅(qū)動(dòng)極其類似。

5给猾、混合測(cè)試自動(dòng)化(Hybrid Test Automation)框架

最普遍的執(zhí)行框架是上面介紹的所有技術(shù)的一個(gè)結(jié)合疫萤,取其長(zhǎng)處,彌補(bǔ)其不足敢伸。這個(gè)混合測(cè)試框架是由大部分框架隨著時(shí)間并經(jīng)過(guò)若干項(xiàng)目演化而來(lái)的

50.請(qǐng)你說(shuō)一說(shuō)web測(cè)試和app測(cè)試的不同點(diǎn)

系統(tǒng)架構(gòu)方面:

web項(xiàng)目扯饶,一般都是b/s架構(gòu),基于瀏覽器的

app項(xiàng)目池颈,則是c/s的尾序,必須要有客戶端,用戶需要安裝客戶端躯砰。

web測(cè)試只要更新了服務(wù)器端每币,客戶端就會(huì)同步會(huì)更新。App項(xiàng)目則需要客戶端和服務(wù)器都更新琢歇。

性能方面:

web頁(yè)面主要會(huì)關(guān)注響應(yīng)時(shí)間

而app則還需要關(guān)心流量兰怠、電量梦鉴、CPU、GPU痕慢、Memory這些尚揣。

它們服務(wù)端的性能沒(méi)區(qū)別,都是一臺(tái)服務(wù)器掖举。

兼容方面:

web是基于瀏覽器的快骗,所以更傾向于瀏覽器和電腦硬件,電腦系統(tǒng)的方向的兼容

app測(cè)試則要看分辨率塔次,屏幕尺寸方篮,還要看設(shè)備系統(tǒng)。

web測(cè)試是基于瀏覽器的所以不必考慮安裝卸載励负。

而app是客戶端的藕溅,則必須測(cè)試安裝、更新继榆、卸載巾表。除了常規(guī)的安裝、更新略吨、卸載還要考慮到異常場(chǎng)景集币。包括安裝時(shí)的中斷、弱網(wǎng)翠忠、安裝后刪除安裝文件 鞠苟。

此外APP還有一些專項(xiàng)測(cè)試:如網(wǎng)絡(luò)、適配性秽之。

51.請(qǐng)問(wèn)你了解什么測(cè)試方法

參考回答:

等價(jià)類劃分当娱,邊界值分析,錯(cuò)誤推測(cè)考榨,因果圖法跨细,邏輯覆蓋法,程序插樁技術(shù)河质,基本路徑法扼鞋,符號(hào)測(cè)試,錯(cuò)誤驅(qū)動(dòng)測(cè)試

52.請(qǐng)問(wèn)黑盒測(cè)試和白盒測(cè)試有哪些方法

黑盒測(cè)試方法有等價(jià)類劃分愤诱,邊界值分析云头,錯(cuò)誤推測(cè),因果圖法

白盒測(cè)試方法有邏輯覆蓋法淫半,程序插樁技術(shù)溃槐,基本路徑法,符號(hào)測(cè)試科吭,錯(cuò)誤驅(qū)動(dòng)測(cè)試

53.請(qǐng)問(wèn)你怎么看待測(cè)試昏滴,知道哪些測(cè)試的類型猴鲫,有用過(guò)哪些測(cè)試方法?

測(cè)試是軟件開發(fā)中不可或缺的一環(huán)谣殊,測(cè)試通過(guò)經(jīng)濟(jì)拂共,高效的方法,捕捉軟件中的錯(cuò)誤姻几,從而達(dá)到保重軟件內(nèi)在質(zhì)量的目的宜狐。

測(cè)試分為功能測(cè)試和非功能測(cè)試,非功能測(cè)試又可以分為性能測(cè)試蛇捌、壓力測(cè)試抚恒、容量測(cè)試、健壯性測(cè)試络拌、安全性測(cè)試俭驮、可靠性測(cè)試、恢復(fù)性測(cè)試春贸、備份測(cè)試混萝、協(xié)議測(cè)試、兼容性測(cè)試萍恕、可用性測(cè)試譬圣、配置測(cè)試、GUI測(cè)試雄坪。

測(cè)試方法用過(guò)等價(jià)劃分法、邊值分析法屯蹦、錯(cuò)誤推測(cè)法维哈、因果圖法。

54.請(qǐng)問(wèn)你怎么測(cè)試網(wǎng)絡(luò)協(xié)議?

協(xié)議測(cè)試包括四種類型的測(cè)試

1登澜、一致性測(cè)試:檢測(cè)協(xié)議實(shí)現(xiàn)本身與協(xié)議規(guī)范的符合程度

2阔挠、互操作性測(cè)試:基于某一協(xié)議檢測(cè)不同協(xié)議實(shí)現(xiàn)間互操作互通信的能力

3、性能測(cè)試:檢測(cè)協(xié)議實(shí)現(xiàn)的性能指標(biāo)脑蠕,比如數(shù)據(jù)傳輸速度购撼,連接時(shí)間,執(zhí)行速度谴仙,吞吐量迂求,并發(fā)度,

4晃跺、健壯性測(cè)試:檢測(cè)協(xié)議是現(xiàn)在各種惡劣環(huán)境下運(yùn)行的能力揩局,比如注入干擾報(bào)文,通信故障掀虎,信道被切斷

軟件測(cè)試筆試面試題目完全匯總

軟件缺陷:

1)軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書要求的功能

2)軟件出現(xiàn)了產(chǎn)品說(shuō)明書指明不應(yīng)該出現(xiàn)的錯(cuò)誤

3)軟件實(shí)現(xiàn)了產(chǎn)品說(shuō)明書未提到的功能

4)軟件未實(shí)現(xiàn)產(chǎn)品說(shuō)明書雖未明確提及但應(yīng)該實(shí)現(xiàn)的目標(biāo)

5)軟件難以理解凌盯、不易使用付枫、運(yùn)行緩慢或者從測(cè)試員的角度看最終用戶會(huì)認(rèn)為不好。

軟件測(cè)試:為了發(fā)現(xiàn)軟件產(chǎn)品中的各種缺陷驰怎,而對(duì)軟件產(chǎn)品進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過(guò)程阐滩,此過(guò)程貫穿整個(gè)軟件開發(fā)生命周期。 簡(jiǎn)單的說(shuō)县忌,軟件測(cè)試是以發(fā)現(xiàn)錯(cuò)誤為目的而執(zhí)行的一個(gè)程序或系統(tǒng)的過(guò)程掂榔。

軟件測(cè)試的目的:

1.驗(yàn)證軟件需求和功能是否得到完整實(shí)現(xiàn)

2.驗(yàn)證軟件是否可以發(fā)布

3.盡可能多的發(fā)現(xiàn)軟件中的bug

4.盡可能早的發(fā)現(xiàn)軟件中的bug

5.對(duì)軟件質(zhì)量做出合理評(píng)估

6.預(yù)防下個(gè)版本可能出現(xiàn)的問(wèn)題

7.預(yù)防用戶使用可能出現(xiàn)的問(wèn)題

8.發(fā)現(xiàn)開發(fā)過(guò)程中的問(wèn)題和風(fēng)險(xiǎn)

軟件測(cè)試的原則:

1、所有測(cè)試的標(biāo)準(zhǔn)都是建立在用戶需求之上 芹枷。

2衅疙、合理控制測(cè)試深度與廣度,完全測(cè)試不可能鸳慈,測(cè)試的投入與產(chǎn)出要均衡饱溢。

3、80-20原則走芋,軟件中80%的bug可以在分析绩郎、設(shè)計(jì)與評(píng)審階段就能被發(fā)現(xiàn)與修正,16%的缺陷在系統(tǒng)的軟件測(cè)試中發(fā)現(xiàn)翁逞,最后剩下的4%是用戶長(zhǎng)期使用的過(guò)程中才能暴露出來(lái)肋杖。

4、盡可能早的開展測(cè)試挖函,越早發(fā)現(xiàn)錯(cuò)誤状植,修改的代價(jià)越小。

5怨喘、發(fā)現(xiàn)錯(cuò)誤較多的程序段津畸,應(yīng)進(jìn)行更深入的測(cè)試。

6必怜、軟件項(xiàng)目一啟動(dòng)肉拓,軟件測(cè)試也就是開始,而不是等程序?qū)懲晔崆欤砰_始進(jìn)行測(cè)試 暖途。

7、軟件開發(fā)人員即程序員應(yīng)當(dāng)避免測(cè)試自己的程序

8膏执、嚴(yán)格執(zhí)行測(cè)試計(jì)劃驻售,排除測(cè)試的隨意性,以避免發(fā)生疏漏或者重復(fù)無(wú)效的工作

軟件測(cè)試的流程

軟件測(cè)試流程圖

web測(cè)試和APP測(cè)試的區(qū)別

僅僅從功能測(cè)試的層面上來(lái)講的話更米,在流程和功能測(cè)試上是沒(méi)有區(qū)別的芋浮。那么區(qū)別在哪里呢?

由于載體不一樣,所以系統(tǒng)測(cè)試和一些細(xì)節(jié)可能會(huì)不一樣纸巷。

那么我們就要先來(lái)了解镇草,web和app的區(qū)別。

web項(xiàng)目瘤旨,一般都是b/s架構(gòu)梯啤,基于瀏覽器的,而app則是c/s的存哲,必須要有客戶端因宇。那么在系統(tǒng)測(cè)試測(cè)試的時(shí)候就會(huì)產(chǎn)生區(qū)別了。

首先從系統(tǒng)架構(gòu)來(lái)看的話祟偷,web測(cè)試只要更新了服務(wù)器端察滑,客戶端就會(huì)同步會(huì)更新。而且客戶端是可以保證每一個(gè)用戶的客戶端完全一致的修肠。但是app端是不能夠保證完全一致的贺辰,除非用戶更新客戶端。如果是app下修改了服務(wù)端嵌施,意味著客戶端用戶所使用的核心版本都需要進(jìn)行回歸測(cè)試一遍饲化。

接著是性能方面,web頁(yè)面可能只會(huì)關(guān)注響應(yīng)時(shí)間吗伤,而app則還需要關(guān)心流量吃靠、電量、CPU足淆、GPU巢块、Memory這些了。至于服務(wù)端的性能是沒(méi)區(qū)別巧号,這里就不談族奢。

相比較web測(cè)試,app更是多了一些專項(xiàng)測(cè)試:

健壯性測(cè)試:

一些異常場(chǎng)景的考慮以及弱網(wǎng)絡(luò)測(cè)試裂逐。這里的異常場(chǎng)景就是中斷,來(lái)電泣栈,短信卜高,關(guān)機(jī),重啟等南片。

而弱網(wǎng)測(cè)試是app測(cè)試中必須執(zhí)行的一項(xiàng)測(cè)試掺涛。包含弱網(wǎng)和網(wǎng)絡(luò)切換測(cè)試。需要測(cè)試弱網(wǎng)所造成的用戶體驗(yàn)疼进,重點(diǎn)要考慮回退和刷新是否會(huì)造成二次提交薪缆。需要測(cè)試丟包,延時(shí)的處理機(jī)制伞广。避免用戶的流失拣帽。這些在前面的弱網(wǎng)測(cè)試那篇已經(jīng)講過(guò)疼电,這里不再講了。

安裝减拭、卸載蔽豺、更新:

web測(cè)試是基于瀏覽器的所以不必考慮這些。而app是客戶端的拧粪,則必須測(cè)試安裝修陡、更新、卸載可霎。除了常規(guī)的安裝魄鸦、更新、卸載還要考慮到異常場(chǎng)景癣朗。包括安裝時(shí)的中斷拾因、弱網(wǎng)、安裝后刪除安裝文件斯棒,更新的強(qiáng)制更新與非強(qiáng)制更新盾致、增量包更新、斷點(diǎn)續(xù)傳荣暮、弱網(wǎng)庭惜,卸載后刪除app相關(guān)的文件等等。

就自動(dòng)化來(lái)講穗酥,web大多用的selenium护赊、webdriver,而app則是appium砾跃。

性能使用的工具web則是LR骏啰,app使用Jmeter要多一點(diǎn)

如何提交高質(zhì)量的缺陷報(bào)告單

1、 缺陷的概要描述要清晰準(zhǔn)確抽高,要使相關(guān)開發(fā)負(fù)責(zé)人員能夠一目了然問(wèn)題是什么判耕。

2、 一個(gè)完整的缺陷報(bào)告單翘骂,必須包含其必要的元素信息壁熄,例如:概要描述,缺陷發(fā)現(xiàn)人碳竟,測(cè)試環(huán)境草丧,瀏覽器,缺陷重現(xiàn)步驟莹桅,嚴(yán)重等級(jí)昌执,指派人,所屬功能模塊等等,必要元素信息必須描述全面清楚懂拾。

3煤禽、 缺陷的重現(xiàn)步驟必須描寫清晰明了,使相關(guān)開發(fā)負(fù)責(zé)人能夠根據(jù)重現(xiàn)步驟準(zhǔn)確的重現(xiàn)所提交的缺陷委粉,使其定位缺陷的原因所在呜师。

4、測(cè)試數(shù)據(jù)贾节,測(cè)試的數(shù)據(jù)作為重現(xiàn)缺陷的一個(gè)重要元素信息汁汗,一定要將測(cè)試時(shí)所使用的信息給描寫清楚準(zhǔn)確。讓開發(fā)人員根據(jù)測(cè)試所提供的測(cè)試數(shù)據(jù)準(zhǔn)確重現(xiàn)缺陷栗涂。

5知牌、附件截圖信息,附件或截圖信息能讓開發(fā)人員能夠一目了然的清楚問(wèn)題的所在斤程。

如何對(duì)web系統(tǒng)進(jìn)行全面測(cè)試角寸?

原文地址:http://www.51testing.com/html/04/n-3727304.html

一、 功能測(cè)試

1忿墅、鏈接測(cè)試

鏈接是Web應(yīng)用系統(tǒng)的一個(gè)主要特征扁藕,它是在頁(yè)面之間切換和指導(dǎo)用戶去一些不知道地址的頁(yè)面的主要手段。鏈接測(cè)試可分為三個(gè)方面疚脐。首先亿柑,測(cè)試所有鏈接是否按指示的那樣確實(shí)鏈接到了該鏈接的頁(yè)面;其次,測(cè)試所鏈接的頁(yè)面是否存在;最后棍弄,保證Web應(yīng)用系統(tǒng)上沒(méi)有孤立的頁(yè)面望薄,所謂孤立頁(yè)面是指沒(méi)有鏈接指向該頁(yè)面,只有知道正確的URL地址才能訪問(wèn)呼畸。 鏈接測(cè)試可以自動(dòng)進(jìn)行狸演,現(xiàn)在已經(jīng)有許多工具可以采用孵稽。鏈接測(cè)試必須在集成測(cè)試階段完成,也就是說(shuō)召锈,在整個(gè)Web應(yīng)用系統(tǒng)的所有頁(yè)面開發(fā)完成之后進(jìn)行鏈接測(cè)試民宿。

2叮阅、表單測(cè)試

當(dāng)用戶給Web應(yīng)用系統(tǒng)管理員提交信息時(shí)衷掷,就需要使用表單操作辩昆,例如用戶注冊(cè)、登陸框全、信息提交等察绷。在這種情況下干签,我們必須測(cè)試提交操作的完整性津辩,以校驗(yàn)提交給服務(wù)器的信息的正確性。例如:用戶填寫的出生日期與職業(yè)是否恰當(dāng),填寫的所屬省份與所在城市是否匹配等喘沿。如果使用了默認(rèn)值闸度,還要檢驗(yàn)?zāi)J(rèn)值的正確性。如果表單只能接受指定的某些值蚜印,則也要進(jìn)行測(cè)試莺禁。例如:只能接受某些字符,測(cè)試時(shí)可以跳過(guò)這些字符窄赋,看系統(tǒng)是否會(huì)報(bào)錯(cuò)哟冬。

3、Cookies測(cè)試

Cookies通常用來(lái)存儲(chǔ)用戶信息和用戶在某應(yīng)用系統(tǒng)的操作忆绰,當(dāng)一個(gè)用戶使用Cookies訪問(wèn)了某一個(gè)應(yīng)用系統(tǒng)時(shí)浩峡,Web服務(wù)器將發(fā)送關(guān)于用戶的信息,把該信息以Cookies的形式存儲(chǔ)在客戶端計(jì)算機(jī)上错敢,這可用來(lái)創(chuàng)建動(dòng)態(tài)和自定義頁(yè)面或者存儲(chǔ)登陸等信息翰灾。 如果Web應(yīng)用系統(tǒng)使用了Cookies,就必須檢查Cookies是否能正常工作稚茅。測(cè)試的內(nèi)容可包括Cookies是否起作用纸淮,是否按預(yù)定的時(shí)間進(jìn)行保存,刷新對(duì)Cookies有什么影響等亚享。

4咽块、設(shè)計(jì)語(yǔ)言測(cè)試

Web設(shè)計(jì)語(yǔ)言版本的差異可以引起客戶端或服務(wù)器端嚴(yán)重的問(wèn)題,例如使用哪種版本的HTML等虹蒋。當(dāng)在分布式環(huán)境中開發(fā)時(shí)糜芳,開發(fā)人員都不在一起,這個(gè)問(wèn)題就顯得尤為重要魄衅。除了HTML的版本問(wèn)題外峭竣,不同的腳本語(yǔ)言,例如Java晃虫、JavaScript皆撩、 ActiveX、VBScript或Perl等也要進(jìn)行驗(yàn)證哲银。

5扛吞、數(shù)據(jù)庫(kù)測(cè)試

在Web應(yīng)用技術(shù)中,數(shù)據(jù)庫(kù)起著重要的作用荆责,數(shù)據(jù)庫(kù)為Web應(yīng)用系統(tǒng)的管理滥比、運(yùn)行、查詢和實(shí)現(xiàn)用戶對(duì)數(shù)據(jù)存儲(chǔ)的請(qǐng)求等提供空間做院。在Web應(yīng)用中盲泛,最常用的數(shù)據(jù)庫(kù)類型是關(guān)系型數(shù)據(jù)庫(kù)濒持,可以使用SQL對(duì)信息進(jìn)行處理。 在使用了數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)中寺滚,一般情況下柑营,可能發(fā)生兩種錯(cuò)誤,分別是數(shù)據(jù)一致性錯(cuò)誤和輸出錯(cuò)誤村视。數(shù)據(jù)一致性錯(cuò)誤主要是由于用戶提交的表單信息不正確而造成的官套,而輸出錯(cuò)誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計(jì)問(wèn)題等引起的,針對(duì)這兩種情況蚁孔,可分別進(jìn)行測(cè)試奶赔。

二、 性能測(cè)試

1杠氢、連接速度測(cè)試

用戶連接到Web應(yīng)用系統(tǒng)的速度根據(jù)上網(wǎng)方式的變化而變化纺阔,他們或許是電話撥號(hào),或是寬帶上網(wǎng)修然。當(dāng)下載一個(gè)程序時(shí)笛钝,用戶可以等較長(zhǎng)的時(shí)間,但如果僅僅訪問(wèn)一個(gè)頁(yè)面就不會(huì)這樣愕宋。如果Web系統(tǒng)響應(yīng)時(shí)間太長(zhǎng)(例如超過(guò)5秒鐘)玻靡,用戶就會(huì)因沒(méi)有耐心等待而離開。 另外中贝,有些頁(yè)面有超時(shí)的限制囤捻,如果響應(yīng)速度太慢,用戶可能還沒(méi)來(lái)得及瀏覽內(nèi)容邻寿,就需要重新登陸了蝎土。而且,連接速度太慢绣否,還可能引起數(shù)據(jù)丟失誊涯,使用戶得不到真實(shí)的頁(yè)面。

2蒜撮、負(fù)載測(cè)試

負(fù)載測(cè)試是為了測(cè)量Web系統(tǒng)在某一負(fù)載級(jí)別上的性能暴构,以保證Web系統(tǒng)在需求范圍內(nèi)能正常工作。負(fù)載級(jí)別可以是某個(gè)時(shí)刻同時(shí)訪問(wèn)Web系統(tǒng)的用戶數(shù)量段磨,也可以是在線數(shù)據(jù)處理的數(shù)量取逾。例如:Web應(yīng)用系統(tǒng)能允許多少個(gè)用戶同時(shí)在線?如果超過(guò)了這個(gè)數(shù)量,會(huì)出現(xiàn)什么現(xiàn)象?Web應(yīng)用系統(tǒng)能否處理大量用戶對(duì)同一個(gè)頁(yè)面的請(qǐng)求?

3苹支、壓力測(cè)試

負(fù)載測(cè)試應(yīng)該安排在Web系統(tǒng)發(fā)布以后砾隅,在實(shí)際的網(wǎng)絡(luò)環(huán)境中進(jìn)行測(cè)試。因?yàn)橐粋€(gè)企業(yè)內(nèi)部員工债蜜,特別是項(xiàng)目組人員總是有限的晴埂,而一個(gè)Web系統(tǒng)能同時(shí)處理的請(qǐng)求數(shù)量將遠(yuǎn)遠(yuǎn)超出這個(gè)限度堕绩,所以,只有放在Internet上邑时,接受負(fù)載測(cè)試,其結(jié)果才是正確可信的特姐。 進(jìn)行壓力測(cè)試是指實(shí)際破壞一個(gè)Web應(yīng)用系統(tǒng)晶丘,測(cè)試系統(tǒng)的反映。壓力測(cè)試是測(cè)試系統(tǒng)的限制和故障恢復(fù)能力唐含,也就是測(cè)試Web應(yīng)用系統(tǒng)會(huì)不會(huì)崩潰浅浮,在什么情況下會(huì)崩潰。黑客常常提供錯(cuò)誤的數(shù)據(jù)負(fù)載捷枯,直到Web應(yīng)用系統(tǒng)崩潰滚秩,接著當(dāng)系統(tǒng)重新啟動(dòng)時(shí)獲得存取權(quán)。 壓力測(cè)試的區(qū)域包括表單淮捆、登陸和其他信息傳輸頁(yè)面等郁油。

三、 可用性測(cè)試

1攀痊、導(dǎo)航測(cè)試

導(dǎo)航描述了用戶在一個(gè)頁(yè)面內(nèi)操作的方式桐腌,在不同的用戶接口控制之間,例如按鈕苟径、對(duì)話框案站、列表和窗口等;或在不同的連接頁(yè)面之間。通過(guò)考慮下列問(wèn)題棘街,可以決定一個(gè)Web應(yīng)用系統(tǒng)是否易于導(dǎo)航:導(dǎo)航是否直觀?Web系統(tǒng)的主要部分是否可通過(guò)主頁(yè)存取?Web系統(tǒng)是否需要站點(diǎn)地圖蟆盐、搜索引擎或其他的導(dǎo)航幫助? 在一個(gè)頁(yè)面上放太多的信息往往起到與預(yù)期相反的效果。Web應(yīng)用系統(tǒng)的用戶趨向于目的驅(qū)動(dòng)遭殉,很快地掃描一個(gè)Web應(yīng)用系統(tǒng)石挂,看是否有滿足自己需要的信息,如果沒(méi)有险污,就會(huì)很快地離開誊稚。很少有用戶愿意花時(shí)間去熟悉Web應(yīng)用系統(tǒng)的結(jié)構(gòu),因此罗心,Web應(yīng)用系統(tǒng)導(dǎo)航幫助要盡可能地準(zhǔn)確里伯。 導(dǎo)航的另一個(gè)重要方面是Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)、導(dǎo)航渤闷、菜單疾瓮、連接的風(fēng)格是否一致。確保用戶憑直覺就知道Web應(yīng)用系統(tǒng)里面是否還有內(nèi)容飒箭,內(nèi)容在什么地方狼电。 Web應(yīng)用系統(tǒng)的層次一旦決定蜒灰,就要著手測(cè)試用戶導(dǎo)航功能,讓最終用戶參與這種測(cè)試肩碟,效果將更加明顯强窖。

2、圖形測(cè)試

在Web應(yīng)用系統(tǒng)中削祈,適當(dāng)?shù)膱D片和動(dòng)畫既能起到廣告宣傳的作用翅溺,又能起到美化頁(yè)面的功能。一個(gè)Web應(yīng)用系統(tǒng)的圖形可以包括圖片髓抑、動(dòng)畫咙崎、邊框、顏色吨拍、字體褪猛、背景、按鈕等羹饰。

圖形測(cè)試的內(nèi)容有:

(1)要確保圖形有明確的用途伊滋,圖片或動(dòng)畫不要胡亂地堆在一起,以免浪費(fèi)傳輸時(shí)間队秩。Web應(yīng)用系統(tǒng)的圖片尺寸要盡量地小新啼,并且要能清楚地說(shuō)明某件事情,一般都鏈接到某個(gè)具體的頁(yè)面刹碾。

(2)驗(yàn)證所有頁(yè)面字體的風(fēng)格是否一致燥撞。

(3)背景顏色應(yīng)該與字體顏色和前景顏色相搭配。

(4)圖片的大小和質(zhì)量也是一個(gè)很重要的因素迷帜,一般采用JPG或GIF壓縮物舒。

3、內(nèi)容測(cè)試

內(nèi)容測(cè)試用來(lái)檢驗(yàn)Web應(yīng)用系統(tǒng)提供信息的正確性戏锹、準(zhǔn)確性和相關(guān)性冠胯。 信息的正確性是指信息是可靠的還是誤傳的。例如锦针,在商品價(jià)格列表中荠察,錯(cuò)誤的價(jià)格可能引起財(cái)政問(wèn)題甚至導(dǎo)致法律糾紛;信息的準(zhǔn)確性是指是否有語(yǔ)法或拼寫錯(cuò)誤。這種測(cè)試通常使用一些文字處理軟件來(lái)進(jìn)行奈搜,例如使用Microsoft Word的拼音與語(yǔ)法檢查功能;信息的相關(guān)性是指是否在當(dāng)前頁(yè)面可以找到與當(dāng)前瀏覽信息相關(guān)的信息列表或入口悉盆,也就是一般Web站點(diǎn)中的所謂相關(guān)文章列表。

4馋吗、整體界面測(cè)試

整體界面是指整個(gè)Web應(yīng)用系統(tǒng)的頁(yè)面結(jié)構(gòu)設(shè)計(jì)焕盟,是給用戶的一個(gè)整體感。例如:當(dāng)用戶瀏覽Web應(yīng)用系統(tǒng)時(shí)是否感到舒適宏粤,是否憑直覺就知道要找的信息在什么地方?整個(gè)Web應(yīng)用系統(tǒng)的設(shè)計(jì)風(fēng)格是否一致? 對(duì)整體界面的測(cè)試過(guò)程脚翘,其實(shí)是一個(gè)對(duì)最終用戶進(jìn)行調(diào)查的過(guò)程灼卢。一般Web應(yīng)用系統(tǒng)采取在主頁(yè)上做一個(gè)調(diào)查問(wèn)卷的形式,來(lái)得到最終用戶的反饋信息来农。 對(duì)所有的可用性測(cè)試來(lái)說(shuō)鞋真,都需要有外部人員(與Web應(yīng)用系統(tǒng)開發(fā)沒(méi)有聯(lián)系或聯(lián)系很少的人員)的參與,最好是最終用戶的參與沃于。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涩咖,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子揽涮,更是在濱河造成了極大的恐慌,老刑警劉巖饿肺,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒋困,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡敬辣,警方通過(guò)查閱死者的電腦和手機(jī)雪标,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)溉跃,“玉大人村刨,你說(shuō)我怎么就攤上這事∽ィ” “怎么了嵌牺?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)龄糊。 經(jīng)常有香客問(wèn)我逆粹,道長(zhǎng),這世上最難降的妖魔是什么炫惩? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任僻弹,我火速辦了婚禮,結(jié)果婚禮上他嚷,老公的妹妹穿的比我還像新娘蹋绽。我一直安慰自己,他們只是感情好筋蓖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布卸耘。 她就那樣靜靜地躺著,像睡著了一般粘咖。 火紅的嫁衣襯著肌膚如雪鹊奖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天涂炎,我揣著相機(jī)與錄音忠聚,去河邊找鬼设哗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛两蟀,可吹牛的內(nèi)容都是我干的网梢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赂毯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼战虏!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起党涕,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤烦感,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后膛堤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體手趣,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年肥荔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绿渣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡燕耿,死狀恐怖中符,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情誉帅,我是刑警寧澤淀散,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蚜锨,受9級(jí)特大地震影響吧凉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜踏志,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一阀捅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧针余,春花似錦饲鄙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至伪朽,卻和暖如春轴咱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工朴肺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窖剑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓戈稿,卻偏偏與公主長(zhǎng)得像西土,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鞍盗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353