軟件測試學(xué)習(xí)筆記01——軟件測試概述
1、軟件發(fā)展歷史:
- 第一階段:程序設(shè)計(jì)階段:沒有軟件的概念,編程人員與使用人員是同一個(gè)人
- 第二階段:程序系統(tǒng)階段:軟件的概念出現(xiàn)啦撮,出現(xiàn)了軟件作坊,軟件危機(jī)產(chǎn)生
- 第三階段:軟件工程階段:軟件工程學(xué)科發(fā)展镣陕,趨于成熟。
2绽媒、軟件工程定義:
1983年,IEEE的定義:軟件工程是研究和應(yīng)用如何以系統(tǒng)化的免猾、規(guī)范的是辕、可度量的方法去開發(fā)、運(yùn)行和維護(hù)軟件猎提。即把工程化應(yīng)用到軟件上获三。
軟件測試的定義:
- 狹義上:就是找出軟件中存在的缺陷(bug)。
- IEEE給出的定義:軟件測試是使用人工或自動的手段來運(yùn)行或測試某個(gè)系統(tǒng)的過程锨苏,期目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清楚預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別疙教。
- 《軟件測試技術(shù)基礎(chǔ)》-- 軟件測試是為了盡快盡早的發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種缺陷而展開的貫穿整個(gè)軟件開發(fā)的生命周期、對軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗(yàn)證和確認(rèn)的活動過程伞租。
3贞谓、軟件測試的對象:
軟件 = 文檔 + 數(shù)據(jù) + 程序
4、軟件測試文檔:
階段性文檔:
- 需求規(guī)格說明書
- 概要設(shè)計(jì)規(guī)格說明書
- 詳細(xì)設(shè)計(jì)規(guī)格說明書
最終產(chǎn)品文檔:
- 用戶手冊
- 幫助文檔
5葵诈、軟件測試的目的:
- 發(fā)現(xiàn)軟件系統(tǒng)的錯(cuò)誤
- 驗(yàn)證軟件系統(tǒng)是否滿足需求
- 為產(chǎn)品放行提供依據(jù)
- 改進(jìn)開發(fā)流程
6裸弦、軟件測試生命周期
軟件測試貫穿整個(gè)軟件開發(fā)生命周期。
7作喘、軟件質(zhì)量
- 軟件質(zhì)量是軟件的生命理疙,他直接影響軟件的使用和維護(hù)。
- 軟件質(zhì)量是一些質(zhì)量特性的組合泞坦,反應(yīng)了軟件滿足用戶需求的程度(包括規(guī)定/隱含的需求)窖贤。
軟件質(zhì)量由以下幾個(gè)方面進(jìn)行評價(jià):
- 軟件需求是衡量軟件質(zhì)量的基礎(chǔ),不符合需求的軟件就不具備質(zhì)量暇矫。設(shè)計(jì)的軟件應(yīng)在性能主之、功能等方面都符合要求,并能可靠的運(yùn)行李根。
- 軟件結(jié)構(gòu)良好槽奕,易讀,易于理解房轿,并易于修改粤攒、維護(hù)。
- 軟件系統(tǒng)具有友好的用戶界面囱持,便于用戶使用夯接。
- 軟件生存周期中各文檔齊全、規(guī)范纷妆,便于配置盔几、管理。
8掩幢、QC和QA
SQC:軟件測試人員 (Quality Control)
SQA:軟件質(zhì)量保證人員 (Quality Assurance)
9逊拍、軟件質(zhì)量模型
- McCall模型:
- Boehm模型:
- ISO-9126模型:內(nèi)部質(zhì)量:從內(nèi)部觀點(diǎn)出發(fā)
軟件質(zhì)量模型的作用:
軟件的質(zhì)量特性(質(zhì)量因素)有很多上鞠,軟件質(zhì)量模型可以區(qū)分質(zhì)量因素對軟件質(zhì)量的影響程度。
- 外部質(zhì)量:從外部觀點(diǎn)出發(fā)芯丧,在模擬環(huán)境中用模擬數(shù)據(jù)測試
- 使用質(zhì)量:從用戶觀點(diǎn)出發(fā)
10芍阎、軟件測試分類
1、按階段劃分:
單元測試:
對軟件設(shè)計(jì)的最小單位--模塊進(jìn)行正確性檢驗(yàn)缨恒,目的主要是測試模塊在語法谴咸、格式和邏輯上的錯(cuò)誤。
集成測試:
也稱組裝測試骗露,按設(shè)計(jì)要求把通過單元測試的各個(gè)模塊組裝在一起進(jìn)行的測試岭佳。目的是檢查模塊接口間的關(guān)系,以便發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤萧锉。
系統(tǒng)測試:
將已經(jīng)集成好的軟件系統(tǒng)置于實(shí)際運(yùn)行環(huán)境中進(jìn)行的測試驼唱。目的是根據(jù)需求分析時(shí)確定的標(biāo)準(zhǔn)檢驗(yàn)軟件是否滿足功能、行為驹暑、性能和系統(tǒng)協(xié)調(diào)性等方面的要求玫恳。
驗(yàn)收測試:
是軟件開發(fā)結(jié)束后,軟件投入使用前优俘,用戶對軟件進(jìn)行的最后一次質(zhì)量檢驗(yàn)活動京办。目的是檢驗(yàn)軟件功能的正確性和需求的符合性。
2帆焕、按測試方式劃分(是否運(yùn)行程序):
靜態(tài)測試:
靜態(tài)測試:不運(yùn)行程序惭婿。
動態(tài)測試:
動態(tài)測試:運(yùn)行程序。
3叶雹、按測試技術(shù)劃分(是否查看源代碼):
黑盒測試:
也稱為功能測試或數(shù)據(jù)驅(qū)動測試财饥,在程序接口進(jìn)行測試,只是檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用折晦。
白盒測試:
也成為結(jié)構(gòu)測試或邏輯驅(qū)動測試钥星,要完全了解程序結(jié)構(gòu)和處理過程,按照程序內(nèi)部邏輯測試程序满着,檢查程序中每條通路是否按預(yù)定要求正確工作谦炒。
灰盒測試:
介于黑盒測試和白盒測試之間
4、按測試實(shí)施組織:(P77)
開發(fā)方測試:
也稱內(nèi)部測試
用戶方測試:
在用戶的運(yùn)行環(huán)境中风喇,由用戶進(jìn)行測試
第三方測試:
又稱獨(dú)立測試
5宁改、按軟件質(zhì)量特性分類:
- 功能測試
- 性能測試
- 壓力測試
- 安全測試
- 兼容性測試
- 可靠性測試
- 安裝測試
- 用戶界面測試
11、軟件測試三個(gè)重要概念
- 測試用例:是一組測試輸入魂莫、執(zhí)行條件和預(yù)期結(jié)果的集合还蹲。
- 軟件測試環(huán)境:就是軟件運(yùn)行的平臺,即軟件、硬件谜喊、網(wǎng)絡(luò)和數(shù)據(jù)的集合鲸沮。
- 軟件缺陷:是指存在于軟件之中的不希望出現(xiàn)或不可接受的偏差。
12锅论、軟件危機(jī)具體表現(xiàn)
- 軟件開發(fā)進(jìn)度難以控制
- 軟件開發(fā)初期需求不明確,矛盾在后期集中暴露
- 測試不充分楣号,軟件質(zhì)量低下
13最易、軟件測試經(jīng)濟(jì)學(xué)(經(jīng)驗(yàn))
- 完全測試時(shí)不可能的
原因:軟件太復(fù)雜、條件不允許炫狱、“殺蟲劑現(xiàn)象” - 不能修復(fù)所有的軟件缺陷
原因:沒有足夠的資源藻懒、修復(fù)風(fēng)險(xiǎn)大、不值得修復(fù)
14视译、軟件測試的原則
- 所有的軟件測試都應(yīng)該追溯到用戶需求
- 盡早地嬉荆、不斷地進(jìn)行測試
- 程序員應(yīng)該避免測試自己的程序
- 嚴(yán)格執(zhí)行測試計(jì)劃
- 注重測試用例的設(shè)計(jì)
- 增量測試、由小到大
- 注意集群現(xiàn)象(二八定理)
- 完全測試時(shí)不可能的
- 測試維護(hù)
15酷含、缺陷關(guān)聯(lián):
什么是缺陷關(guān)聯(lián)鄙早?
缺陷關(guān)聯(lián):是一種現(xiàn)象,某個(gè)缺陷會因?yàn)槠渌娜毕荻霈F(xiàn)或消失椅亚。
16限番、軟件測試流程
- 需求分析
- 測試計(jì)劃
- 用例設(shè)計(jì)
- 執(zhí)行測試用例
- 缺陷管理(記錄跟蹤bug)
- 出具測試報(bào)告