1 名詞解釋
- 軟體測驗
軟體測驗指為了發現軟體中的錯誤而執行軟體的程序,它的目標是盡可能多地發現軟體中存在的錯誤,將測驗結果作為糾錯的依據, - 測驗用例
指對一項特定的軟體產品進行測驗任務的描述,體現測驗方案方法、技術和策略,其內容包括:測驗目標,測驗環境,輸入資料,測驗步驟,預期結果,測驗腳本等(屬性) - 回歸測驗:
是一種驗證已變更系統的完整性與正確性的測驗技術,用于確定修改沒有帶來副作用 - 面向物件測驗:
面向物件技術具有資訊隱蔽、封裝、繼承、多型和動態系結等特性,提高了軟體開發質量,但同時也給軟體測驗提出了新的問題,增加了測驗的難度,
按照測驗執行主體劃分,軟體測驗為: α測驗(內測), β測驗(公測),第三方測驗
- α測驗(內測)
在軟體開發環境中,開發者和用戶共同去檢測與證實軟體,其環境是受開發方控制的,用戶的數量相對比較少,時間比較集中, - β測驗(公測)
用戶測驗,通過用戶大量使用評價檢查軟體,其環境環境是不受開發方控制的, 用戶數量相對比較多,時間不集中, - 第三方測驗
由第三方機構來進行測驗,由開發方和用戶方都相對獨立的組織進行軟體測驗,
單元測驗:指對源程式中每一個程式單元進行測驗,檢查各個模塊是否 正確實作規定的功能,從而發現模塊在編碼中或演算法中的錯誤,它涉及編碼和 詳細設計的檔案
- 樁模塊
是指模擬被測驗的模塊所呼叫的模塊,而不是軟體產品的組成的部分 - 驅動模塊
用于模擬被測模塊的上一級模塊,相當于被測模塊的主程式,它接收測驗資料并將這些資料傳送到被測驗模塊,單元測驗一個函式單元時,被測單元本身是不能獨立運行的,需要為其傳送資料,為此寫驅動
樁模塊的使命除了使得程式能夠編譯通過之外,還需要模擬回傳被代替的模塊的各種可能回傳值(什么時候回傳什么值需要根據測驗用例的情況來決定),
驅動模塊的使命就是根據測驗用例的設計去呼叫被測驗模塊,并且判斷被測驗模塊的回傳值是否與測驗用例的預期結果相符)
集成測驗:主要目標是驗證組成軟體系統各模塊的介面和互動作用,分增量式和非增量式,
-
非增量式測驗:
非增量式測驗是采用一步到位的方法來構造測驗:對所有模塊進行個別的單元測驗后,按照程式結構圖將各模塊連接起來,把連接后的程式當作一個整體進行測驗, -
增量式測驗:
逐次將未曾集成測驗的模塊和已經集成測驗的模塊(或子系統)結合成程式包,再將這些模塊集成為較大系統,在集成的程序中邊連接邊測驗,以發現連接程序中產生的問題,
增量式測驗方法具有:自頂向下,自底向上,以及三明治集成測驗方法
性能的測驗分類:負載測驗,壓力測驗,可靠性測驗,資料庫測驗,安全性測驗:
- 負載測驗
負載測驗是通過逐步增加系統負載,測驗系統性能的變化,并最終確定在滿足性能指標的情況下,系統所能承受的最大負載量的測驗, - 壓力測驗
是給軟體不斷加壓,強制其在極限的情況下運行,觀察它可以運行到何種程度,從而發現性能缺陷, - 可靠性測驗
軟體系統在規定的時間內以及規定的環境條件下,完成規定功能(可服務性,可安裝性,可維護性等)的能力, - 安全性測驗
有關驗證應用程式的安全服務和識別潛在安全性缺陷的程序,在應付非授權的內部/外部,非法侵入或故意損害時的系統防護能力,檢驗系統是否有能力時使可能存在的風險傷害在可接受范圍內,
2 填空題
- 軟體缺陷內容包含:缺陷標識,缺陷型別,缺陷嚴重程度,缺陷產生可能性,缺陷優先級,缺陷狀態,缺陷起源,缺陷來源,缺陷原因,
| 缺陷型別 | 描述 |
|---|---|
| 功能 | 影響系統功能,邏輯的缺陷 |
| 用戶界面 | 影響人機互動特性,螢屏格式,輸入輸出格式等缺陷 |
| 檔案 | 影響發布和維護,包括注釋,用戶手冊,設計檔案 |
| 軟體包 | 軟體配置庫,變更管理,版本控制 |
| 性能 | 不滿足系統可測量的屬性值,如執行時間,事務處理速度等 |
| 系統/模塊介面 | 與其他模塊或引數、控制塊或引數串列等不匹配、沖突 |
-
按照軟體測驗主體執行劃分,軟體測驗分為α測驗,β測驗,第三方測驗,
-
軟體測驗模型:V,W,X,H,前置模型
-
軟體測驗流程:
測驗計劃,測驗設計,測驗開發,測驗執行,測驗評估 -
邏輯覆寫是對程式內部有判定 存在的邏輯結構設計測驗用例,根據程式內部的邏輯覆寫程度又可分為_陳述句覆寫、判定覆寫、條件覆寫、判定/條件覆寫、條件組合覆寫、路徑覆寫6種覆寫技術,
-
黑金測驗是功能測驗,用黑盒技術設計測驗用例有4種方法:等價類劃分、邊界值分析、錯誤推測、因果圖.
-
軟體測驗般經過4個測驗: 單元測驗、集成測驗、確認測驗、系統測驗
-
在軟體測驗階段,測驗步驟按次序可以劃分為以下幾步:單元測驗、集成測驗、系統測驗、驗收測驗
-
在單元測驗中,需要為被測模塊設計驅動模塊和_樁模塊,驅動模塊用來模擬被測模塊的上級呼叫模塊,樁模塊用來代替 被測模塊所呼叫的模塊,
-
漸增式測驗有兩種不同的組裝模塊的方法:自頂向下結合、自底向上結合
-
常見的性能測驗指標:回應時間,并發用戶數,吞吐量,性能計數器,資源利用率,
3 簡答題
3.1 軟體缺陷
- 軟體未達到產品說明書中已表明的功能
- 軟體出現了產品說明書中指明不會出現的錯誤
- 軟體功能超出了產品說明書雖未指出,但應達到的目標
- 軟體測驗員認為軟體難以理解,不易使用,運行速度緩慢,或者使用效果不好,
3.2 軟體缺陷產生的原因
- 階段:
軟體系統的復雜性呈現指數增長,需求變化增加了軟體系統開發的復雜性,產生了大量不確定因素,導致許多缺陷產生, - 專案管理:
開發時,由于時間的限制,導致撰寫檔案缺失,而檔案的貧乏容易使得代碼維護和修改變得很難, - 團隊作業
團隊組成人員本身的認知層面、擁有知識、處事原則各不相同, - 復審階段
由于沒有或不全面的復審導致軟體產生缺陷
3.3軟體測驗的目的
- 盡快盡早地在軟體開發程序中發現BUG,并且通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助專案管理者發現的那關軟體開發程序中的缺陷,
- 確保軟體缺陷被修復(但在實際中由于預算、時間、技術等問題不能修復全部的缺陷),幫助測驗人員設計出有針對性的測驗方法,改善測驗的效率
- 沒有發現錯誤的測驗也是有價值的,完整的測驗是評定軟體質量的一種方法,
3.4 軟體測驗師一般承擔的作業
進行測驗設計、寫作測驗檔案(測驗計劃、測驗方案、測驗用例等)
執行測驗,發現軟體缺陷,提交缺陷報告,并確認缺陷最終得到了修正
3.5 V,W,X模型的比較
-
V模型:
先開發后測驗;- 優點:線性,步驟簡單有序
- 缺點:忽略了測驗的物件不應該僅僅包括程式,沒有明確指出對需求、設計的測驗

-
W模型:
由兩個V模型組成,開發與測驗并行- 優點:有利于盡早發現問題,
- 缺點:測驗與開發保持著串行的線性前后關系,無法支持迭代開發模型
-
H模型:
強調測驗是獨立的,大部分時間可交叉,只要測驗準備完成,就可以執行測驗;- 優點:H模型兼顧效率和靈活性,可以被應用到各種規模型別的軟體專案上
- 缺點:管理型要求高;技能要求高:H模型要求能夠很好的定義每個迭代的規模,不能太大也不能太小;測驗就緒點分析困難:測驗很多時候,你并不知道測驗準備到什么時候是合適的,就緒點在哪里,就緒點的標準是什么,這就對后續的測驗執行的啟動帶來很大困難;對于整個專案組的人員要求非常高;
3.6 回歸測驗與一般測驗
- 測驗用例來源不同,一般測驗根據系統規格說明書和測驗計劃進行,測驗用例都是新的,而回歸測驗的測驗用例是修改過的,
- 測驗范圍不同,一般測驗檢測整個程式的正確性,而回歸測驗是檢測被修改的相關部分的正確性以及它與原有功能的整合
- 時間分配不同,在軟體開發之前就已經計劃一定的測驗時間,而回歸測驗是不包含在整個產品的進度表中,
3.7 web測驗
Web測驗主要分為六個部分:
功能測驗、性能測驗、用戶界面測驗、兼容性測驗、安全測驗、介面測驗
用戶界面測驗:
1.導航測驗:
導航是否直觀?Web系統的主要部分是否可通過主頁存取?Web系統是否需要站點地圖、搜索引擎或其他的導航幫助?web應用系統頁面結構、導航、選單、連接的風格是否一致
2. 圖形測驗:
1)要確保圖形有明確的用途,圖片或影片不要胡亂地堆在一起,以免浪費傳輸時間,Web應用系統的圖片尺寸要盡量地小,并且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面,
2)驗證所有頁面字體的風格是否一致,
3)背景顏色應該與字體顏色和前景顏色相搭配,
4)圖片的大小和質量也是一個很重要的因素,一般采用JPG或GIF壓縮,
5)最后,需要驗證的是文字回繞是否正確,如果說明文字指向右邊的圖片,應該確保該圖片出現在右邊,不要因為使用圖片而使視窗和段落排列古怪或者出現孤行,
內容測驗:檢驗Web應用系統提供資訊的正確性、準確性和相關性,
資訊是否可靠,是否有語法或拼寫錯誤,是否可以找到與當前瀏覽資訊相關的資訊串列或入口,
整體界面測驗:
給用戶的整體感覺,是否感到舒適,是否能憑直覺就知道找到的資訊在什么地方,設計風格是否一致,
3.8 白盒測驗:
定義:
指把測驗物件看成一個打開的盒子,測驗人員需了解程式的內部結構和處理程序,以檢查處理程序的細節為基礎,對程式中盡可能多的邏輯路徑進行測驗,檢驗內部控制結構和資料結構是否有錯,實際的運行狀態與預期的狀態是否一致,
具體方法
白盒測驗適應的測驗有:
- 單元測驗、
- 邏輯覆寫,按邏輯覆寫程度不同有:
陳述句覆寫:線覆寫,面覆寫,若干個測驗用例,是被測驗程式中每條可執行陳述句至少執行一次,
判定覆寫:設計的測驗用例使程式中每個判定至少分別取真,假分支各一次,
條件覆寫:每個判斷中每個條件的可能取值至少一次,
判定/條件覆寫:通過設計足夠多的用例,是判斷條件中的所有條件執行1次取值,同時所有判斷的可能結果至少執行一次,
條件組合覆寫:不僅可以覆寫所有條件可能取值的組合,還可以覆寫所有判斷的可取分支,但會漏掉所有的路徑,
路徑覆寫:覆寫率最大,但是呈指數級增長
回圈覆寫:(限制回圈次數,有單回圈和嵌套回圈) - 基本路徑測驗,
黑盒測驗
定義
黑盒測驗是指對程式功能性的測驗,也就是不考慮內部的具體實作,僅僅就程式的功能是否滿足需求進行測驗,相當于一個看不見內部的黑盒子,
黑盒測驗常用的方法
1:等價類劃分 :
等價類是指某個輸入域的子集合
分類
有效等價類,指符合輸入域的子集合
無效等價類 ,指不符合輸入域的子集合
2:邊界值分析法
3:因果圖法
4:判定表組合法
4 應用設計題
4.1 等價類劃分
某城市電話號碼由三部分組成,分別是:
地區碼—— 空白或三位數字;
前 綴—— 非‘0’或‘1’開頭的三位數字;
后 綴—— 4位數字,
假定被測程式能接受一切符合上述規定的電話號碼, 拒絕所有不符合規定的電話號碼,要求采用弱健壯等價類方法,即同時考慮有效值和無效值,基于單缺陷假設
(1)首先進行輸入條件等價類劃分,并編號,寫出等價類表
(2)設計測驗用例,以便覆寫所有的有效等價類
(3)為每一個無效等價類設計一個測驗用例,列出完整的測驗用例表,


4.2 基本路徑測驗
使用基本路徑測驗方法,為以下程式段設計測驗用例,
(1)畫出程式的控制流圖,
(2)計算程式的回圈復雜度,匯出程式基本路徑集中的獨立路徑條數,
(3)匯出基本路徑集,確定程式的獨立路徑,
(4)根據(3)中的獨立路徑,設計測驗用例(確保基本路徑集中的每一條路徑的執行)的輸入資料和預期輸出,
void Do (int X,int A,int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = X+1;
5 }
由于控制流圖假設的是單條件,因此對于復合條件,可將其分解為多個單個條件,并映射成控制流圖,
1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }


4.3三角形等價類劃分


5 設計題
測驗杯子
6 理解辨析題
6.1解釋測驗技術的作用與意義:
軟體測驗:
用來確認一個程式的品質或性能是否符合開發之前所提出的一些要求
軟體測驗就是在軟體投入運行前,對軟體需求分析、設計規格說明和編碼的最終復審,是軟體質量保證的關鍵步驟,
軟體測驗是為了發現錯誤而執行程式的程序
- 盡快盡早地在軟體開發程序中發現BUG,并且通過分析錯誤產生的原因和錯誤的發生趨勢,可以幫助專案管理者發現的那關軟體開發程序中的缺陷,
- 確保軟體缺陷被修復(但在實際中由于預算、時間、技術等問題不能修復全部的缺陷),幫助測驗人員設計出有針對性的測驗方法,改善測驗的效率
- 沒有發現錯誤的測驗也是有價值的,完整的測驗是評定軟體質量的一種方法,
6.2 作為一名軟體測驗工程師,需要具備哪些能力?
軟體測驗工程師
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/232490.html
標籤:其他
