計算機四級軟件測試工程師真題
程序員
1、選擇題
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。
一、如下關於軟件質量屬性的說法中,錯誤的是
A) 軟件的功能性是指當軟件在指定條件下使用時,軟件產品知足明確和隱含的功能要求的能力
B) 軟件的可維護性是指軟件產品糾正錯誤、改進功能或適應環境、需求和功能規格說明的變化可被修改的能力
C) 軟件的性能是指在指定條件下使用時,軟件產品維持規定的性能水平的能力
D) 軟件的可移植性是指軟件產品從一種環境遷移到另一種環境的能力
二、如下的說法中不屬於測試目的的是
A) 測試是爲了證實程序有錯
B) 測試是爲了證實程序無錯
C) 測試就是評價一個程序和系統的特性或能力,並肯定它是否達到預期的結果
D) 測試能給使用者創建一種信心,確信程序可以按預期的設想運行
三、如下不屬於軟件設計階段測試的內容是
A) 在全部的設計層次跟蹤需求,看設計是否知足需求
B) 從系統環境要求和程序執行性能角度,看設計是否可行
C) 檢查設計文檔中全部可能的錯誤條件,看對這些錯誤的處理是否合適
D) 執行程序的評估工做,以分析程序是否對設計說明作了正確翻譯
四、如下不屬於發佈測試的內容是
A) 產品迴歸測試 B) 產品功能測試
C) 產品性能測試 D) 產品安裝測試
五、不會形成比較錯誤的狀況是
A) 因爲存在舍入偏差可能致使浮點數運算不精確
B) 使用整數除法形成表達式x/2*2==x不成立(假定x是整數)
C) 不一樣數據類型的變量之間進行比較
D) 部分變量定義後未使用
六、代碼走查小組的成員不包括
A) 測試員 B) 負責維護該程序的程序員
C) 最終用戶 D) 祕書或記錄員
七、有一個判斷語句
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') printf("This is a letter!\n");
else printf("This is not a letter!\n");
爲實現路徑覆蓋,須要設計的測試用例個數至少應爲
A) 3 B) 5
C) 6 D) 2
八、如下敘述中不屬於單元測試測試用例設計所關注內容的是
A) 被測單元的輸入 B) 程序的運行環境
C) 該測試用例實際測試的代碼 D) 測試用例的指望輸出結果
九、基於分解的集成策略不包括
A) 大突擊集成 B) MM—路徑的增量式集成
C) 自頂向下的增量式集成 D) 自底向上的增量式集成
十、由軟件的多個用戶在一個或多個用戶的實際使用環境下進行的,開發者一般不在測試現場的測試叫作
A) 接受測試 B) α測試
C) β測試 D) 6α測試
十一、如下指標中哪一個是衡量軟件性能的指標
A) 響應時間 B) 故障修復時間
C) 無端障運行時間 D) 編譯花費時間
十二、如下關於Web應用軟件測試的說法中,正確的是
A) 瀏覽器兼容性測試是Web應用軟件業務層測試的一項重要內容
B) 表單測試是Web應用軟件兼容性測試的一項重要內容
C) 數據完整性測試是Web應用軟件數據層測試的一項重要內容
D) 連接測試是Web應用軟件安全性測試的一項重要內容
1三、如下哪一個目標不是軟件性能測試的目標
A) 檢測軟件的安全控制特性是否工做得正確
B) 發現壓力下軟件功能的缺陷
C) 檢驗軟件的最大負載
D) 肯定軟件最大建議用戶數
1四、如下關於Web應用軟件測試的說法中,錯誤的是
A) 客戶端內容的安全性是Web應用軟件安全性測試關注的一項內容
B) 對Web應用軟件進行性能測試時,一般須要進行壓力測試
C) 在Web應用軟件的分層測試策略中,除了對每一層進行測試,還須要對層間的集成進行測試
D) Web應用軟件的功能測試能夠只關注服務器端程序,而沒必要關注客戶端程序
1五、如下哪一項屬於軟件可靠性測試關注的內容
A) 分析測試用例的分支覆蓋率
B) 檢測軟件的安全漏洞
C) 設定軟件的運行剖面
D) 分析軟件的容錯能力
1六、如下哪一項屬於兼容性測試關注的範疇
A) 軟件的同一功能是否支持多種操做方式
B) 軟件是否能主動禁止用戶可能進行的非法操做
C) 軟件是否支持同類軟件的數據格式
D) 軟件是否容許用戶針對本身的使用習慣進行定製
1七、如下關於面向對象軟件測試的說法中,正確的是
A) 等價類測試是面向對象軟件白盒測試的經常使用手段
B) 數據流測試是面向對象軟件黑盒測試的經常使用手段
C) 面向對象軟件的可靠性測試須要考慮繼承的影響
D) 面向對象軟件的覆蓋率測試須要考慮多態的影響
1八、如下哪一項屬於易用性測試關注的範疇
A) 軟件使用的圖標是否能準確反映相應的功能
B) 軟件是否具備良好的性能
C) 軟件是否可以在多種操做系統環境下運行
D) 軟件提供的功能是否豐富
1九、如下關於面向對象程序集成測試的說法中,錯誤的是
A) 夾層式集成其實是綜合採用自底向上集成和自頂向下集成
B) 高頻集成是以自底向上集成爲基礎,利用冒煙測試進行的集成測試
C) 面向對象程序的協做集成是指優先集成有密切協做關係的類
D) 自底向上集成和自頂向下集成都須要爲集成測試開發大量代碼
20、如下關於極限測試的說法中,正確的是
A) 極限測試是一種只需進行單元測試的軟件測試
B) 極限測試只能用白盒測試方法生成測試用例
C) 極限測試是一種針對極限編程的軟件測試
D) 極限測試是一種比分支覆蓋測試更充分的軟件測試
2一、如下有關測試過程質量控制的描述中,錯誤的是
A) 測試需求捕獲需在測試策劃活動中完成,後期不能進行從新獲取
B) 測試設計與實現應完整覆蓋測試需求分析結果
C) 對測試過程的度量和分析是測試過程質量控制的重要手段
D) 軟件測試不可能解決軟件系統中全部缺陷,若評估剩餘軟件缺陷對軟件質量影響較輕,則可考慮結束測試
2二、如下有關測試活動依據和工做產品的描述中,錯誤的是
A) 測試策劃活動依據測試合同要求和軟件需求開展
B) 依據測試結果便可完成測試總結
C) 測試執行活動中將依據測試計劃任務安排,執行相應的測試用例集合,並記錄測試結果
D) 測試用例是測試設計與實現活動的主要工做產品
2三、如下有關自動化測試基本結構的說法中,錯誤的是
A) 文件服務器用於存放程序軟件包和測試文件包
B) 數據庫服務器用於存儲測試用例和測試結果
C) 運行環境用於執行測試,由一組測試用服務器和PC組成
D) 控制服務器用於測試執行調度,從文件服務器讀取測試用例,向測試環境中的代理髮布命令
2四、如下說法中錯誤的是
A) 測試用例應有惟一的名稱和標識符
B) 測試用例應給出測試輸入和測試結果
C) 測試用例需簡要描述測試的對象、目的和採用的測試方法
D) 測試用例要說明測試所依據的內容來源
2五、黑盒測試方法不包括
A) 程序變異法 B) 邊界值分析法
C) 正交測試法 D) 功能分解法
2、論述題
A公司計劃爲某市地鐵開發一個自動售票系統,系統的主要要求以下:
系統主界面顯示地鐵的線路及各目的地車站名。當乘客選定某一目的地車站後,系統彈出一個對話框,顯示票價。當乘客按「取消」後可回到主界面;不然當乘客投入錢幣後,系統進行判斷:
(1)投入錢幣與票價相等,系統出一張車票,顯示票面金額對話框,回到主界面。
(2)投入錢幣超出票價,系統計算差額,出一張車票,退回多餘錢幣,顯示票面金額及退回金額對話框,回到主界面。
(3)投入錢幣小於票價,且系統計時不超過10秒,繼續等待投入錢幣:
☆若是累計投幣等於票價,轉到(1)。
☆若是累計投幣超出票價,轉到(2)。
☆若是乘客沒有再投幣,系統計時超過10秒,系統退回所投錢幣,顯示投幣金額不夠對話框,回到主界面。
請完成下列工做:
一、畫出描述以上處理流程的狀態圖。
二、根據該狀態圖設計基本路徑覆蓋的測試用例。
二、QESuite Web Version 1.0中,已知某安全郵件系統測試項目的部分信息以下:
●測試版本:總計3個測試版本,按日期排序分別爲SMail1.0_110409,SMail1.0_110419,SMail1.0_110429。
●功能分類視圖中部分待測區域及人員分配定義以下表所示:數據庫
功能區域編程 |
功能區域瀏覽器 |
測試人員安全 |
開發人員服務器 |
功能併發 |
收郵件函數 |
李曉軍性能 |
鄭 勇單元測試 |
發郵件 |
李小青 |
鄭 勇 |
|
…… |
…… |
…… |
|
郵箱設置 |
金 燕 |
張 成 |
|
…… |
…… |
…… |
…… |
下表是功能區域「功能/郵箱設置」下某一個軟件問題的部分操做歷史信息,請依據QESuite Web version 1.0的軟件問題生命週期定義和題中提供的相關人員分配和測試版本信息,且假設已知「操做後的問題狀態」均正確,請找出下表中的錯誤並說明理由。
操做序號 |
操做者 |
執行操做 |
操做後的問題狀態 |
測試版本 |
…… |
…… |
…… |
…… |
…… |
2 |
鄭 勇 |
校驗/校驗 |
打開/再現 |
SMail1.0_110409 |
3 |
張 成 |
修復/修復 |
待驗/修復 |
SMail1.0_110419 |
4 |
金 燕 |
驗證/贊成 |
打開/修復失敗 |
SMail1.0_110419 |
5 |
張 成 |
修復/不是問題 |
待驗/不是問題 |
SMail1.0_110419 |
6 |
金 燕 |
驗證/不一樣意 |
解決/不是問題 |
SMail1.0_110419 |
7 |
金 燕 |
打開/從新打開 |
打開/再現 |
SMail1.0_110429 |
…… |
…… |
…… |
…… |
…… |
已知計算我的所得稅的C源程序以下:
/*sds.c*/
double sds(double y)
{
double x;
if(y<=2000) x=0;
else if(y<=3600)
x=(y-2000)*0.05;
else if(y<=6600)
x=sds(3600)+(y-3600)*0.1;
else if(y<=21600)
x=sds(6600)+(y-6600)*0.2;
else if(y<=61600)
x=sds(21600)+(y-21600)*0.3;
else if(y<=101600)
x=sds(61600)+(y-61600)*0.4;
else x=sds(101600)+(y-101600)*0.5;
return(x);
}
#include<stdio.h>
int main()
{
double y,x;
printf("請輸入收入:\n");
scanf("%If",&y);
x=sds(y);
printf("應繳我的所得稅爲:sds(%9.2f)=%9.2f",y,x);
return 0;
}
四、畫出程序中函數sds的控制流程圖。
五、設計一組測試用例,使該程序全部函數的語句覆蓋率和分支覆蓋率均能達到100%。若是認爲該程序的語句覆蓋率或分支覆蓋率沒法達到100%,需說明爲何。
答案:
1、選擇題
一、C
二、B
[解析] Glenford J.Myers 1979提出軟件測試是爲了證實程序有錯,而不是證實程序無錯誤。三、D 四、A
五、D
[解析] 形成比較錯誤的狀況有:①是否存在不一樣數據類型的變量間的比較。②是否存在混合比較或不一樣長度的變量之間的比較。③比較運算符是否正確。④每一個布爾表達式所表達的內容是否正確。⑤布爾運算符對象是不是布爾類型。⑥在二進制的計算機上是否存在小數或浮點數之間的比較,四捨五入、二進制表示十進制的近似性,每每會形成偏差。⑦對包含多個布爾運算符的表達式,計算次序以及運算符的優先順序是否正確。③編譯器計算布爾表達式的方式是否對程序產生影響。
六、C
[解析] 走查小組通常由3~5人組成,分別爲協調人、記錄員、測試員、程序員。七、D
八、B
[解析] 單元測試用例設計關注四個關鍵元素:①被測單元模塊初始狀態聲明。②被測單元的輸入。③被測試用例實際測試的代碼。④測試用例的指望輸出結果。
九、B
[解析] 基於分解的集成策略有:①大突擊測試(一次性集成方式);②自頂向下的增量式集成;③自底向上的增量式集成;④混合的增量式(三明治)集成;⑤改進的三明治集成。
十、C
[解析] β測試是由軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試,開發者一般不在現場。
十一、A
[解析] 衡量軟件性能的指標有:①響應時間。②系統響應時間和應用延遲時間。③吞吐量。④併發用戶數。⑤資源利用率。十二、C 1三、A
1四、D
[解析] Web應用軟件的功能測試中進行表單測試時,表單包括Web應用軟件的表示層的客戶端程序、業務層的服務端器程序和數據層對數據庫的訪問,因此,功能測試須要關注客戶端程序。
1五、C
[解析] 軟件可靠性測試的步驟有肯定可靠性目標、定義軟件運行剖面、設計測試用例、實施可靠性測試、分析測試結果。設計軟件的運行剖面是軟件可靠性關注的內容。
1六、C
[解析] 軟件的兼容性測試中數據兼容性的內容爲:同一軟件的不一樣版本間的數據兼容性,不一樣軟件間的數據兼容性。因此C選項正確。
1七、D
[解析] 等價類測試屬於黑盒測試,數據流屬於白盒測試。面向對象軟件有封裝、繼承、多態、繼承與多態的複合等特色。因爲一個引用能夠綁定多個實現,而具體綁定哪一個實現須要在運行時刻才能決定,並且不一樣的輸入會致使在運行時刻綁定不一樣的實現,即一個引用根據不一樣的輸入調用不一樣的實現。從語句的覆蓋角度,僅僅覆蓋該引用所在的語句並不意味徹底覆蓋各類不一樣的實現,只有覆蓋了該引用調用各類實現的狀況纔算徹底覆蓋。因此面向對象軟件覆蓋率須要考慮多態。
1八、A
[解析] 易用性測試中用戶界面元素的圖標測試主要檢查圖標是否可以準確反映所對應的功能,以方便用戶使用。
1九、B
[解析] 高頻集成是指在軟件開發過程當中頻繁地將新開發出來的代碼與已有的代碼集成。20、C
2一、A
[解析] 需求的捕獲和完善貫穿於軟件測試每一個階段。2二、B
2三、C
[解析] 運行環境:測試實驗室或一組測試用的服務器、PC。
2四、B
[解析] 測試用例應包括:①惟一的名稱和標識符。②測試追蹤,說明測試所依據的內容來源。③用例說明,簡要描述測試的對象、目的和測試方法。④測試的初始化要求。⑤測試輸入。⑥指望的測試結果。⑦評價測試結果的準則。⑧實施測試用例的執行步驟。
2五、A
[解析] 程序變異法屬於白盒測試。
2、論述題一、 S1:主界面 S2:顯示票價 S3:取消 S4:投幣 S5:投入錢幣與票價相等 S6:投入錢幣小於票價 s7:投入錢幣大於票價 S8:顯示票價金額及退回金額對話框 S9:顯示票面金額對話框 S10:投幣不足,系統記數超過10秒,退回所投入的錢幣 S11:顯示投幣金額不夠對話框 二、①S1→S2→S3→S1 ②S1→S2→S4→S5→S9→S1 ③S1→S2→S4→S7→S8→S1 ④S1→S2→S4→S6→S5→S9→S1 ⑤S1→S2→S4→S6→S7→S8→S1 ⑥S1→S2→S4→S6→S10→S11→S1 三、操做序號2:執行操做爲:校驗/打開。 由於操做後問題狀態是:打開/再現,說明確認軟件有問題,把它置爲打開。 操做序號4:執行操做爲:驗證/不一樣意。 由於操做後問題狀態是:打開/修復失敗,說明驗證後對已修復不一樣意。 操做序號5:執行操做爲:不修復/不是問題。 由於操做後問題狀態是:待驗/不是問題,說明沒有修復。 操做序號6:執行操做爲:驗證/贊成。 由於操做後問題狀態是:解決/不是問題,說明問題已經解決。 操做序號7:操做者爲:鄭勇,執行操做爲:迴歸測試。 由於操做序號6中表示問題已經解決,但還須要由發郵件人再次要求迴歸測試。 四、 五、測試用例: 用例1:輸入:y=1000.00;輸出:應繳我的所得稅sds(1000.00)=0.00 用例2:輸入:y=3600.00;輸出:應繳我的所得稅sds(3600.00)=80.00 用例3:輸入:y=6600.00;輸出:應繳我的所得稅sds(6600.00)=380.00 用例4:輸入:y=21600.00;輸出:應繳我的所得稅sds(21600.00)=3380.00 用例5:輸入:y=61600.00;輸出:應繳我的所得稅sds(61600.00)=15380.00 用例6:輸入:y=101600.00;輸出:應繳我的所得稅sds(101600.00)=31380.00 用例7:輸入:y=102000.00;輸出:應繳我的所得稅sds(102000.00)=31580.00