技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2022 iThome 鐵人賽
DAY
4
1
自我挑戰組
開始系統測試
系列 第
4
篇
Day 4 | 軟體測試的原則
14th鐵人賽
Pancy
2022-09-19 22:37:25
1647 瀏覽
分享至
所有的測試都應追溯到客戶需求
缺陷的源頭 - 根據相關調查,缺陷出現最多的地方是需求規格說明書而非程式碼。
如何應用此原則
測試的第一個任務是需求分析
時刻都要提醒自己考慮使用者需求
做好需求評估,確認所做的內容是否符合用戶的需求
盡早啟動測試工作
測試雪崩
測試的成本
如何應用此原則
測試應盡早開始
測試應該是與開發或維護並進的過程,並需要持續進行。
提早做測試計畫
軟體測試不僅僅是測試執行。
應該在測試工作開始前就進行測試計畫
窮盡測試不可能&軟體測試有風險
無法窮盡測試的原因 - 測試數據輸入量太大、時間不足等等。
如何應用此原則
使用風險分析,確定測試的重點和優先序,控制測試的成本(時間、成本、資源)
風險分析需要判斷的技能、常識、感覺和經驗。
測試工作的Good-enough原則
既不做過多測試,也不做不充分的測試
解決辦法是通過需求分析和風險分析找到測試重點,制定最低測試通過標準和測試內容。
Pareto法則應用於軟體測試
一般情況下80%的缺陷聚集在20%的關鍵核心業務模組中
在分析、設計、開發階段可以避免掉80%的缺陷,而測試時又能找出剩餘缺陷中的80%,最後的4%缺陷可能只有在用戶大範圍、長時間使用後才會暴露出來。
盡可能使用分階段測試
單元測試⇒模組測試⇒系統測試⇒驗收測試
為了達到最佳效果,應該由獨立的第三方來測試
「最佳效果」指最有可能發現錯誤的測試,因為自己寫的需求或測試常常有盲區或侷限性。
測試的目的在發現存在的缺陷
即使在測試過程中未發現軟體的缺陷,也不能證明被測試的軟體沒有錯誤。
為了保證測試的有效性與高效性,測試必須是破壞性、系統化的
充分、有效、系統化的測試可以減少軟體中未被發現缺陷的可能性
測試既要驗證軟體正確性,更要通過破壞軟體發現缺陷的不正確性
找到的軟體缺陷越多,說明軟體隱含的缺陷越多
缺陷具有群聚效應,應該在發現缺陷的地方繼續找找。
殺蟲劑怪事
用於描述軟體測試越多,對其測試免疫力越強的現象 => 開發人員已經可以避開測試人員的主要測試方式了。
測試人員需要不斷編寫不同的、新的測試腳本,對程式的不同部分進行測試,以找出更多軟體缺陷
並非所有的缺陷都要修復
時間不足
不算真正的軟體缺陷
修復的風險太大
不值得修復
使用木桶原理
一隻木桶盛水的多少,並不取決於桶壁上最高的那塊木塊,而恰恰取決於桶壁上最短的那塊。
在軟體方面就是全面品質管理(QTM)的概念,所有單位、所有人員都參與品質改進,而且都為品質負責。
前近兩步,後退一步
測試中一個基本問題是缺陷修復總會以(20~50)%的機率引入新的缺陷。
每次修復後都需要做確認測試和回歸測試
確認測試 - 缺陷修復後需再次檢驗先前提出的缺陷是否已經被修復。
回歸測試 - 缺陷修復後需重新測試,確保程式修改後沒有改壞其他未改動的部分。軟體修改或環境變更後須進行回歸測試。
軟體測試是一個迭代的過程
無論用哪一種開發方式,測試人員總是一個版本接一個版本的測試,測試活動是迭代向前的
留言
追蹤
檢舉
上一篇
Day 3 | 軟體品質需求
下一篇
Day 5 | 軟體測試模型(一)
系列文
開始系統測試
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26 | 性能測試
27
Day 27 | Web測試
28
Day 28 | 手機APP測試(一)
29
Day 29 | 手機APP測試(二)
30
Day 30 | 自動化測試概述
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22195
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
請問內網IP如何轉外網IP?
兩端防火牆使用IPSEC互PING之問題
如何寫公式才能利用excel 觸發一個數據時傳送一個訊息給 自已的line呢?有沒有可以用其它方式,來取代line notify 的方法,因為line 開始收費
Windows7升級Windows10後網路功能異常
python爬蟲 動態生成網頁104人力銀行
區域網路問題提問
新手學習編程,哪種編程語言好?
vmware 虛擬機(windows)裡顯示使用容量與實際檔案容量不符合
2台 Hyper-V 2008 R2 叢集主機(硬體規格相同), 如何加入一台新機? 謝謝.
OBS使用問題
熱門回答
請問內網IP如何轉外網IP?
Fortigate 50B 重置密碼
新手學習編程,哪種編程語言好?
區域網路問題提問
防火牆與DNS請教
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day31]
每日一篇學習筆記 直到我做完專題 :( [Day32]
每日一篇學習筆記 直到我做完專題 :( [Day33]
每日一篇學習筆記 直到我做完專題 :( [Day34]
隨時切換 WINDOWS 右鍵新舊版選單
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}