-
什么是軟件測試?
早期定義:軟件測試是對程序能夠按預期運行建立起一種信心。
經典定義:測試是為了發現錯誤而執行程序的過程。
IEEE定義(ISO/IEC IEEE 29119):使用人工或自動的手段來運行或測量軟件系統的過程,以檢驗軟件系統是否滿足規定的要求。并找出與預期效果之間的差異。
軟件測試的測試對象
?
軟件測試的五大要素和兩個目標
?
軟件測試所遵循的原則:1、測試顯示缺陷的存在,但不能證明系統不存在缺陷;2、窮盡測試是不可能的,應設定及時終止的條件;3、測試應該盡早進行;4、缺陷具備群集特性;5、測試的殺蟲劑悖論;6、測試的二八原則;7、測試活動依賴于測試背景
查看全部 -
其他的一些測試類型概念
回歸測試:軟件功能修改后,對軟件進行重新測試以確認修改沒有引入新的錯誤或導致其他部分產生錯誤?;貧w測試的重心在關鍵模塊和重點功能組件。軟件研發周期中會進行多次回歸測試,且盡量實現自動化。
Monkey測試:Monkey測試,也稱搞怪測試。就使用一些隨機、稀奇古怪的方式來操作軟件,以測試系統的健壯性和穩定性。
冒煙測試:來自于硬件板卡驗證術語。軟件上則用于確認代碼中的更改會按預期運行,且不會破壞整個版本的穩定性。(“每日構建”中用冒煙測試來確認合入的代碼沒有影響主要功能的正常。)
A/B測試:多用于互聯網行業,通過為頁面提供2個版本給用戶使用并記錄相關的用戶行為數據,來確認更優化設計的一種測試方案。
A/B測試實施要點:多個方案并行;每次測試僅改動一個變量;按照某種規則進行優勝劣汰。
A/B測試工具:Google Analytics Content Experiments;Visual Website Optimizer
查看全部 -
文檔測試:針對軟件產品的交付品,配套的文檔類部件的測試。如用戶手冊、使用說明、用戶幫助文檔等。
文檔測試關注要點:完整性、正確性、一致性、易理解性、易瀏覽性
可靠性測試:軟件可靠性、硬件可靠性
易用性測試:是指測試用戶使用軟件時是否感覺方便,是否能保證用戶使用體驗的測試類型。
本地化測試:針對軟件的本地化版本實施的針對性測試(主要測試內容:語言、書寫習慣;時區、日期格式、貨幣;當地風俗、法律法規;政治敏感內容)
部署測試:也稱安裝測試,主要驗證系統部署過程,并確保軟件經過安裝測試后可以正常使用。(主要測試內容:在不同環境下的部署驗證;參照部署文檔執行,過程的合理性、正確性;基礎數據)
無障礙測試:Accessibility Test.也成為可訪問性測試。是指軟件需要提供便于特殊人群使用的功能,包括視障、聽障、老年人、身體殘疾用戶等,無障礙測試則是針對這部分功能的測試 。
查看全部 -
軟件測試的分類:
按測試階段分類:單元測試、集成測試、系統測試、驗收測試。
單元測試,就是對軟件中的最小可測試單元進行檢查和驗證。
單元就是人為規定的可測試的最小模塊,一般針對代碼。
單元測試的原則:1、盡可能保證各個測試用例是互相獨立的。
2、一般由代碼的開發人員來實施,用以檢驗所開發的代碼功能符合自己的設計要求。
單元測試的益處:1、能盡早發現缺陷;2、有利于重構;3、簡化集成;4、減少文檔的存在;5用于設計。
單元測試的限制:1、不可能覆蓋所有的執行路徑,所以不可能保證捕捉到所有路徑的錯誤;2、每一行代碼,一般需要3~5行測試代碼才能完成單元測試。所以存在投入和產出的一個平衡。
集成測試,是在單元測試的基礎上,測試在將所有的軟件單元按照概要設計規格說明的要求組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標及要求的活動。
系統測試,是將經過集成測試的軟件,作為計算機系統的一部分,與系統中其他部分結合起來,在實際運行環境下對計算機系統進行的一系列嚴格有效的測試,以發現軟件潛在的問題,保證系統的正常運行。
驗收測試,
查看全部 -
軟件測試所遵循的原則
一、測試顯示缺陷的存在,但不能證明系統不存在缺陷
二、窮盡測試是不可能的,應設定及時終止的條件
三、測試應該盡早進行
四、缺陷具備群集特性,越是問題多的模塊越是應該重點關注
五、測試的殺蟲劑悖論,用不同的方法多次測試系統的不同的部分從而發現更多的問題
六、測試的二八原則,把80%的測試時間或資源用在系統20%的重要模塊上
七、測試活動依賴于測試背景
查看全部 -
什么是軟件測試?
IEEE定義(ISO/IEC/IEEE 29119)
使用人工或自動的手段來運行或測量軟件系統的過程,以檢驗軟件系統是否滿足規定的要求,并找出與預期結果之間的差異。
查看全部 -
敏捷測試
基于腳本的測試-SBT:
Script-based Testing
Scripted Testing(ST)
Exploratory Testing(ET)
探索式測試(ET):
完全拋開測試腳本的測試
它是一種測試風格、思維而不是一種測試技術
(ST與ET一般都是互補的
探索式測試的優點:
更能激發測試人員的創造性和工作樂趣
增加了發現新的或較深入的bug的可能性
在較短時間內找到更多bug以及對SUT做一個快速的評估
有利于更加有效的實施自動化
更加適用于敏捷項目
減少了在簡單、繁復上用例的無謂編寫時間
探索式測試的缺點:
測試管理上有局限性,較難協調和控制
對于BUG的重復利用和重現上作用有限
對測試人員的測試技能和業務知識深度依賴較大
只有在SUT已完全可用的前提下才更有作用
ET的生產率很難定義
ET本身較難進行自動化
局部探索式測試:
輸入
狀態
代碼路徑
用戶數據
執行環境
全局探索式測試
漫游測試法
商業區:軟件從啟動到關閉,用戶所使用到的一些功能
旅館區:軟件在沒有實際運行時的一些功能,后臺進程和定時任務
歷史區:版本的遺留代碼的和曾發生過許多問題的功能
旅游區:新用戶會用到的一些功能
局部探索式測試?? 五大要素
輸入:接受輸入,產生輸出,存儲數據,進行運算
測試角度為輸入順序,輸出內容,輸出異常
狀態:臨時狀態(運行時有效,階段有效),永久狀態(數據庫保存,文件保存)
代碼路徑:對代碼的覆蓋
用戶數據:盡量真實
查看全部 -
敏捷測試
Agile Testing--遵循敏捷宣言的一種測試實踐
個體與交互? 重于? 過程和工具
可用的軟件? 重于? 完備的文檔
客戶協作 ? ? 重于? 合同談判
響應變化 ? ? 重于? 遵循計劃 ? ? 在每對的比較中,后者并非全無價值,但我們更看重前者
特點:
1、強調從客戶角度進行測試
2、重點關注迭代測試新功能,不再強調測試階段
3、盡早測試,不間斷測試,具備條件即測試
4、強調持續反饋
5、預防缺陷重于發現缺陷
敏捷測試VS傳統測試1
傳統測試:
1、測試是質量的最后保護者
2、嚴格的變更管理
3、預先的計劃和細節的準備
4、重量級文檔
敏捷測試:
1、開發和測試人員是緊密合作,大家都有責任對軟件負責
2、變更是可接受的,擁抱變更
3、計劃隨著進展時常調整
4、只需要絕對的必要的文檔
敏捷測試VS傳統測試2
傳統測試
1、各階段測試嚴格的入口和出口標準
2、更多在回歸測試時進行重量級的自動化測試
3、嚴格依賴流程執行
4、測試團隊的開發團隊是相互獨立的
敏捷測試:
1、各迭代之間已經沒有明顯的入口和出口標準
2、所有階段都需要自動測試,每個人都需要做,是項目集成的一部分
3、流程不再需要嚴格執行
4、團隊合作是無縫隙合作
查看全部 -
軟件測試定義:
使用人工或者自動的手段來運行或測量軟件系統的過程,以檢驗系統是否滿足規定的要求,并找出與預期的結果之間的差異。
測試五大要素 質量 人員 資源 流程 技術
兩大目標 測試覆蓋率 測試效率
遵循原則 :
1.軟件顯示缺陷不能證明系統沒有缺陷
2.窮盡的測試是沒有的,要及設定終止條件
3.缺陷具有群集性
4.測試具有殺蟲劑悖論
5.測試二八原則
6.測試活動要依賴與測試背景
7.測試要盡早進行
查看全部 -
按測試模式來分類:
瀑布模型、敏捷測試、基于腳本的測試、基于風險的測試、探索式測試等
查看全部 -
按測試手段來分類:
黑盒測試、白盒測試(對象可見度) ? 靜態測試、動態測試(狀態) ? 手工測試、自動化測試(執行方式)
查看全部 -
系統測試:是將經過集成測試的軟件,作為計算機系統的一個部分,與系統中其他部分結合起來,在實際運行環境下對計算機系統進行的一系列嚴格有效地測試,以發現軟件潛在的問題,保證系統的正常運行
系統測試關注點:關注系統本身的使用、關注系統與其他相關系統間的連通、關注系統在不同使用壓力下的表現、關注系統在真實使用環境下的表現
驗收測試:也稱交付測試。針對用戶需求、業務流程的正式測試,確定系統是否滿足驗收標準,由用戶、客戶或其他授權機構決定是否接受系統
查看全部 -
軟件測試按測試階段分類:單元測試、集成測試、系統測試、驗收測試
單元測試:1.概念:對軟件中的最小可測試單元進行檢查和驗證
? ? ? ? ? ? ? ?? 2.原則:盡可能保證各個測試用例是相互獨立的
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一般由代碼的開發人員來實施,用以檢驗所開發的代 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 碼功能符合自己的設計要求
集成測試:1.定義:是在單元測試的基礎上,測試在將所有的軟件單元按 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 照概要設計規格說明的要求組裝成模塊、子系統或系 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 統的過程中各個部分工作是否達到或實現相應技術指 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 標及要求的活動
? ? ? ? ? ? ? ? ? 2.主要方案:Big Bang ?? 自頂向下 ?? 自底向上 ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 核心系統集成 ? 高頻集成
查看全部 -
軟件測試定義:使用人工或自動的手段來運行或測量軟件系統的過程,以檢驗軟件系統是否滿足規定的要求,并找出與預期結果之間的差異
軟件測試五大要素:質量(核心)、人員、資源、流程、技術
軟件測試兩個目標:測試覆蓋率、測試效率
軟件測試所遵循的原則:
測試顯示缺陷存在,但不能證明系統不存在缺陷
窮盡測試是不可能的,應設定及時終止的條件
軟件測試應盡早進行
缺陷具備群集特性
測試的殺蟲劑悖論
測試的二八原則
測試活動依賴于測試背景
查看全部 -
A/B測試多用于互聯網行業,通過為頁面提供2個版本給用戶使用并記錄相關的用戶行為數據,來確定更優化設計的一種測試方案。
查看全部
舉報