《软件质量保证与测试》读书笔记(一)
第一章,概述`
“像外行一樣思考,像專家一樣實踐”—Kanade Takeo
1.1軟件特征
1,軟件包含4個部分——計算機程序、規程、文檔和軟件系統運行所必須的數據。
2,軟件的分類(7大類):
系統軟件
應用軟件
Web應用軟件
工程和科學軟件
嵌入式軟件
產品線軟件
人工智能軟件
Ps:“站在風口上,豬也會飛”—小米董事長雷軍
3,IEEE(Institute of Electrical and Electronics Engineers,國際電氣和電子工程師協會)對于軟件工程的定義:
軟件工程是將系統化的、規范化的、可度量的方法應用于軟件的開發、運行、維護的過程,即將工程化應用于軟件中,同時是對上面所述方法的研究。
4,軟件工程的方法必須以質量保證為基礎。
5,MSF過程模型(Microsoft Solutions Frameworks,微軟解決方案框架)
Ps:1983年,喬布斯為了說服當時最紅的消費產品營銷奇才——百事可樂公司總裁John Sculley加入蘋果,說了一句極具煽動性的話:“你是想賣一輩子糖水呢,還是想”抓住機會來改變世界?
1.2軟件質量
1,我們應當從以下三個方面來看軟件的質量:
(1)軟件結構方面:
B,界面友好,使用方便。
(2)功能與性能方面:
(3)開發標準與文檔方面:
2,ANSI/IEEE STD729-1983給出軟件質量的定義:
“軟件產品滿足規定的和隱含的與需求能力有關的全部特征和特性。”
3,各類軟件綜合起來看,質量要求一般有下列6個特征:
(1) 功能性:軟件實現的功能達到要求和隱含的用戶需求以及設計規范的程度。
(2) 可靠性:軟件在指定條件和特定的時間段內維持性能的能力程度。
(3) 易使用性:用戶使用該軟件所付出的學習精力。
(4) 效率:在指定條件下,軟件資源與所占用的比值。
(5) 可維護性:當發現錯誤、運行環境改變或用戶需求改變時程序能修改的容易程度。
(6) 可移植性:將軟件從一種環境移入另一種環境的容易程度。
Ps:質量是產品的生命,對軟件尤其如此。
4,軟件質量保證的定義:IEEE給出軟件質量保證(SQA,Software Quality Assurance)是:
(1) 一種有計劃的,系統化的行動模式,它是為項目或者產品符合已有技術需求提出充分信任所必需的。
(2) 設計用來評價開發或者制造產品的過程的一組活動,與質量控制有區別。
而針對實際情況,SQA不應局限于開發過程,SQA行動不應局限于功能需求的技術方面,而應該包含與進度和預算有關的活動。所以針對SQA有一個擴展定義:
SQA是一種有計劃的、有系統的行動集合,是為提供軟件產品的軟件開發過程與維護過程符合已經建立的技術需求,以及跟上計劃安排與在預算限制之內進行的管理上的充分信任的必需。
1.3軟件測試與可靠性
1,定義(IEEE):軟件測試是使用人工或者自動手段來運行或測試某個系統的過程,檢驗它是否滿足規定的需求或者弄清預期結果和實際結果之間的差別。
2,軟件測試是保證軟件質量的關鍵步驟,是對軟件規格說明、設計和編碼的最后復審,其工作量約占總工作量的40%以上。對于人命關天的項目,測試相當于其他部分總成本的3~5倍。
21世紀,軟件發展的大方向是質量提高優于性能改進。
Ps:推薦讀書:美國計算機科學家Glenford Myers經典論著《軟件測試的藝術》。
Ps:圖靈獎得主Dijkstra指出:“測試可以表明缺陷的存在,但絕不能證明沒有缺陷。”
3,軟件測試的方法
靜態測試和動態測試
白盒測試、黑盒測試、灰盒測試
4,軟件開發階段的測試方法:
(1) 需求測試
(2) 單元測試
(3) 集成測試
(4) 壓力測試
(5) 容量測試
(6) 配置測試
(7) 安裝測試
(8) 安全性測試
ps:第一次寫博客,不大會玩,但希望自己以后可以堅持下去。
總結
以上是生活随笔為你收集整理的《软件质量保证与测试》读书笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vim cheat-sheet
- 下一篇: [方法“Boolean Contains