版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2020年下半年軟件評(píng)測師考試軟件測試應(yīng)用技術(shù)下午真題(總分:49.95,做題時(shí)間:150分鐘)一、案例分析(總題數(shù):5,分?jǐn)?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<o(jì)n)
//9
*op++=v>>(6-2*(i&3));
//10
}
}
return(op-ob);
//11
}
//12(分?jǐn)?shù):9.99)(1).
【問題1】
請針對上述C程序給出滿足100%DC(判定覆蓋)所需的邏輯條件。(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:(編號(hào)條件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<o(jì)n8op-ob>=on)解析:本題考查白盒測試法及應(yīng)用。本問題考查白盒測試中的判定覆蓋法。判定覆蓋指設(shè)計(jì)足夠的測試用例,使得被測程序中每個(gè)判定表達(dá)式至少獲得一次“真”值和“假”值,從而使程序的每一個(gè)分支至少都通過一次。本題中程序有4個(gè)判定,所以滿足判定覆蓋一共需要8個(gè)邏輯條件。(2).
【問題2】
請畫出上述程序的控制流圖,并計(jì)算其控制流圖的環(huán)路復(fù)雜度V(G)。(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:(控制流圖如下圖所示。環(huán)路復(fù)雜度V(G)=8。)解析:[考點(diǎn)]本題考查白盒測試法及應(yīng)用。本問題考查白盒測試中的基本路徑測試法。涉及的知識(shí)點(diǎn)包括:根據(jù)代碼繪制控制流圖、計(jì)算環(huán)路復(fù)雜度??刂屏鲌D是描述程序控制流的一種圖示方式,它由節(jié)點(diǎn)和定向邊構(gòu)成??刂屏鲌D的節(jié)點(diǎn)代表一個(gè)基本塊,定向邊代表控制流的方向。程序的環(huán)路復(fù)雜度等于控制流圖中判定節(jié)點(diǎn)的個(gè)數(shù)加1,本題控制流圖中判定節(jié)點(diǎn)個(gè)數(shù)為7(需注意判定中不同條件要獨(dú)立計(jì)算),所以V(G)=8。(3).
【問題3】
請給出問題2中控制流圖的線性無關(guān)路徑。(分?jǐ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...)解析:[考點(diǎn)]本題考查白盒測試法及應(yīng)用。本問題考查白盒測試用例設(shè)計(jì)方法中的基本路徑法。涉及的知識(shí)點(diǎn)包括:根據(jù)控制流圖和環(huán)路復(fù)雜度給出線性無關(guān)路徑。線性無關(guān)路徑是指包含一組以前沒有處理的語句或條件的路徑。從控制流圖上來看,一條線性無關(guān)路徑是至少包含一條在其他線性無關(guān)路徑中從未有過的邊的路徑。程序的環(huán)路復(fù)雜度等于線性無關(guān)路徑的條數(shù),所以本題中應(yīng)該有8條線性無關(guān)路徑。2.閱讀下列說明,回答下面問題。
【說明】
為了有效控制疫情,需要記錄所有人最后一次出行的信息。其中:
(1)類Travel記錄了一次旅行的基本信息,包括出發(fā)地(Source)、目的地(Des)、15日內(nèi)是否有境外旅行史(OverSeas)和15日內(nèi)是否去過高風(fēng)險(xiǎn)疫區(qū)(HighDanArea)。
(2)類HighTrain和AirPlane分別表示高鐵旅行和飛機(jī)旅行,這兩個(gè)類繼承了類Travel的屬性和方法。HighTrain定義了自己的屬性車廂號(hào)(CaseNo)和座位號(hào)(SeatNo)。AirPlane定義了自己的屬性座位號(hào)(SeatNo)。
(3)函數(shù)checklso調(diào)用Travel的相關(guān)方法讀取旅行者的出發(fā)地、目的地以及15日內(nèi)是否有境外和高風(fēng)險(xiǎn)區(qū)域的信息,判斷該旅行者是否需要被隔離。
現(xiàn)擬采用面向?qū)ο蟮姆椒ㄟM(jìn)行測試。(分?jǐn)?shù):9.99)(1).
【問題1】
(1)面向?qū)ο蟮臏y試分為哪幾個(gè)階段?
(2)類Person和Travel之間是什么關(guān)系?
(3)該關(guān)系是否影響測試?(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)面向?qū)ο蠓治龅臏y試,面向?qū)ο笤O(shè)計(jì)的測試,面向?qū)ο缶幊痰臏y試,面向?qū)ο髥卧獪y試,面向?qū)ο蠹蓽y試,面向?qū)ο蟠_認(rèn)和系統(tǒng)測試。(2)關(guān)聯(lián)關(guān)系。(3)影響測試。)解析:(1)此題考查面向?qū)ο鬁y試的基本概念。面向?qū)ο蟮臏y試階段分為:面向?qū)ο蠓治龅臏y試,面向?qū)ο笤O(shè)計(jì)的測試,面向?qū)ο缶幊痰臏y試,面向?qū)ο髥卧獪y試,面向?qū)ο蠹蓽y試,面向?qū)ο蟠_認(rèn)和系統(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)系,因?yàn)椴淮嬖陬怲ravel調(diào)用類Person作為其成員變量。(3)此題考查關(guān)聯(lián)關(guān)系對面向?qū)ο鬁y試的影響。因?yàn)轭怭erson中調(diào)用了類Travel作為其成員變量,Person測試成功與否與Travel有較大關(guān)系,Travel的失敗將導(dǎo)致對Person測試的失敗。(2).
【問題2】
為了更方便函數(shù)checkIso的實(shí)現(xiàn),程序員在Person類中增加了屬性IsIso和方法checkDan,具體實(shí)現(xiàn)如下:
classPerson
{
private:
TravelLastTra;
public:
boolIsIso=false;
public:
...
voidcheckDan()
{
...
}
...
}
方法checkDan中判斷該旅行者是否需要被隔離,并且把結(jié)果寫入IsIso,在checkIso中直接讀取旅行者的IsIso屬性值就可以得出結(jié)論。
(1)這種實(shí)現(xiàn)方法破壞了面向?qū)ο蟮哪姆N機(jī)制?
(2)這種問題的測試需要在面向?qū)ο鬁y試的哪個(gè)階段實(shí)施?(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)破壞了封裝機(jī)制。(2)在面向?qū)ο缶幊痰臏y試中進(jìn)行。)解析:(1)此題考查面向?qū)ο蟮姆庋b機(jī)制。通過方法直接修改成員屬性,破壞了面向?qū)ο蟮姆庋b性,當(dāng)需要修改對象成員變量時(shí),應(yīng)當(dāng)調(diào)用對應(yīng)的set方法。(2)此題考查面向?qū)ο鬁y試各個(gè)階段的測試內(nèi)容。因?yàn)槭钦{(diào)用方法checkDan中判斷該旅行者是否需要被隔離,并且把結(jié)果寫入IsIso,所以需要在面向?qū)ο缶幊痰臏y試中進(jìn)行。(3).
【問題3】
請給出各個(gè)類的測試順序。(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:(Travel→HighTrain,AirPlane→Person→main)解析:[考點(diǎn)]此題考查面向?qū)ο髥卧獪y試的順序。Travel與HighTrain、AirPlane是繼承關(guān)系,故要先對父類進(jìn)行測試,再測試HighTrain、AirPlane、Person,因?yàn)镻erson調(diào)用Travel作為其成員變量,故HighTrain、AirPlane在Person之前測試,最后是main。3.閱讀下列說明,回答下面問題。
【說明】
某航空公司考慮到在今年特殊形勢下,很多會(huì)員無法通過搭乘航班延續(xù)之前的會(huì)員等級(jí),特推出了“回望升級(jí)”活動(dòng)。對2017年1月1日至2019年12月31日三個(gè)自然年度任意連續(xù)12/24/36個(gè)月機(jī)票消費(fèi)達(dá)到一定金額時(shí),獎(jiǎng)勵(lì)會(huì)員相應(yīng)等級(jí)。
活動(dòng)規(guī)則為:任意連續(xù)12/24/36個(gè)月機(jī)票消費(fèi)金額達(dá)到人民幣2.5/4.75/6.75萬元及以上,給予銀卡會(huì)員等級(jí);任意連續(xù)12/24/36個(gè)月機(jī)票消費(fèi)金額達(dá)到人民幣5/9.5/13.5萬元及以上,給予金卡會(huì)員等級(jí);任意連續(xù)12/24/36個(gè)月機(jī)票消費(fèi)金額達(dá)到人民幣15/28.5/40.5萬元及以上,給予白金卡會(huì)員等級(jí)?;顒?dòng)規(guī)則詳見表1。表1活動(dòng)規(guī)則12個(gè)月24個(gè)月36個(gè)月獎(jiǎng)勵(lì)會(huì)員等級(jí)(代號(hào))2.54.756.75銀卡(S)59.513.5金卡(G)1528.540.5白金卡(P)<2.5<4.75<6.75普卡(M)此外,為了鼓勵(lì)在官網(wǎng)和官方App購票,針對不同的購票渠道,有不同的獎(jiǎng)懲系數(shù)。官網(wǎng)購票不獎(jiǎng)勵(lì)不懲罰,官方App購票消費(fèi)金額按1.2倍計(jì)算,第三方購票消費(fèi)金額按0.8倍計(jì)算,詳見表2。表2不同購票渠道消費(fèi)金額獎(jiǎng)懲系數(shù)購票渠道渠道代碼獎(jiǎng)懲系數(shù)第三方10.8官網(wǎng)21官方App31.2
航空公司開發(fā)了一個(gè)程序來計(jì)算會(huì)員在該活動(dòng)后的獎(jiǎng)勵(lì)等級(jí),程序的輸入包括會(huì)員在2017年1月1日至2019年12月31日中任意連續(xù)12個(gè)月最大消費(fèi)金額A(單位:萬元),任意連續(xù)24個(gè)月最大消費(fèi)金額B(單位:萬元),36個(gè)月消費(fèi)金額C(單位:萬元),購票渠道代碼D,程序的輸出為本次活動(dòng)獎(jiǎng)勵(lì)等級(jí)L。其中,A、B、C為非負(fù)浮點(diǎn)數(shù)最多保留4位小數(shù),D為正整數(shù)且取值為1、2、3之一,
L為字母M、S、G、P中之一。(分?jǐn)?shù):9.99)(1).
【問題1】
采用等價(jià)類劃分法對該程序進(jìn)行測試,等價(jià)類表如表3所示,請補(bǔ)充表2-3中空(1)~(4)。表3等價(jià)類輸入/輸出有效等價(jià)類編號(hào)無效等價(jià)類編號(hào)任意連續(xù)12個(gè)月最大
消費(fèi)金額A(1)1非浮點(diǎn)數(shù)7負(fù)浮點(diǎn)數(shù)8
多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)9任意連續(xù)24個(gè)月最大
消費(fèi)金額B最多4位小數(shù)的
非負(fù)浮點(diǎn)數(shù)2非浮點(diǎn)數(shù)10負(fù)浮點(diǎn)數(shù)11多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)1236個(gè)月消費(fèi)金額C最多4位小數(shù)的
非負(fù)浮點(diǎn)數(shù)3非浮點(diǎn)數(shù)13負(fù)浮點(diǎn)數(shù)14(2)15購票渠道D14非整數(shù)1625(3)1736(4)18(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)最多4位小數(shù)的非負(fù)浮點(diǎn)數(shù)(2)多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)(3)非正整數(shù)(4)除1、2、3之外的其他正整數(shù))解析:本問題考查等價(jià)類劃分法中等價(jià)類表的構(gòu)造。等價(jià)類劃分法的等價(jià)類表是把程序的輸入域按規(guī)則劃分為若干子集。本題中A、B、C、D由多個(gè)輸入值構(gòu)成,并且需要對每個(gè)(或者每組)輸入值分別處理,按規(guī)則可以劃分為n個(gè)有效等價(jià)類(每個(gè)或者每組值確定一個(gè)有效等價(jià)類)和一個(gè)無效等價(jià)類(所有不允許輸入值的集合)。對A來說,分成1個(gè)有效等價(jià)類和3個(gè)無效等價(jià)類,而這個(gè)無效等價(jià)類又可以進(jìn)一步細(xì)分為非浮點(diǎn)數(shù)、負(fù)浮點(diǎn)數(shù)以及多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)。對B來說,分成1個(gè)有效等價(jià)類和3個(gè)無效等價(jià)類,而這個(gè)無效等價(jià)類又可以進(jìn)一步細(xì)分為非浮點(diǎn)數(shù)、負(fù)浮點(diǎn)數(shù)以及多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)。對C來說,分成1個(gè)有效等價(jià)類和3個(gè)無效等價(jià)類,而這個(gè)無效等價(jià)類又可以進(jìn)一步細(xì)分為非浮點(diǎn)數(shù)、負(fù)浮點(diǎn)數(shù)以及多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù)。對D來說,根據(jù)規(guī)則可以劃分為3個(gè)有效等價(jià)類(1,2,3)和3個(gè)無效等價(jià)類(非整數(shù),非正整數(shù),除1、2、3之外的其他正整數(shù))。(2).
【問題2】
根據(jù)以上等價(jià)類表設(shè)計(jì)的測試用例如表4所示,請補(bǔ)充表4中空(1)~(9)。表4測試用例編號(hào)輸入覆蓋等價(jià)類(編號(hào))預(yù)期輸出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(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)1,2,3(2)M(3)N/A(4)7.23(5)任意負(fù)浮點(diǎn)數(shù),如-1(6)任意多于4位小數(shù)的非負(fù)浮點(diǎn)數(shù),如0.12345(7)任意非整數(shù),如A(8)任意非正整數(shù),如0(9)除1、2、3之外的其他任意正整數(shù),如4)解析:[考點(diǎn)]本問題考查等價(jià)類劃分法中根據(jù)等價(jià)類表編寫測試用例的能力。在編寫等價(jià)類劃分法的測試用例時(shí),如果輸入全部都來自有效等價(jià)類,則從每個(gè)有效等價(jià)類選取一個(gè)代表元素作為輸入;如果要考慮無效等價(jià)類,則每次只選取一個(gè)無效等價(jià)類,其余輸入都從有效等價(jià)類中選取。(3).
【問題3】
對于本案例的黑盒測試來說,以上測試方法有哪些不足?(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)沒有考慮邊界值;(2)沒有考慮對輸出進(jìn)行等價(jià)類劃分;(3)……)解析:[考點(diǎn)]本問題考查黑盒測試的測試方法的選擇能力。常見的黑盒測試用例設(shè)計(jì)方法包括等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖法、判定表驅(qū)動(dòng)法、正交試驗(yàn)設(shè)計(jì)法、功能圖法、場景法等。本案例中使用了等價(jià)類劃分法,但是只對輸入進(jìn)行了等價(jià)類劃分,輸出都是M,沒有考慮其他輸出值,因此還需要對輸出進(jìn)行等價(jià)類劃分補(bǔ)充用例。此外,本案例沒有考慮各等價(jià)類邊界上的取值,而根據(jù)經(jīng)驗(yàn),錯(cuò)誤往往發(fā)生在邊界的取值上,因此還需要考慮邊界值分析法補(bǔ)充用例。4.閱讀下列說明,回答下面問題。
【說明】
某測濕儀用于測量目標(biāo)物體的相對濕度。該儀器中軟件主要完成A/D數(shù)據(jù)采集,并通過數(shù)學(xué)運(yùn)算將數(shù)據(jù)轉(zhuǎn)換為濕度值,在顯示終端顯示。軟件主要包括主程序模塊、測濕程序模塊、顯示程序模塊、報(bào)警程序模塊等。
程序的主要功能說明如下:
1.主程序模塊判斷是否存在按鍵按下的情況,如果沒有按鍵按下,繼續(xù)執(zhí)行1;否則執(zhí)行2。
2.如果按下鍵為“設(shè)置鍵”,則通過“+”鍵每次增加1或通過“-”鍵每次減少1,設(shè)置最高濕度報(bào)警值(默認(rèn)值為70),再次按下“設(shè)置”鍵進(jìn)行確認(rèn),并通過“+”鍵或“-”鍵設(shè)置最低濕度報(bào)警值(默認(rèn)值為40),再次按下“設(shè)置”鍵進(jìn)行確認(rèn)后執(zhí)行1。
3.如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息。
4.將讀取的濕度信息與設(shè)定的最大值與最小值比較,如果大于等于最大值或小于等于最小值,則執(zhí)行5;否則向顯示程序模塊發(fā)送顯示的濕度信息,并執(zhí)行6。
5.調(diào)用報(bào)警處理程序,并向顯示程序模塊發(fā)送報(bào)警信息。
6.顯示程序模塊顯示濕度過高報(bào)警或濕度過低報(bào)警或者濕度信息。(分?jǐn)?shù):9.99)(1).
【問題1】
為了測試軟件功能,測試人員設(shè)計(jì)了表1所示的測試用例。假定開始執(zhí)行測試用例時(shí),最高濕度和最低濕度報(bào)警值為默認(rèn)值,請?zhí)顚懺摫碇械目瞻祝?)~(8),將答案填寫在答題紙的對應(yīng)欄中。表1測試用例一覽表序號(hào)輸入輸出(預(yù)期結(jié)果)1按下“設(shè)置”鍵后,按“-”鍵7次屏幕顯示最高濕度報(bào)警值為(1)2接著1的操作,按下“設(shè)置”鍵進(jìn)行確認(rèn)后,
先按“+”鍵10次,再按下“設(shè)置”鍵確認(rèn)屏幕顯示最低濕度報(bào)警值設(shè)定為(2)3按下“測濕”鍵,將測濕儀置入濕度為(3)的
目標(biāo)容器屏幕顯示被測目標(biāo)容器濕度為554按下“測濕”鍵,將測濕儀置入濕度為52的
目標(biāo)容器屏幕顯示(4)5按下“測濕”鍵,將測濕儀置入濕度為63的
目標(biāo)容器屏幕顯示(5)6按下“測濕”鍵,將測濕儀置入濕度為69
目標(biāo)容器屏幕顯示濕度過高報(bào)警信息7按下“測濕”鍵,將測濕儀置入濕度為(6)的
目標(biāo)容器屏幕顯示被測目標(biāo)容器濕度為518按下“測濕”鍵,將測濕儀置入濕度為50的
目標(biāo)容器屏幕顯示(7)9按下“測濕”鍵,將測濕儀置入濕度低于(8)的
目標(biāo)容器屏幕顯示濕度過低報(bào)警信息(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)63(2)50(3)55(4)被測目標(biāo)容器濕度為52(5)濕度過高報(bào)警信息(6)51(7)濕度過低報(bào)警信息(8)50)解析:本題主要考查軟件測試的一些基本概念和方法在測試實(shí)踐中的應(yīng)用。在嵌入式軟件測試過程中,由于大部分嵌入式軟件無人機(jī)界面,測試人員不能按照界面信息對軟件進(jìn)行直觀的理解,必須通過理解軟件需求和算法,運(yùn)用測試概念和方法進(jìn)行基于需求的測試用例設(shè)計(jì),同時(shí)需要根據(jù)不同軟件重要度等級(jí)要求保證設(shè)計(jì)測試用例的充分性。此題目要求考生認(rèn)真閱讀題目所給的軟件需求及算法信息,結(jié)合嵌入式軟件測試的基本概念和測試用例設(shè)計(jì)要求,在此嵌入式軟件測試中進(jìn)行實(shí)際應(yīng)用。本問題主要考查考生理解軟件需求和算法信息的能力,以及運(yùn)用等價(jià)類劃分方法和邊界值分析方法設(shè)計(jì)測試用例的能力。按照說明中對測濕儀軟件的說明信息,對照表1中的已知信息和提示信息,完成表1中的問題。(1)中的輸入為“按下‘設(shè)置’鍵后,按‘-’鍵7次”,根據(jù)輸出的提示信息,需要使用說明信息計(jì)算出最高濕度報(bào)警設(shè)定值。根據(jù)說明中的第1條和第2條,按下設(shè)置鍵后,通過“-”鍵每次減少1,設(shè)置最高濕度報(bào)警值(默認(rèn)值為70)。因?yàn)槟J(rèn)值為70,按鍵每次減少1,總共按“-”鍵7次,故應(yīng)該減少7,默認(rèn)值70減去7,為63,所以輸出為“屏幕顯示最高濕度報(bào)警值為63”。(2)中輸入為“接著1的操作,按下‘設(shè)置’鍵進(jìn)行確認(rèn)后,先按‘+’鍵10次,再按下‘設(shè)置’鍵確認(rèn)”,根據(jù)輸出的提示信息,需要根據(jù)說明計(jì)算出最低濕度報(bào)警設(shè)定值。根據(jù)說明中的第1條和第2條,再次按下“設(shè)置”鍵進(jìn)行確認(rèn),并通過“+”鍵或“-”鍵設(shè)置最低濕度報(bào)警值(默認(rèn)值為40),再次按下“設(shè)置”鍵進(jìn)行確認(rèn)后執(zhí)行1。因?yàn)槟J(rèn)值為40,按“+”鍵每次增加1,總共按“+”鍵10次,故應(yīng)該增加10,默認(rèn)值40增加10,為50,所以輸出為“屏幕顯示最低濕度報(bào)警值設(shè)定為50”。(3)中輸出為“屏幕顯示被測目標(biāo)容器濕度為55”,根據(jù)輸入的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進(jìn)行正常濕度顯示。由于輸出為“屏幕顯示被測目標(biāo)容器濕度為55”,并且濕度55為設(shè)定的正常范圍內(nèi)值,可得出輸入應(yīng)為“按下‘測濕’鍵,將測濕儀置入濕度為55的目標(biāo)容器”。(4)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為52的目標(biāo)容器”,根據(jù)輸出的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進(jìn)行正常濕度顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為52的目標(biāo)容器”,并且濕度52為設(shè)定的正常范圍內(nèi)值,可得出輸出為“屏幕顯示被測目標(biāo)容器(或物體)濕度為52”。(5)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為63的目標(biāo)容器”,根據(jù)輸出的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報(bào)警處理程序向顯示程序模塊發(fā)送報(bào)警信息,顯示程序模塊進(jìn)行報(bào)警顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為63的目標(biāo)容器”,63為設(shè)定的最高濕度邊界值,根據(jù)第4條說明,邊界值需要報(bào)警處理,可得出輸出為“屏幕顯示濕度過高報(bào)警信息”。(6)中輸出為“屏幕顯示被測目標(biāo)容器濕度為51”,根據(jù)輸入的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息在設(shè)定的正常濕度范圍內(nèi),則顯示模塊進(jìn)行正常濕度顯示。由于輸出為“屏幕顯示被測目標(biāo)容器濕度為51”,并且濕度51為設(shè)定的正常范圍內(nèi)值,屬于邊界測試用例,可得出輸入應(yīng)為“按下‘測濕’鍵,將測濕儀置入濕度為51的目標(biāo)容器”。(7)中輸入為“按下‘測濕’鍵,將測濕儀置入濕度為50的目標(biāo)容器”,根據(jù)輸出的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報(bào)警處理程序向顯示程序模塊發(fā)送報(bào)警信息,顯示程序模塊進(jìn)行報(bào)警顯示。由于輸入為“按下‘測濕’鍵,將測濕儀置入濕度為50的目標(biāo)容器”,50為設(shè)定的最低濕度邊界值,根據(jù)第4條說明,邊界值需要報(bào)警處理,可得出輸出為“屏幕顯示濕度過低報(bào)警信息”。(8)中輸出為“屏幕顯示濕度過低報(bào)警信息”,根據(jù)輸入的提示信息,該用例在進(jìn)行測濕。根據(jù)說明中的第3條、第4條、第5條和第6條,如果按下鍵為“測濕”鍵,則讀取測濕程序模塊送回的目標(biāo)濕度信息,如果讀取的濕度信息不在設(shè)定的正常濕度范圍內(nèi),則報(bào)警處理程序向顯示程序模塊發(fā)送報(bào)警信息,顯示程序模塊進(jìn)行報(bào)警顯示。由于輸出為“屏幕顯示濕度過低報(bào)警信息”,并且本說明中設(shè)置的濕度最低邊界值為50,根據(jù)第4條說明,邊界值需要報(bào)警處理,同時(shí)(7)中已處理邊界點(diǎn)50,根據(jù)測試用例設(shè)計(jì)中的邊界值分析方法,本用例屬于邊界外測試用例,可得出輸入應(yīng)為“按下‘測濕’鍵,將測濕儀置入濕度低于50的目標(biāo)容器”。(2).
【問題2】
軟件的結(jié)構(gòu)覆蓋率是度量測試充分性的一種手段,也是度量測試有效性的一種手段。在嵌入式軟件白盒測試過程中,通常以語句覆蓋率、分支覆蓋率和MC/DC覆蓋率作為度量指標(biāo)。
在實(shí)現(xiàn)題目說明的第4條“判斷濕度是否在正常范圍”的功能時(shí),設(shè)計(jì)人員采用了下列算法:
if((目標(biāo)物體濕度<高濕報(bào)警值)&&(目標(biāo)物體濕度>低濕報(bào)警值))
{
顯示目標(biāo)物體濕度值;
}
else
{
if(目標(biāo)物體濕度≥高濕報(bào)警值)
{
顯示高濕報(bào)警信息;
}
else
{
顯示低濕報(bào)警信息;
}
}
請完成2中的(1)~(3)空白,指出對上述算法達(dá)到100%語句覆蓋、100%分支覆蓋和100%MC/DC覆蓋所需的最少測試用例數(shù)目。表2測試覆蓋用例統(tǒng)計(jì)表覆蓋率類型所需的最少用例數(shù)100%語句覆蓋(1)100%分支覆蓋(2)100%MC/DC覆蓋(3)(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)3(2)3(3)3)解析:[考點(diǎn)]本題主要考查軟件測試的一些基本概念和方法在測試實(shí)踐中的應(yīng)用。本問題主要考查對語句覆蓋、分支覆蓋和MC/DC覆蓋概念的掌握以及實(shí)際應(yīng)用。語句覆蓋要求設(shè)計(jì)適當(dāng)數(shù)量的測試用例,運(yùn)行被測程序,使得程序中每一條語句至少被運(yùn)行一遍,語句覆蓋在測試中主要發(fā)現(xiàn)錯(cuò)誤語句。分支覆蓋要求設(shè)計(jì)適當(dāng)數(shù)量的測試用例,運(yùn)行被測程序,使得程序中每個(gè)真值分支和假值分支至少執(zhí)行一次,分支覆蓋也稱判定覆蓋。修正判定條件覆蓋(MC/DC)要求設(shè)計(jì)適當(dāng)數(shù)量的測試用例,保證在一個(gè)程序中每一種輸入輸出至少出現(xiàn)一次,在程序中的每一個(gè)條件必須產(chǎn)生所有可能的輸出結(jié)果至少一次,并且每個(gè)判斷中的每個(gè)條件必須能夠獨(dú)立影響一個(gè)判斷的輸出,即在其他條件不變的前提下僅改變這個(gè)條件的值,而使判斷結(jié)果改變。按照上述語句覆蓋要求,語句覆蓋就要使得問題2中給定算法中所有語句執(zhí)行一次,問題2中有三個(gè)語句塊,如下圖所示。故為了使問題2中給定算法的三個(gè)語句塊各執(zhí)行一次,最少需要3個(gè)測試用例來滿足覆蓋要求。按照上述分支覆蓋要求,分支覆蓋要使得程序中每個(gè)真值分支和假值分支至少執(zhí)行一次。對問題2中的判斷條件進(jìn)行分析,有3個(gè)判斷條件,需要分別取每個(gè)判斷的真值分支和假值分支,即從理論上需要6個(gè)測試用例來滿足覆蓋要求。但是,由于第一個(gè)判斷的真分支中包含了第二個(gè)判斷和第三個(gè)判斷的假分支,當(dāng)滿足第一個(gè)判斷的真分支時(shí),同時(shí)可滿足第二個(gè)判斷的假分支和第三個(gè)判斷的假分支,可減少2個(gè)測試用例;第二個(gè)判斷或第三個(gè)判斷的真分支包含了第一個(gè)判斷的假分支,當(dāng)滿足第二個(gè)或者第三個(gè)判斷的真分支時(shí),同時(shí)可滿足第一個(gè)判斷的假分支,可減少1個(gè)測試用例。故問題2最少需要3個(gè)測試用例來滿足分支覆蓋要求。按照上述MC/DC覆蓋要求,即每個(gè)判斷中的每個(gè)條件必須能夠獨(dú)立影響一個(gè)判斷的輸出。第一個(gè)判斷有兩個(gè)組合條件(設(shè)為C1,C2),最多有4種組合情況,即C1真C2真、C1真C2假、C1假C2真、C1假C2假。其中C1真C2真、C1真C2假、C1假C2真改變其中任一條件都會(huì)改變判斷的結(jié)果,但C1假C2假改變?nèi)我粭l件后判斷結(jié)果仍為假,即C1假C2假條件中的C1或C2的真或假均不能獨(dú)立影響整個(gè)判斷為假的輸出。故最少需要3個(gè)測試用例來滿足MC/DC覆蓋。(3).
【問題3】
嵌入式軟件中通常使用注釋率來衡量程序的可維護(hù)性,嵌入式軟件的注釋率一般要求不小于
(1)
。
本項(xiàng)目在開發(fā)過程中通過測試發(fā)現(xiàn)了11個(gè)缺陷,在實(shí)際使用中用戶反饋了1個(gè)缺陷,缺陷探測率(DDP)為
(2)
(結(jié)果保留小數(shù)點(diǎn)后1位)。(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)20%或1/5或等效解答(2)91.7%)解析:[考點(diǎn)]本題主要考查軟件測試的一些基本概念和方法在測試實(shí)踐中的應(yīng)用。本問題第一個(gè)問題是嵌入式軟件工程中的一個(gè)要求,為了提高軟件后續(xù)的可維護(hù)性,要求嵌入式軟件的注釋率一般不小于代碼行數(shù)的20%(或1/5,或等效數(shù)字),這樣要求的目的是在后期維護(hù)軟件時(shí),能更快地理解軟件語句的含義,提高軟件適應(yīng)性更改的效率。本問題第二個(gè)問題是一個(gè)簡單的測試概念,缺陷探測率(DDP)=測試發(fā)現(xiàn)的軟件問題/軟件總的發(fā)現(xiàn)問題。對本題而言:缺陷探測率(DDP)=111(11+1)=91.7%。5.閱讀下列說明,回答下面問題。
【說明】
為了應(yīng)對疫情防控下的學(xué)生返校管理,某高校管理平臺(tái)新開發(fā)緊急疫情管控系統(tǒng),以有效管理師生員工的活動(dòng)及身體情況。該系統(tǒng)提供Web和微信小程序兩種不同的訪問途徑。系統(tǒng)主要功能是:
(1)專職管理人員對基礎(chǔ)信息管理和設(shè)置。
(2)師生員工每日信息申報(bào),返校、離?;顒?dòng)申報(bào),所在位置通過定位實(shí)時(shí)獲取。
(3)對各類人員的活動(dòng)申請進(jìn)行審批。
(4)根據(jù)相關(guān)審批結(jié)果進(jìn)行門禁控制。
(5)各級(jí)管理人員可對所轄部門的人員申報(bào)情況進(jìn)行查詢和統(tǒng)計(jì)。(分?jǐn)?shù):9.99)(1).
【問題1】
(1)信息申報(bào)采用表單進(jìn)行實(shí)現(xiàn),輸入測試需要測試哪幾個(gè)方面?
(2)什么情況下表單中輸入的內(nèi)容可能會(huì)傳到后臺(tái)引起安全問題?如何設(shè)計(jì)測試用例進(jìn)行輸入測試?(分?jǐn)?shù):3.33)__________________________________________________________________________________________
正確答案:((1)表單輸入測試需要驗(yàn)證:輸入域、錯(cuò)誤輸入是否有錯(cuò)誤提示、必填項(xiàng)和選填項(xiàng)。(2)Web應(yīng)用系統(tǒng)在某些情況下,接收頁面上傳的內(nèi)容,并作為新頁面的內(nèi)容,若輸入的內(nèi)容中包含某些功能符號(hào),可能會(huì)傳到后臺(tái)引起安全問題。在測試設(shè)計(jì)時(shí),在輸入域包含HTML,如:<HTML>;或腳本,如:<SCRIPT>;或SQL功能符號(hào),如:-、2020OR'1'='1'等。以測試是否存在XSS腳本和SQL注入等安全問題。)解析:本題考查互聯(lián)網(wǎng)應(yīng)用測試相關(guān)知識(shí)。題目說明中除了具有軟件系統(tǒng)功能和性能外,還指出前端Web瀏覽器和微信小程序使用環(huán)境的不同。所以,除了包含功能、性能、壓力等測試之外,還需要測試終端兼容性和可用性等方面。又由于互聯(lián)網(wǎng)應(yīng)用的受眾未知性特點(diǎn),用戶滿意度和安全性尤其要重視。此類題目要求考生閱讀題目對問題的描述,根據(jù)對問題的分析,回答測試有關(guān)的問題。本題目說明和問題中,除了應(yīng)用的功能之外,還要求支持前端Web和微信小程序兩種訪問途徑的平臺(tái)兼容性,采用應(yīng)用性能指數(shù)度量用戶對系統(tǒng)的滿意度。本問題考查表單測試相關(guān)內(nèi)容。表單(Form)提供給用戶向系統(tǒng)輸入信息,從而使系統(tǒng)獲得用戶填寫的相關(guān)信息的技術(shù)途徑。本系統(tǒng)中頁面中采用表單實(shí)現(xiàn)信息申報(bào)的提交,進(jìn)行表單測試時(shí),需要對表單輸入進(jìn)行驗(yàn)證,對用戶輸入的輸入域、輸入的內(nèi)容是否符合輸入域?qū)?yīng)的約束,包括錯(cuò)誤輸入時(shí)是否有錯(cuò)誤提示,必填項(xiàng)未填時(shí)是否有應(yīng)有的校驗(yàn),選填項(xiàng)填與不填的情況,輸入的內(nèi)容是否會(huì)引起安全問題。表單中輸入的內(nèi)容在某些情況下,如輸入的內(nèi)容中包含某些XSS或SQL等的功能符號(hào),可能會(huì)傳到后臺(tái)進(jìn)行數(shù)據(jù)庫操作或作為新頁面的顯示內(nèi)容,而引起安全性方面的問題。因此,需要在測試用例設(shè)計(jì)的時(shí)候考慮XSS或SQL注入等安全性方面的測試。本系統(tǒng)測試時(shí),設(shè)計(jì)測試輸入中包含HTML或SQL功能符號(hào),包含如<HTML>或任何腳本<SCRIPT>等標(biāo)簽,或SQL功能符號(hào),如-、2020OR'1'='1'等,以測試是否存在XSS腳本和SQL注入等安全問題。(2).
【問題2】
系統(tǒng)前端采用HTML5實(shí)現(xiàn),以使用戶可以通過計(jì)算機(jī)和不同移動(dòng)設(shè)備的瀏覽器進(jìn)行訪問。設(shè)計(jì)兼容性測試矩陣,對系統(tǒng)兼容性進(jìn)行測試(不考慮機(jī)型)。(分?jǐn)?shù):3.33)____________________________________________________________________________________
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1.2《風(fēng)景談》【中職專用】高一語文(高教版2023基礎(chǔ)模塊上冊)
- (2024)年產(chǎn)噸鋰電池負(fù)極材料石墨化項(xiàng)目可行性研究報(bào)告寫作模板(一)
- 解析:內(nèi)蒙古通遼市科爾沁左翼中旗2024-2025學(xué)年七年級(jí)上學(xué)期期中語文試題(原卷版)-A4
- 2024(半成品預(yù)制菜篇)餐飲供應(yīng)鏈指南
- 《藥品經(jīng)濟(jì)學(xué)》課件
- 《LED的電學(xué)指標(biāo)》課件
- 養(yǎng)老院老人情感關(guān)懷制度
- 《法制教育勢在必行》課件
- 幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)語言課件-模塊一 理論篇 幼兒園語言教育概述
- 《神圣時(shí)間》課件
- 遼寧省名校聯(lián)盟2024年高三12月份聯(lián)合考試 語文試卷(含答案解析)
- 《垂體瘤規(guī)范化診治》課件
- 圖文轉(zhuǎn)換-圖表(小題訓(xùn)練)(解析版)-2025年部編版中考語文一輪復(fù)習(xí)
- 七上語文期末考試復(fù)習(xí)計(jì)劃表
- 2024兒童青少年抑郁治療與康復(fù)痛點(diǎn)調(diào)研報(bào)告 -基于患者家長群體的調(diào)研
- 大數(shù)據(jù)+治理智慧樹知到期末考試答案章節(jié)答案2024年廣州大學(xué)
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- 山東省煙臺(tái)市2023-2024學(xué)年高二上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年中國鐵路南寧局集團(tuán)招聘筆試參考題庫含答案解析
- 國家開放大學(xué)化工節(jié)能課程-復(fù)習(xí)資料期末復(fù)習(xí)題
- 2023年云南滇中新區(qū)事業(yè)單位招聘30人筆試參考題庫(共500題)答案詳解版
評(píng)論
0/150
提交評(píng)論