2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題_第1頁
2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題_第2頁
2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題_第3頁
2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題_第4頁
2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2020年下半年軟件評測師考試軟件測試應用技術(shù)下午真題(總分:49.95,做題時間:150分鐘)一、案例分析(總題數(shù):5,分數(shù):50.00)1.閱讀下列C程序,回答下面問題。

【C程序】

inttbbase64_decode(char*ib,intin,char*ob,inton){

//1

externinttb_arrayn(char[]);

staticchartable[]={

0x3e,0xff,0xff,0xff,0x3f,0x34,0x35,0x36

,

0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0xff

,

0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x01

,

0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09

,

0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11

,

0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19

,

0xff,0xff,0xff,0xff,0xff,0xff,0xla,0x1b

,

0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23

,

0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b

,

0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33

};

inti=0;

intv=0;

char*op=ob;

inttn=tb_arrayn(table);

for(i=0;i<in&&ib[i]&&ib[i]!='=';i++){//2,3,4

intidx=ib[i]-43;

if(idx>=tn||table[idx]==0xff)

//5,6

return0;

//7

v=(v<<6)+table[idx];

if(i&3){

//8

if(op-ob<on)

//9

*op++=v>>(6-2*(i&3));

//10

}

}

return(op-ob);

//11

}

//12(分數(shù):9.99)(1).

【問題1】

請針對上述C程序給出滿足100%DC(判定覆蓋)所需的邏輯條件。(分數(shù):3.33)__________________________________________________________________________________________

正確答案:(編號條件1i<in&&ib[i]&&ib[i]!='='2i>=in||ib[i]==0||ib[i]=='='3idx>=tn||table[idx]==0xff4idx<tn&&table[idx]!=0xff5(i&3)!=06(i&3)==07op-ob<on8op-ob>=on)解析:本題考查白盒測試法及應用。本問題考查白盒測試中的判定覆蓋法。判定覆蓋指設(shè)計足夠的測試用例,使得被測程序中每個判定表達式至少獲得一次“真”值和“假”值,從而使程序的每一個分支至少都通過一次。本題中程序有4個判定,所以滿足判定覆蓋一共需要8個邏輯條件。(2).

【問題2】

請畫出上述程序的控制流圖,并計算其控制流圖的環(huán)路復雜度V(G)。(分數(shù):3.33)__________________________________________________________________________________________

正確答案:(控制流圖如下圖所示。環(huán)路復雜度V(G)=8。)解析:[考點]本題考查白盒測試法及應用。本問題考查白盒測試中的基本路徑測試法。涉及的知識點包括:根據(jù)代碼繪制控制流圖、計算環(huán)路復雜度??刂屏鲌D是描述程序控制流的一種圖示方式,它由節(jié)點和定向邊構(gòu)成??刂屏鲌D的節(jié)點代表一個基本塊,定向邊代表控制流的方向。程序的環(huán)路復雜度等于控制流圖中判定節(jié)點的個數(shù)加1,本題控制流圖中判定節(jié)點個數(shù)為7(需注意判定中不同條件要獨立計算),所以V(G)=8。(3).

【問題3】

請給出問題2中控制流圖的線性無關(guān)路徑。(分數(shù):3.33)__________________________________________________________________________________________

正確答案:(線性無關(guān)路徑:(1)1-2-11-12(2)1-2-3-11-12(3)1-2-3-4-11-12(4)1-2-3-4-5-7-12(5)1-2-3-4-5-6-7-12(6)1-2-3-4-5-6-8-2...(7)1-2-3-4-5-6-8-9-2...(8)1-2-3-4-5-6-8-9-10-2...)解析:[考點]本題考查白盒測試法及應用。本問題考查白盒測試用例設(shè)計方法中的基本路徑法。涉及的知識點包括:根據(jù)控制流圖和環(huán)路復雜度給出線性無關(guān)路徑。線性無關(guān)路徑是指包含一組以前沒有處理的語句或條件的路徑。從控制流圖上來看,一條線性無關(guān)路徑是至少包含一條在其他線性無關(guān)路徑中從未有過的邊的路徑。程序的環(huán)路復雜度等于線性無關(guān)路徑的條數(shù),所以本題中應該有8條線性無關(guān)路徑。2.閱讀下列說明,回答下面問題。

【說明】

為了有效控制疫情,需要記錄所有人最后一次出行的信息。其中:

(1)類Travel記錄了一次旅行的基本信息,包括出發(fā)地(Source)、目的地(Des)、15日內(nèi)是否有境外旅行史(OverSeas)和15日內(nèi)是否去過高風險疫區(qū)(HighDanArea)。

(2)類HighTrain和AirPlane分別表示高鐵旅行和飛機旅行,這兩個類繼承了類Travel的屬性和方法。HighTrain定義了自己的屬性車廂號(CaseNo)和座位號(SeatNo)。AirPlane定義了自己的屬性座位號(SeatNo)。

(3)函數(shù)checklso調(diào)用Travel的相關(guān)方法讀取旅行者的出發(fā)地、目的地以及15日內(nèi)是否有境外和高風險區(qū)域的信息,判斷該旅行者是否需要被隔離。

現(xiàn)擬采用面向?qū)ο蟮姆椒ㄟM行測試。(分數(shù):9.99)(1).

【問題1】

(1)面向?qū)ο蟮臏y試分為哪幾個階段?

(2)類Person和Travel之間是什么關(guān)系?

(3)該關(guān)系是否影響測試?(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)面向?qū)ο蠓治龅臏y試,面向?qū)ο笤O(shè)計的測試,面向?qū)ο缶幊痰臏y試,面向?qū)ο髥卧獪y試,面向?qū)ο蠹蓽y試,面向?qū)ο蟠_認和系統(tǒng)測試。(2)關(guān)聯(lián)關(guān)系。(3)影響測試。)解析:(1)此題考查面向?qū)ο鬁y試的基本概念。面向?qū)ο蟮臏y試階段分為:面向?qū)ο蠓治龅臏y試,面向?qū)ο笤O(shè)計的測試,面向?qū)ο缶幊痰臏y試,面向?qū)ο髥卧獪y試,面向?qū)ο蠹蓽y試,面向?qū)ο蟠_認和系統(tǒng)測試。(2)此題考查面向?qū)ο箢惻c類之間的關(guān)系。類Person中調(diào)用了類Travel作為其成員變量,故Person與Travel之間為關(guān)聯(lián)關(guān)系,并且為單向關(guān)聯(lián)關(guān)系,因為不存在類Travel調(diào)用類Person作為其成員變量。(3)此題考查關(guān)聯(lián)關(guān)系對面向?qū)ο鬁y試的影響。因為類Person中調(diào)用了類Travel作為其成員變量,Person測試成功與否與Travel有較大關(guān)系,Travel的失敗將導致對Person測試的失敗。(2).

【問題2】

為了更方便函數(shù)checkIso的實現(xiàn),程序員在Person類中增加了屬性IsIso和方法checkDan,具體實現(xiàn)如下:

classPerson

{

private:

TravelLastTra;

public:

boolIsIso=false;

public:

...

voidcheckDan()

{

...

}

...

}

方法checkDan中判斷該旅行者是否需要被隔離,并且把結(jié)果寫入IsIso,在checkIso中直接讀取旅行者的IsIso屬性值就可以得出結(jié)論。

(1)這種實現(xiàn)方法破壞了面向?qū)ο蟮哪姆N機制?

(2)這種問題的測試需要在面向?qū)ο鬁y試的哪個階段實施?(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)破壞了封裝機制。(2)在面向?qū)ο缶幊痰臏y試中進行。)解析:(1)此題考查面向?qū)ο蟮姆庋b機制。通過方法直接修改成員屬性,破壞了面向?qū)ο蟮姆庋b性,當需要修改對象成員變量時,應當調(diào)用對應的set方法。(2)此題考查面向?qū)ο鬁y試各個階段的測試內(nèi)容。因為是調(diào)用方法checkDan中判斷該旅行者是否需要被隔離,并且把結(jié)果寫入IsIso,所以需要在面向?qū)ο缶幊痰臏y試中進行。(3).

【問題3】

請給出各個類的測試順序。(分數(shù):3.33)__________________________________________________________________________________________

正確答案:(Travel→HighTrain,AirPlane→Person→main)解析:[考點]此題考查面向?qū)ο髥卧獪y試的順序。Travel與HighTrain、AirPlane是繼承關(guān)系,故要先對父類進行測試,再測試HighTrain、AirPlane、Person,因為Person調(diào)用Travel作為其成員變量,故HighTrain、AirPlane在Person之前測試,最后是main。3.閱讀下列說明,回答下面問題。

【說明】

某航空公司考慮到在今年特殊形勢下,很多會員無法通過搭乘航班延續(xù)之前的會員等級,特推出了“回望升級”活動。對2017年1月1日至2019年12月31日三個自然年度任意連續(xù)12/24/36個月機票消費達到一定金額時,獎勵會員相應等級。

活動規(guī)則為:任意連續(xù)12/24/36個月機票消費金額達到人民幣2.5/4.75/6.75萬元及以上,給予銀卡會員等級;任意連續(xù)12/24/36個月機票消費金額達到人民幣5/9.5/13.5萬元及以上,給予金卡會員等級;任意連續(xù)12/24/36個月機票消費金額達到人民幣15/28.5/40.5萬元及以上,給予白金卡會員等級。活動規(guī)則詳見表1。表1活動規(guī)則12個月24個月36個月獎勵會員等級(代號)2.54.756.75銀卡(S)59.513.5金卡(G)1528.540.5白金卡(P)<2.5<4.75<6.75普卡(M)此外,為了鼓勵在官網(wǎng)和官方App購票,針對不同的購票渠道,有不同的獎懲系數(shù)。官網(wǎng)購票不獎勵不懲罰,官方App購票消費金額按1.2倍計算,第三方購票消費金額按0.8倍計算,詳見表2。表2不同購票渠道消費金額獎懲系數(shù)購票渠道渠道代碼獎懲系數(shù)第三方10.8官網(wǎng)21官方App31.2

航空公司開發(fā)了一個程序來計算會員在該活動后的獎勵等級,程序的輸入包括會員在2017年1月1日至2019年12月31日中任意連續(xù)12個月最大消費金額A(單位:萬元),任意連續(xù)24個月最大消費金額B(單位:萬元),36個月消費金額C(單位:萬元),購票渠道代碼D,程序的輸出為本次活動獎勵等級L。其中,A、B、C為非負浮點數(shù)最多保留4位小數(shù),D為正整數(shù)且取值為1、2、3之一,

L為字母M、S、G、P中之一。(分數(shù):9.99)(1).

【問題1】

采用等價類劃分法對該程序進行測試,等價類表如表3所示,請補充表2-3中空(1)~(4)。表3等價類輸入/輸出有效等價類編號無效等價類編號任意連續(xù)12個月最大

消費金額A(1)1非浮點數(shù)7負浮點數(shù)8

多于4位小數(shù)的非負浮點數(shù)9任意連續(xù)24個月最大

消費金額B最多4位小數(shù)的

非負浮點數(shù)2非浮點數(shù)10負浮點數(shù)11多于4位小數(shù)的非負浮點數(shù)1236個月消費金額C最多4位小數(shù)的

非負浮點數(shù)3非浮點數(shù)13負浮點數(shù)14(2)15購票渠道D14非整數(shù)1625(3)1736(4)18(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)最多4位小數(shù)的非負浮點數(shù)(2)多于4位小數(shù)的非負浮點數(shù)(3)非正整數(shù)(4)除1、2、3之外的其他正整數(shù))解析:本問題考查等價類劃分法中等價類表的構(gòu)造。等價類劃分法的等價類表是把程序的輸入域按規(guī)則劃分為若干子集。本題中A、B、C、D由多個輸入值構(gòu)成,并且需要對每個(或者每組)輸入值分別處理,按規(guī)則可以劃分為n個有效等價類(每個或者每組值確定一個有效等價類)和一個無效等價類(所有不允許輸入值的集合)。對A來說,分成1個有效等價類和3個無效等價類,而這個無效等價類又可以進一步細分為非浮點數(shù)、負浮點數(shù)以及多于4位小數(shù)的非負浮點數(shù)。對B來說,分成1個有效等價類和3個無效等價類,而這個無效等價類又可以進一步細分為非浮點數(shù)、負浮點數(shù)以及多于4位小數(shù)的非負浮點數(shù)。對C來說,分成1個有效等價類和3個無效等價類,而這個無效等價類又可以進一步細分為非浮點數(shù)、負浮點數(shù)以及多于4位小數(shù)的非負浮點數(shù)。對D來說,根據(jù)規(guī)則可以劃分為3個有效等價類(1,2,3)和3個無效等價類(非整數(shù),非正整數(shù),除1、2、3之外的其他正整數(shù))。(2).

【問題2】

根據(jù)以上等價類表設(shè)計的測試用例如表4所示,請補充表4中空(1)~(9)。表4測試用例編號輸入覆蓋等價類(編號)預期輸出LABCD1000N/A(1)(2)210011,2,3,4M310021,2,3,5M410031,2,3,6M5A00(3)(4)N/A6(5)00N/A8,2,3N/A7(6)00N/A9,2,3N/A80A0N/A1,10,3N/A90-10N/A1,11,3N/A1000.123450N/A1,12,3N/A1100AN/A1,2,13N/A1200-1N/A1,2,14N/A13000.12345N/A1,2,15N/A14000(7)1,2,3,16N/A15000(8)1,2,3,17N/A16000(9)1,2,3,18N/A(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)1,2,3(2)M(3)N/A(4)7.23(5)任意負浮點數(shù),如-1(6)任意多于4位小數(shù)的非負浮點數(shù),如0.12345(7)任意非整數(shù),如A(8)任意非正整數(shù),如0(9)除1、2、3之外的其他任意正整數(shù),如4)解析:[考點]本問題考查等價類劃分法中根據(jù)等價類表編寫測試用例的能力。在編寫等價類劃分法的測試用例時,如果輸入全部都來自有效等價類,則從每個有效等價類選取一個代表元素作為輸入;如果要考慮無效等價類,則每次只選取一個無效等價類,其余輸入都從有效等價類中選取。(3).

【問題3】

對于本案例的黑盒測試來說,以上測試方法有哪些不足?(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)沒有考慮邊界值;(2)沒有考慮對輸出進行等價類劃分;(3)……)解析:[考點]本問題考查黑盒測試的測試方法的選擇能力。常見的黑盒測試用例設(shè)計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅(qū)動法、正交試驗設(shè)計法、功能圖法、場景法等。本案例中使用了等價類劃分法,但是只對輸入進行了等價類劃分,輸出都是M,沒有考慮其他輸出值,因此還需要對輸出進行等價類劃分補充用例。此外,本案例沒有考慮各等價類邊界上的取值,而根據(jù)經(jīng)驗,錯誤往往發(fā)生在邊界的取值上,因此還需要考慮邊界值分析法補充用例。4.閱讀下列說明,回答下面問題。

【說明】

某測濕儀用于測量目標物體的相對濕度。該儀器中軟件主要完成A/D數(shù)據(jù)采集,并通過數(shù)學運算將數(shù)據(jù)轉(zhuǎn)換為濕度值,在顯示終端顯示。軟件主要包括主程序模塊、測濕程序模塊、顯示程序模塊、報警程序模塊等。

程序的主要功能說明如下:

1.主程序模塊判斷是否存在按鍵按下的情況,如果沒有按鍵按下,繼續(xù)執(zhí)行1;否則執(zhí)行2。

2.如果按下鍵為“設(shè)置鍵”,則通過“+”鍵每次增加1或通過“-”鍵每次減少1,設(shè)置最高濕度報警值(默認值為70),再次按下“設(shè)置”鍵進行確認,并通過“+”鍵或“-”鍵設(shè)置最低濕度報警值(默認值為40),再次按下“設(shè)置”鍵進行確認后執(zhí)行1。

3.如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息。

4.將讀取的濕度信息與設(shè)定的最大值與最小值比較,如果大于等于最大值或小于等于最小值,則執(zhí)行5;否則向顯示程序模塊發(fā)送顯示的濕度信息,并執(zhí)行6。

5.調(diào)用報警處理程序,并向顯示程序模塊發(fā)送報警信息。

6.顯示程序模塊顯示濕度過高報警或濕度過低報警或者濕度信息。(分數(shù):9.99)(1).

【問題1】

為了測試軟件功能,測試人員設(shè)計了表1所示的測試用例。假定開始執(zhí)行測試用例時,最高濕度和最低濕度報警值為默認值,請?zhí)顚懺摫碇械目瞻祝?)~(8),將答案填寫在答題紙的對應欄中。表1測試用例一覽表序號輸入輸出(預期結(jié)果)1按下“設(shè)置”鍵后,按“-”鍵7次屏幕顯示最高濕度報警值為(1)2接著1的操作,按下“設(shè)置”鍵進行確認后,

先按“+”鍵10次,再按下“設(shè)置”鍵確認屏幕顯示最低濕度報警值設(shè)定為(2)3按下“測濕”鍵,將測濕儀置入濕度為(3)的

目標容器屏幕顯示被測目標容器濕度為554按下“測濕”鍵,將測濕儀置入濕度為52的

目標容器屏幕顯示(4)5按下“測濕”鍵,將測濕儀置入濕度為63的

目標容器屏幕顯示(5)6按下“測濕”鍵,將測濕儀置入濕度為69

目標容器屏幕顯示濕度過高報警信息7按下“測濕”鍵,將測濕儀置入濕度為(6)的

目標容器屏幕顯示被測目標容器濕度為518按下“測濕”鍵,將測濕儀置入濕度為50的

目標容器屏幕顯示(7)9按下“測濕”鍵,將測濕儀置入濕度低于(8)的

目標容器屏幕顯示濕度過低報警信息(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)63(2)50(3)55(4)被測目標容器濕度為52(5)濕度過高報警信息(6)51(7)濕度過低報警信息(8)50)解析:本題主要考查軟件測試的一些基本概念和方法在測試實踐中的應用。在嵌入式軟件測試過程中,由于大部分嵌入式軟件無人機界面,測試人員不能按照界面信息對軟件進行直觀的理解,必須通過理解軟件需求和算法,運用測試概念和方法進行基于需求的測試用例設(shè)計,同時需要根據(jù)不同軟件重要度等級要求保證設(shè)計測試用例的充分性。此題目要求考生認真閱讀題目所給的軟件需求及算法信息,結(jié)合嵌入式軟件測試的基本概念和測試用例設(shè)計要求,在此嵌入式軟件測試中進行實際應用。本問題主要考查考生理解軟件需求和算法信息的能力,以及運用等價類劃分方法和邊界值分析方法設(shè)計測試用例的能力。按照說明中對測濕儀軟件的說明信息,對照表1中的已知信息和提示信息,完成表1中的問題。(1)中的輸入為“按下‘設(shè)置’鍵后,按‘-’鍵7次”,根據(jù)輸出的提示信息,需要使用說明信息計算出最高濕度報警設(shè)定值。根據(jù)說明中的第1條和第2條,按下設(shè)置鍵后,通過“-”鍵每次減少1,設(shè)置最高濕度報警值(默認值為70)。因為默認值為70,按鍵每次減少1,總共按“-”鍵7次,故應該減少7,默認值70減去7,為63,所以輸出為“屏幕顯示最高濕度報警值為63”。(2)中輸入為“接著1的操作,按下‘設(shè)置’鍵進行確認后,先按‘+’鍵10次,再按下‘設(shè)置’鍵確認”,根據(jù)輸出的提示信息,需要根據(jù)說明計算出最低濕度報警設(shè)定值。根據(jù)說明中的第1條和第2條,再次按下“設(shè)置”鍵進行確認,并通過“+”鍵或“-”鍵設(shè)置最低濕度報警值(默認值為40),再次按下“設(shè)置”鍵進行確認后執(zhí)行1。因為默認值為40,按“+”鍵每次增加1,總共按“+”鍵10次,故應該增加10,默認值40增加10,為50,所以輸出為“屏幕顯示最低濕度報警值設(shè)定為50”。(3)中輸出為“屏幕顯示被測目標容器濕度為55”,根據(jù)輸入的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進行正常濕度顯示。由于輸出為“屏幕顯示被測目標容器濕度為55”,并且濕度55為設(shè)定的正常范圍內(nèi)值,可得出輸入應為“按下‘測濕’鍵,將測濕儀置入濕度為55的目標容器”。(4)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為52的目標容器”,根據(jù)輸出的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進行正常濕度顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為52的目標容器”,并且濕度52為設(shè)定的正常范圍內(nèi)值,可得出輸出為“屏幕顯示被測目標容器(或物體)濕度為52”。(5)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為63的目標容器”,根據(jù)輸出的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報警處理程序向顯示程序模塊發(fā)送報警信息,顯示程序模塊進行報警顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為63的目標容器”,63為設(shè)定的最高濕度邊界值,根據(jù)第4條說明,邊界值需要報警處理,可得出輸出為“屏幕顯示濕度過高報警信息”。(6)中輸出為“屏幕顯示被測目標容器濕度為51”,根據(jù)輸入的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進行正常濕度顯示。由于輸出為“屏幕顯示被測目標容器濕度為51”,并且濕度51為設(shè)定的正常范圍內(nèi)值,屬于邊界測試用例,可得出輸入應為“按下‘測濕’鍵,將測濕儀置入濕度為51的目標容器”。(7)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為50的目標容器”,根據(jù)輸出的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報警處理程序向顯示程序模塊發(fā)送報警信息,顯示程序模塊進行報警顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為50的目標容器”,50為設(shè)定的最低濕度邊界值,根據(jù)第4條說明,邊界值需要報警處理,可得出輸出為“屏幕顯示濕度過低報警信息”。(8)中輸出為“屏幕顯示濕度過低報警信息”,根據(jù)輸入的提示信息,該用例在進行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報警處理程序向顯示程序模塊發(fā)送報警信息,顯示程序模塊進行報警顯示。由于輸出為“屏幕顯示濕度過低報警信息”,并且本說明中設(shè)置的濕度最低邊界值為50,根據(jù)第4條說明,邊界值需要報警處理,同時(7)中已處理邊界點50,根據(jù)測試用例設(shè)計中的邊界值分析方法,本用例屬于邊界外測試用例,可得出輸入應為“按下‘測濕’鍵,將測濕儀置入濕度低于50的目標容器”。(2).

【問題2】

軟件的結(jié)構(gòu)覆蓋率是度量測試充分性的一種手段,也是度量測試有效性的一種手段。在嵌入式軟件白盒測試過程中,通常以語句覆蓋率、分支覆蓋率和MC/DC覆蓋率作為度量指標。

在實現(xiàn)題目說明的第4條“判斷濕度是否在正常范圍”的功能時,設(shè)計人員采用了下列算法:

if((目標物體濕度<高濕報警值)&&(目標物體濕度>低濕報警值))

{

顯示目標物體濕度值;

}

else

{

if(目標物體濕度≥高濕報警值)

{

顯示高濕報警信息;

}

else

{

顯示低濕報警信息;

}

}

請完成2中的(1)~(3)空白,指出對上述算法達到100%語句覆蓋、100%分支覆蓋和100%MC/DC覆蓋所需的最少測試用例數(shù)目。表2測試覆蓋用例統(tǒng)計表覆蓋率類型所需的最少用例數(shù)100%語句覆蓋(1)100%分支覆蓋(2)100%MC/DC覆蓋(3)(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)3(2)3(3)3)解析:[考點]本題主要考查軟件測試的一些基本概念和方法在測試實踐中的應用。本問題主要考查對語句覆蓋、分支覆蓋和MC/DC覆蓋概念的掌握以及實際應用。語句覆蓋要求設(shè)計適當數(shù)量的測試用例,運行被測程序,使得程序中每一條語句至少被運行一遍,語句覆蓋在測試中主要發(fā)現(xiàn)錯誤語句。分支覆蓋要求設(shè)計適當數(shù)量的測試用例,運行被測程序,使得程序中每個真值分支和假值分支至少執(zhí)行一次,分支覆蓋也稱判定覆蓋。修正判定條件覆蓋(MC/DC)要求設(shè)計適當數(shù)量的測試用例,保證在一個程序中每一種輸入輸出至少出現(xiàn)一次,在程序中的每一個條件必須產(chǎn)生所有可能的輸出結(jié)果至少一次,并且每個判斷中的每個條件必須能夠獨立影響一個判斷的輸出,即在其他條件不變的前提下僅改變這個條件的值,而使判斷結(jié)果改變。按照上述語句覆蓋要求,語句覆蓋就要使得問題2中給定算法中所有語句執(zhí)行一次,問題2中有三個語句塊,如下圖所示。故為了使問題2中給定算法的三個語句塊各執(zhí)行一次,最少需要3個測試用例來滿足覆蓋要求。按照上述分支覆蓋要求,分支覆蓋要使得程序中每個真值分支和假值分支至少執(zhí)行一次。對問題2中的判斷條件進行分析,有3個判斷條件,需要分別取每個判斷的真值分支和假值分支,即從理論上需要6個測試用例來滿足覆蓋要求。但是,由于第一個判斷的真分支中包含了第二個判斷和第三個判斷的假分支,當滿足第一個判斷的真分支時,同時可滿足第二個判斷的假分支和第三個判斷的假分支,可減少2個測試用例;第二個判斷或第三個判斷的真分支包含了第一個判斷的假分支,當滿足第二個或者第三個判斷的真分支時,同時可滿足第一個判斷的假分支,可減少1個測試用例。故問題2最少需要3個測試用例來滿足分支覆蓋要求。按照上述MC/DC覆蓋要求,即每個判斷中的每個條件必須能夠獨立影響一個判斷的輸出。第一個判斷有兩個組合條件(設(shè)為C1,C2),最多有4種組合情況,即C1真C2真、C1真C2假、C1假C2真、C1假C2假。其中C1真C2真、C1真C2假、C1假C2真改變其中任一條件都會改變判斷的結(jié)果,但C1假C2假改變?nèi)我粭l件后判斷結(jié)果仍為假,即C1假C2假條件中的C1或C2的真或假均不能獨立影響整個判斷為假的輸出。故最少需要3個測試用例來滿足MC/DC覆蓋。(3).

【問題3】

嵌入式軟件中通常使用注釋率來衡量程序的可維護性,嵌入式軟件的注釋率一般要求不小于

(1)

。

本項目在開發(fā)過程中通過測試發(fā)現(xiàn)了11個缺陷,在實際使用中用戶反饋了1個缺陷,缺陷探測率(DDP)為

(2)

(結(jié)果保留小數(shù)點后1位)。(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)20%或1/5或等效解答(2)91.7%)解析:[考點]本題主要考查軟件測試的一些基本概念和方法在測試實踐中的應用。本問題第一個問題是嵌入式軟件工程中的一個要求,為了提高軟件后續(xù)的可維護性,要求嵌入式軟件的注釋率一般不小于代碼行數(shù)的20%(或1/5,或等效數(shù)字),這樣要求的目的是在后期維護軟件時,能更快地理解軟件語句的含義,提高軟件適應性更改的效率。本問題第二個問題是一個簡單的測試概念,缺陷探測率(DDP)=測試發(fā)現(xiàn)的軟件問題/軟件總的發(fā)現(xiàn)問題。對本題而言:缺陷探測率(DDP)=111(11+1)=91.7%。5.閱讀下列說明,回答下面問題。

【說明】

為了應對疫情防控下的學生返校管理,某高校管理平臺新開發(fā)緊急疫情管控系統(tǒng),以有效管理師生員工的活動及身體情況。該系統(tǒng)提供Web和微信小程序兩種不同的訪問途徑。系統(tǒng)主要功能是:

(1)專職管理人員對基礎(chǔ)信息管理和設(shè)置。

(2)師生員工每日信息申報,返校、離?;顒由陥螅谖恢猛ㄟ^定位實時獲取。

(3)對各類人員的活動申請進行審批。

(4)根據(jù)相關(guān)審批結(jié)果進行門禁控制。

(5)各級管理人員可對所轄部門的人員申報情況進行查詢和統(tǒng)計。(分數(shù):9.99)(1).

【問題1】

(1)信息申報采用表單進行實現(xiàn),輸入測試需要測試哪幾個方面?

(2)什么情況下表單中輸入的內(nèi)容可能會傳到后臺引起安全問題?如何設(shè)計測試用例進行輸入測試?(分數(shù):3.33)__________________________________________________________________________________________

正確答案:((1)表單輸入測試需要驗證:輸入域、錯誤輸入是否有錯誤提示、必填項和選填項。(2)Web應用系統(tǒng)在某些情況下,接收頁面上傳的內(nèi)容,并作為新頁面的內(nèi)容,若輸入的內(nèi)容中包含某些功能符號,可能會傳到后臺引起安全問題。在測試設(shè)計時,在輸入域包含HTML,如:<HTML>;或腳本,如:<SCRIPT>;或SQL功能符號,如:-、2020OR'1'='1'等。以測試是否存在XSS腳本和SQL注入等安全問題。)解析:本題考查互聯(lián)網(wǎng)應用測試相關(guān)知識。題目說明中除了具有軟件系統(tǒng)功能和性能外,還指出前端Web瀏覽器和微信小程序使用環(huán)境的不同。所以,除了包含功能、性能、壓力等測試之外,還需要測試終端兼容性和可用性等方面。又由于互聯(lián)網(wǎng)應用的受眾未知性特點,用戶滿意度和安全性尤其要重視。此類題目要求考生閱讀題目對問題的描述,根據(jù)對問題的分析,回答測試有關(guān)的問題。本題目說明和問題中,除了應用的功能之外,還要求支持前端Web和微信小程序兩種訪問途徑的平臺兼容性,采用應用性能指數(shù)度量用戶對系統(tǒng)的滿意度。本問題考查表單測試相關(guān)內(nèi)容。表單(Form)提供給用戶向系統(tǒng)輸入信息,從而使系統(tǒng)獲得用戶填寫的相關(guān)信息的技術(shù)途徑。本系統(tǒng)中頁面中采用表單實現(xiàn)信息申報的提交,進行表單測試時,需要對表單輸入進行驗證,對用戶輸入的輸入域、輸入的內(nèi)容是否符合輸入域?qū)募s束,包括錯誤輸入時是否有錯誤提示,必填項未填時是否有應有的校驗,選填項填與不填的情況,輸入的內(nèi)容是否會引起安全問題。表單中輸入的內(nèi)容在某些情況下,如輸入的內(nèi)容中包含某些XSS或SQL等的功能符號,可能會傳到后臺進行數(shù)據(jù)庫操作或作為新頁面的顯示內(nèi)容,而引起安全性方面的問題。因此,需要在測試用例設(shè)計的時候考慮XSS或SQL注入等安全性方面的測試。本系統(tǒng)測試時,設(shè)計測試輸入中包含HTML或SQL功能符號,包含如<HTML>或任何腳本<SCRIPT>等標簽,或SQL功能符號,如-、2020OR'1'='1'等,以測試是否存在XSS腳本和SQL注入等安全問題。(2).

【問題2】

系統(tǒng)前端采用HTML5實現(xiàn),以使用戶可以通過計算機和不同移動設(shè)備的瀏覽器進行訪問。設(shè)計兼容性測試矩陣,對系統(tǒng)兼容性進行測試(不考慮機型)。(分數(shù):3.33)____________________________________________________________________________________

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論