軟件測試與質量保證習題
緒論
- 爲什麼學習軟件質量保證與測試課程?
軟件測試是軟件生命週期中的一個獨立階段,並且在軟件開發的每個階段都有相關的測試活動。對一個合格的程序員來說,掌握軟件測試的常用方法及常用測試工具的用法是十分必要的。
隨着我國軟件產業逐步走向規範化,軟件公司逐漸認識到軟件測試工作的重要性。把測試工作從編程中分離出來,專門設置軟件測試崗位,招聘軟件測試人才。
- 優秀的軟件測試工程師應具備哪些素質?
(1)溝通能力,具有與技術(開發者)和非技術人員(客戶,管理人員)的交流能力。測試小組的成員必須能夠同等地同用戶和開發者溝通。
(2)團隊合作能力
(3)技術能力,從開發人員的角度正確的評價測試者,簡化自動測試工具編程的學習曲線。
(4)自信心,開發者指責測試者出了錯是常有的事,測試者必須對自己的觀點有足夠的自信心。如果容許別人對自己指東指西,就不能完成什麼更多的事情了。
(6)耐心
一些質量保證工作需要難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。這個工作是那些坐不住的人無法完成的。
(7)懷疑精神
可以預料,開發者會盡他們最大的努力將所有的錯誤解釋過去。測式者必須聽每個人的說明,但他必須保持懷疑直到他自己看過以後。
(8)洞察力,捕獲用戶觀點的能力,強烈的質量追求,對細節的關注能力。應用的高風險區的判斷能力以便將有限的測試針對重點環節。
軟件測試基礎
-
軟件測試的目的
A、避免軟件開發中出現的錯誤
B加粗樣式、發現軟件開發中出現的錯
C、儘可能發現並排除軟件中潛藏的錯誤,提高軟件的可靠性
D、修改軟件中出現的錯誤 -
某次程序調試沒有出現預計的結果,下列()不可能是導致出錯的原因
A、變量沒有初始化
B、編寫的語句書寫格式不規範
C、循環控制出錯
D、代碼輸入有誤(?)* -
軟件調試的目的是( )
A、找出錯誤所在並改正之
B、對錯誤性質進行分類
C、排除存在錯誤的可能性
D、統計出錯的次數 -
超出軟件工程範圍的測試是( )
A、單元測試
B、集成測試
C、確認測試
D、系統測試 -
軟件測試不需要了解軟件設計的( )
A、功能
B、內部結構
C、處理過程
D、條件 -
軟件測試充分性理論是由( )最先提出的
A、Deutsch和Willis
B、McCall et al
C、Goodenough和Gerhart
D、Evansh和Marciniak -
測試的關鍵問題是( )
A、如何組織軟件評審
B、如何選擇測試用例
C、如何驗證程序的正確性
D、如何採用綜合策略 -
開發人員接收到一個指派給自己的Bug後,認爲自己的實現是符合需求的,此時該開發人員應該( )
A、跟提交該bug的人進行溝通,如果需求理解不能打成一致,找項目經理/需求管理者確定需求。
B、置之不理。
C、找該bug的測試人員麻煩。
D、直接將bug改關閉。 -
在軟件生命週期哪個階段,軟件缺陷修復費用最低()
A、產品發佈
B、 編碼
C、需求分析(編制產品說明書)
D、設計 -
導致軟件缺陷的最大原因是 ()
A、設計
B、編制說明書
C、 編碼
D、測試 -
下面關於軟件測試,其中正確的說法是()
A、經過測試沒有發現錯誤,說明程序是正確的。
B、成功的測試是沒有發現錯誤的測試。
C、測試的目標是證明程序沒有錯誤。
D、成功的測試是發現了迄今爲止尚未發現的錯誤的測試。 -
測試充分性準則不包括()
A、空集不充分性。
B、單調性。
C、可靠性。
D、複雜性。
還有一個是彙報遞減性。
- 技術評審既是一種技術手段,也是一種質量管理手段? (對)
- 設計—實現—測試,軟件測試是軟件開發後期的一份階段?(錯,各個階段都可以存在)
- 我是一個具有多年開放經驗的軟件工程,所以開發程序不需要進行測試?(錯)
- 軟件故障時導致軟件失效的必要和充分要素?(錯)
- 同行評審的主要目標在與測試錯誤、覈對與標準的偏離?(對)
- 在任何軟件機構中,定期,不定期的培訓、再培訓都是而且是必要的?(對)
- 在整個機構使用基礎設施防護與改進部件的主要目標是在機構積累的SQA(軟件質量管理)經驗基礎上消除或至少降低出錯率?(對)
- 一旦更改過的SCI替換前面的SCI(軟件配置項),就認爲完成了軟件的一個新版本?(對)
- 在科學和工程中,如果沒有度量,對一切都沒有一個定量的瞭解,那麼這種科學和工程既不是有效的,也不是實際的。(對)
- 質量管理標準指導軟件開發、維護和基礎設施的管理。它的重點是需要什麼,但沒有指明如何達到標準要求的努力細節?(對)
- 軟件質量保證的獨特性是由軟件產品不同於其他製造產品的本質決定的?(對)
- 軟件生命週期模型強調的是直接開發活動,而沒有指示出開發過程的顧客參與**(對)**
- 測試是可以窮盡的?(錯)
- 軟件缺陷可能會被修復,可能會被保留或者標識出來?(對)
- 軟件測試是一個過程,包含若干活動,運行軟件進行測試只是活動之一?(對)
軟件測試策略
-
將基於功能的和基於實現的測試方法結合在一起的動態測試類型,我們稱這種測試爲( )。
A、白盒測試
B、灰盒測試
C、黑盒測試
D、基於故障的測試 -
在某種類型會議上,由小組成員閱讀程序,以發現程序錯誤,同時測試員利用測試數據人工運行程序並得出輸出結果,然後由參加者對結果進行審查, 以達到測試的目的。這種測試方法是( )。
A、軟件審查
B、代碼走查
C、技術評審
D、代碼審查 -
軟件測試中白盒法是通過分析程序的( )來設計測試用例的。
A、應用範圍
B、內部邏輯
C、功能
D、輸入數據 -
黑盒法是根據程序的( )來設計測試用例的。
A、應用範圍
B、內部結構
C、功能
D、輸入數據 -
成功的測試是指運行測試用例後( )。
A、未發現程序錯誤
B、發現了程序錯誤
C、證明程序正確性
D、改正了程序錯誤 -
軟件測試過程中的集成測試主要是爲了發現( )階段的錯誤。
A、需求分析
B、概要設計
C、詳細設計
D、編碼 -
集成測試時,能較早發現高層模塊接口錯誤的測試方法爲( )。
A、自頂向下漸增式測試
B、自底向上漸增式測試
C、非漸增式測試
D、系統測試 -
軟件調試的目的是( )
A、找出錯誤所在並改正之
B、排除存在錯誤的可能性
C、對錯誤性質進行分類
D、統計出錯的次數
黑盒測試與測試用例設計
- 某軟件的一個模塊的需求規格說明書中描述:
(1)年薪制員工:嚴重過失,扣年終風險金的4%;過失,扣年終風險金的2%。
(2)非年薪制員工:嚴重過失,扣當月薪資的8%;過失,扣當月薪資的4%。
請繪製出因果圖和判定表,並給出相應的測試用例。
- 找零錢最佳組合:
假設商店貨品價格® 都不大於100元(且爲整數),若顧客付款§在100元內,現有一個程序能在每位顧客付款後給出找零錢的最佳組合(找給顧客貨幣張數最少)。 假定此商店的貨幣面值只包括:50元(N50)、 5元(N5)、1元(N1) 三種。
請結合等價類劃分法和邊界值分析法爲上述程序設計 出相應的測試用例。
白盒測試
- 根據圖給出的程序流程圖,完成以下要求:
(1)畫出相應的控制流圖。
(2)計算環形複雜度。
(3)找出程序的獨立路徑集合
- 程序如下:
int testCov(int a , int b)
{
int s;
s=1;
if(a > 1 || b < 0 )
s = a + b;
else
if(a < = -1)
s = a - b;
else
s = a * b;
s = s + 1;
return s;
}
用語句覆蓋,條件覆蓋、基本路徑法進行測試用例的設計?
軟件測試過程
-
導致軟件缺陷的最大原因是( )
A、軟件需求說明書
B、設計方案
C、編碼
D、維護 -
( )是選擇若干個測試用例,運行被測程序,使得程序中的每個可執行語句至少執行一次。
A、條件覆蓋
B、組合覆蓋
C、判定覆蓋
D、語句覆蓋 -
軟件缺陷修復的代價最高的階段爲( )
A、發佈階段
B、需求階段
C、設計階段
D、編碼階段 -
調試應該由( )完成
A、與源程序無關的程序員
B、編制該源程序的程序員
C、不瞭解軟件設計的機構
D、設計該軟件的機構 -
下列可以作爲軟件測試對象的是( )。
A、需求規格說明書
B、軟件設計規格說明
C、源程序
D、以上全是 -
軟件缺陷屬性包括缺陷標識、缺陷類型、缺陷嚴重程度、缺陷優先級、缺陷狀態、缺陷起源、缺陷來源、缺陷原因等。
-
軟件測試的生命週期包括測試計劃、測試設計、測試執行、缺陷跟蹤、測試評估。
-
軟件缺陷可能會被修復,可能會被保留或者標識出來。
-
軟件測試是一個過程,包含若干活動,運行軟件進行測試只是活動之一。
-
迴歸測試是在軟件修改後再次運行以前爲查找錯誤而執行程序曾用過的測試用例。
-
驗收測試是以最終用戶爲主的測試。
-
永遠有缺陷類型會在測試的一個層次上被發現,並且能夠在另一個層次上逃避檢測。
軟件質量保證
-
下列關於各種質量活動中的共同點說法不正確的是( )
A、必須定期地測量改進
B、改進採用一次性的投資,獎勵和激勵
C、改進是個長期的、連續不斷的過程
D、高層的領導必須確感需要改進,否則什麼都不會改變 -
下列哪項不屬於已CMM中定義級的行爲特徵 ( )
A、有效的軟件工程實踐
B、組織範圍的培訓計劃
C、能從隨機變化中區分出有意義的變化
D、管理者對全部項目的技術進展有好的瞭解組織範圍的標準軟件過程 -
下列關於CMM的可重複級描述不正確的是( )
A、要求建立有效的軟件項目管理
B、軟件項目管理過程被文檔化和遵循
C、組織方針指導項目建立管理過程
D、性能不可預測:好或壞 -
CMM中的評估和評價是同一各概念?(錯)
-
過程說明不一定是過程,只有當活動“執行了”或方法“使用了”才能準確地說是一個過程。(對)
-
全面質量管理即是CMM質量管理的前身?(錯)
-
所有軟件產品也是軟件工作產品,但沒有提交給客戶或最終用戶的軟件工作產品就不是軟件產品?
-
軟件競爭的主要因素是成本的競爭?(錯)