系統測試
1。 測試定義 :
驗證被測試軟件與需求是否一致的一系列的測試活動(測試計划、設計、用例、缺陷 報告)
2。測試的方法:
A是否看內部結構:
黑盒測試: 不關注軟件的內部代碼,只關注輸入和輸出驗證是否和需求一致的
優點:關注用戶體驗,驗證明確
缺點: 發現不了隱藏的問題
白盒測試: 測試代碼的邏輯,驗證代碼是否正確
優點:發現隱藏的問題
缺點:忽略用戶體驗,技術要求,費時
B是否依賴工具: 自動測試:由工具執行的測試
優點:省時省力、可重復、准確率高、測試的覆蓋率高、人做不了
缺點: 成本高、人員技術、沒有想象力
人工測試:由人來執行的測試
優點:
缺點:
C 是否程序運行: 靜態測試: 被測的程序沒有運行(界面,文字描述)
動態測試: 被測的程序運行
3。質量: 軟件滿足需求的程度
1功能性: 軟件能做什么,不能做什么
2 易用性:布局 :控件左對齊,上下左右均勻分布
字體: 大小顏色統一,描述適當
提示和幫助信息
快捷鍵
3 性能性: 速度、資源利用率低
4 可移植: 不同的操作系統,不同的瀏覽下(兼容性)
5 可靠性: 能處理各種錯誤信息
面試題:
你是電梯測試公司的測試負責人,一個用戶打來電話說,一棟樓的電梯需要檢測。你們能做嗎?能先給我一個測試方案看看嘛?
4。測試過程:
常見的生命周期模型
模型:定義了生命周期中要做的各項工作的規范和順序
瀑布模型

重點環節:
1、需求分析,需求規格文檔
2、總體設計,概要設計文檔
3、詳細設計,詳細設計文檔
4、編碼,寫代碼
5、測試,在編碼完成后進行
優點:順序清晰
缺點:
1、由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發風險
2、如果軟件規模大,需求難以一次到位
|

V 模型

實現:順序
測試:階段划分
單元測試:測試單模塊代碼(開發做)
集成測試:測模塊間的接口
系統測試:測試整體的系統
驗收測試:用戶參與的測試
項目驗收測試:客戶驗收項目
產品驗收測試:
阿爾法(α)測試:可控(公司內部)
貝塔(β)測試:不可控
|

雙V模型W 模型


系統測試:系統<<測試計划>> :人員,時間、任務安排、軟件功能點等 ----測試經理
系統<<測試設計>>: 方法,工具、數據、來源 ---高級測試工程、測試經理
系統測試實現: <<測試用例 >>- ---測試人員
用例編號
|
標題
|
步驟描述
|
預期結果
|
C001
|
整數加法
|
1.啟動計算其
2.點1+2
|
3
|
C002
|
小數加法
|
1.啟動計算其
2.點1.1+2.2
|
3.3
|
系統 測試執行 :<<報缺陷 報告>> ,<<測試總結 >>
回歸測試:被測軟件被修改或增加新功能后重新測試的過程
5。缺陷:軟件表現與需求不符合的問題—bug /defect


缺陷的屬性 :1狀態 :new(新的 ) 測試人員剛剛發現新缺陷

Open(打開) 開發人員看到了這個缺陷

Fixed(修復的) 開發人員已經修復了

Reopen(重新打開) 測試驗證沒修復,重新給開發

Close(關閉) 測試驗證成功

2嚴重程度 :致命的: 軟件崩潰、死機、藍屏

嚴重的: 出現多個問題的

一般的:一個問題

輕微的: 界面的沒對齊,錯別字等

建議的: 使得軟件完善的想法
3優先級: 缺陷修改的優先次序
4缺陷編號:標識缺陷
5缺陷標題:缺陷的簡單描述(在哪里發生了什么 )
6缺陷描述: 步驟描述、預期和實際結果
7 提交人: 缺陷發現人
8提交日期:發現缺陷的時間
9附件 : 缺陷的截圖
10 分配人: 分配的開發
6。缺陷跟蹤流程: 缺陷和角色之間的跟蹤順序


黑盒測試用例設計方法
一 、等價類
定義:所有個體都是一致的:等價
類:相同屬性個體的集合
優點: 覆蓋全 、用例數量少
缺點: 容易漏測、不容易找等價類
有效等價類 : 滿足需求
無效等價類 :不滿足需求
例題1 有一個編輯框,能輸入年齡[1-130]
A 需求分析 :
有效的
|
無效的
|
1。 整數
|
4。符號
|
5。大寫字母
|
|
6。小寫字母
|
|
7。漢字
|
|
8。空格
|
|
2。 1-130
|
9。<1 10。>130
|
3。 非空
|
11。 空
|
B 設計數據
原則: 有效數據:盡可能設計一個數據滿足多個有效等價類(多對一)
無效數據:每個無效集合對應一個數據(一對一)
有效數據
|
無效數據
|
||
(1。2。3。) 3 (內點)
|
4。+
|
||
1 –上點
|
|||
130- 上點
|
5。A
|
||
6。a
|
|||
7。 你好
|
|||
8。 空格
|
|||
9。0 離點
|
|||
10。 131 離點
|
|||
11。 空
|
C 編寫用例
編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
Nianling_01
|
年齡輸入
|
1有效年齡輸入
|
1。啟動XX軟件
2。在編輯框輸入:3
|
年齡輸入成功提示
|
1有效年齡輸入邊界值
|
1。啟動XX軟件
2。在編輯框輸入:1 130
|
|||
2無效年齡輸入符號
|
1。啟動XX軟件
2。在編輯框輸入:+
|
年齡輸入失敗提示
|
||
3無效年齡輸入大寫英文字母
|
1。啟動XX軟件
2。在編輯框輸入:A
|
年齡輸入失敗提示
|
||
4無效年齡輸入大寫英文字母
|
1。啟動XX軟件
2。在編輯框輸入:a
|
年齡輸入失敗提示
|
例題2 有一個編輯框,能輸入年齡[1-130]


A) 需求分析 :
有效的
|
無效的
|
1。 大寫字母(全角\半角)
|
9。漢字
|
2。 小寫字母(全角\半角)
|
19。空格
|
11。符號(下划線)
|
|
3。 數字(全角\半角)
|
|
4。下划線(全角\半角)
|
|
5。 6-18
|
12。 <6
|
13。 >18
|
|
6。需字母開頭
|
14。以數字開頭
|
15。以下划線開頭
|
|
7。非空
|
16。空
|
8。唯一
|
17。重復的
|
B 設計數據
原則: 有效數據:盡可能設計一個數據滿足多個有效等價類(多對一)
無效數據:每個無效集合對應一個數據(一對一)
有效數據
|
無效數據
|
||
AAaa11__
|
9。 你好你好你好
|
||
AAaa11 上點
|
10。 6個空格
|
||
AAaa11AAaa11AAaa11 上點
|
11。 +-*/&……
|
||
12。 +++++ 離點
|
|||
13。 ——*&<>?(**ttt777744ee33 –離點
|
|||
14。 1 AAaa11__
|
|||
15。 _ AAaa11__
|
|||
16。空
|
|||
17。先注冊一個,在注冊重復
|
C 編寫用例
編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
163注冊_01
|
郵箱注冊
|
1有效郵箱注冊
|
1。啟動163信箱注冊
2。在注冊字母郵箱編輯框輸入:AAaa11__
|
提示郵箱注冊成功
|
1有效郵箱注冊邊界值
|
1。啟動163信箱注冊
2。在注冊字母郵箱編輯框輸入:AAaa11
|
提示郵箱注冊成功
|
||
2無效箱注冊
|
1。啟動163信箱注冊
2。在注冊字母郵箱編輯框分別輸入:你好你好你好
6個空格
符號
+-*/&……
*&<>?(**ttt777744ee33
1 AAaa11__
_ AAaa11__
先注冊一個,在注冊重復
|
提示郵箱注冊失敗
|
例題3: 在編輯框輸入:1990年1月至2049年12月,日期是6位組成,前四位是年,后兩位是月 199001—204912
199002
|
A) 需求分析 :
有效的
|
無效的
|
1。 整數
|
9。漢字
|
2。 6位數
|
19。空格
|
11。符號(下划線)
|
|
3。1990-2049
|
<1990
|
>2049
|
|
4。01 -12
|
<01
|
>12
|
|
5。 非空
|
|
15。以下划線開頭
|
|
16。空
|
|
17。重復的
|
有效數據
|
無效數據
|
||
199110
|
9。 你好你好你好
|
||
199001
|
10。 6個空格
|
||
204912
|
11。 +-*/&……
|
||
12。 198912
|
|||
205001
|
|||
13 199000
|
|||
14。 199013_
|
|||
15。 _ AAaa11__
|
|||
16。空
|
|||
17。先注冊一個,在注冊重復
|
例題4: widows 的文件名測試
1。除哪個符號之外: 數字、字母、符號、漢字
2。文件名+路徑 [1-255]
3。首位不能空格
有效的
|
無效的
|
1。數字、字母、符號、漢字(全角/半角)
|
4。/ \*|<>:”? (半角)
|
2。 / \*|<>:”?全角
|
|
3。文件名+路徑 [1-255]
|
5。<1
|
6。>255
|
|
4。首位不能空格
|
7。首位空格
|
5。文件名唯一
|
8。文件名重復
|
B 設計數據
原則: 有效數據:盡可能設計一個數據滿足多個有效等價類(多對一)
無效數據:每個無效集合對應一個數據(一對一)
有效數據
|
無效數據
|
||
你AAaa11__/ \*|<>:”?
|
4。/ \*|<>:”? (半角)
|
||
5。空
|
|||
6。 256個字符
|
|||
7。 前面帶空格
|
|||
C 編寫用例
編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
文件名 _01
|
文件名測試
|
1有效文件名輸入
|
1。創建文件
2。在文件名輸入:你AAaa11__/ \*|<>:”?
|
文件創建成功
|
2無效文件名輸入
|
1。創建文件
2。在文件名分別輸入:/ \*|<>:”? (半角)
空文件名
256個文件名
|
文件不能創建
|
||
3前面帶空格文件名
|
1。創建文件
2。帶空格文件名件名
|
文件能創建 ,空格自動收復
|
||
4文件名重復
|
1。創建重復文件
|
文件不能重復
|
例題 5:三角形問題:
輸入三個邊(正整數):輸出:一般三角形
非三角形
等腰三角形
登邊三角形
A:(A邊)
你
|
B:(B邊)
3
|
C: (C邊)
3
|
需求分析 :
有效的
|
無效的
|
1。A 正整數
|
4。漢字
|
5。符號
|
|
6。字母
|
|
7。空格
|
|
8。空
|
|
2。 B 正整數
|
同上
|
3。C 正整數
|
同上
|
4。 A+B>C
|
|
5。 A+C>B
|
|
6。 B+C>A
|
|
7。 A= B
|
|
8。 B=C
|
|
9。 C=A
|
|
10。A=B=C
|
|
11。A+B<=C
|
|
12。A+C<=B
|
|
13。B+C<=A
|
B 設計數據
原則: 有效數據:盡可能設計一個數據滿足多個有效等價類(多對一)
無效數據:每個無效集合對應一個數據(一對一)
有效數據
A B C
|
無效數據
|
||
3 4 6(一般)
|
123456
|
||
3 3 2(等腰)
|
1234567
|
||
3 2 3(等腰)
|
1234569
|
||
2 3 3(等腰)
|
1234568
|
||
3 3 3(等邊)
|
12345678910
|
||
1 1 2(非)
|
A+B=C
|
||
1 1 3(非)
|
A+B<C
|
||
2 1 1(非)
|
B+C =A
|
||
3 1 1(非)
|
B+C<A
|
||
1 2 1(非)
|
A+C=B
|
||
1 3 1(非)
|
A+C<B
|
C 編寫用例
編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
三角 _01
|
三角三邊測試
|
1 有效三邊輸入
|
1。打開xxxx
2。在A 邊輸入 1 B 邊輸入 1 C 邊輸入 1
|
數據能正常輸入,彈出等邊 三角形
|
2無效三邊輸入
|
1。打開xxxx
2。在ABC 邊分別輸入 你、 A、**、空格、空
|
彈出錯誤提示
|
||
3一般三角形測試
|
1。打開xxxx
2。在ABC 邊分別輸入 3 4 6
|
彈出一般 三角形
|
||
4等腰三角形
|
1。打開xxxx
2。在ABC 邊分別輸入 33 2,233,323
|
彈出等腰 三角形
|
||
5等邊三角形
|
1。打開xxxx
2。在A 邊輸入 1 B 邊輸入 1 C 邊輸入 1
|
彈出等邊三角形
|
||
6非三角形
|
1。打開xxxx
2。在ABC 邊分別輸入 112,113,323
|
彈出非三角形
|
二 、 邊界值
是等價類的補充
1 上點 邊界上的值
2 內點 邊界內的任意值
3 離點 離邊界最近的點 (開內閉外)
1<=x<=5 ===〉 0<x<6
[1 5]
|
[1 5)
|
(1 5]
|
(1 5)
|
上點 1 5
|
1 5
|
1 5
|
1 5
|
內點 3
|
3
|
3
|
3
|
離點0 6
|
0 4
|
2 6
|
2 4
|
三 、 狀態遷移法


狀態樹:


編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
QQ狀態轉換 _01
|
狀態轉換
|
1 在線-忙碌-在線
|
1。打開QQ
2。設置QQ在線和忙碌
|
保證能從在線變成忙碌並能轉回在線
|
2在線-忙碌-隱身
|
1。打開QQ
2。設置QQ在線和忙碌和隱身
|
保證能從在線變成忙碌並能轉回在線
|
||


編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
打印狀態_01
|
打印機狀態轉換
|
1 就緒-打印-就緒
|
1。打開打印機
2。設置就緒,打印
|
保證能從就緒能進行打印完成后回到就緒
|
2在線-忙碌-隱身
|
1。打開QQ
2。設置QQ在線和忙碌和隱身
|
保證能從在線變成忙碌並能轉回在線
|
||

編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
游戲_01
|
門鎖狀態轉化測試
|
1 關閉並鎖-不能打開門
|
1。打開游戲
2。門初始狀態關閉並鎖
3 輸入手
|
不能打開門
|
四 、 流程分析法
字母判定
第一列字符必須是A或B,第二列字符必須是一個數字(每列只能輸入一個字符),在此情況下(只有這個時候才)進行文件的修改,
但如果第一列字符不正確,則給出信息L;
如果第二列字符不是數字,則給出信息M。

C
|
C
|

3個分支 1 a- b
2 a –c –d
A(A) –C –D
A(B) –C –D
3 a – c -e
A(A) –C –E
A(B) –C –E
編號
|
用例標題
|
步驟標題
|
步驟描述
|
預期結果
|
編輯_01
|
編輯文件
|
1 第一列不是A或B
|
1。打開文件
2。第一列輸入C
|
彈出L
|
2 第一列A或B第二列輸入數字
|
1。打開文件
2。第一列輸入A或B
第二列輸入數字
|
彈出M
|

五 、 正交試驗
六 、 判定表