什么是軟件測試: 定義比較多如下
- 使用人工或自動(dòng)手段來運(yùn)行或測試功能系統(tǒng)的過程,目的在于檢查是否滿足規(guī)定的需求,預(yù)期結(jié)果和實(shí)際結(jié)果的差別
- G.J.Myers認(rèn)為:
-程序測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的過程
-好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案
-成功的測試是發(fā)現(xiàn)至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試
軟件測試的目的: 保證整個(gè)軟件開發(fā)過程是高質(zhì)量的
- 確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望做的事情,另一方面是確認(rèn)軟件以正確的方式來做了這個(gè)事情
- 提供信息,比如提供給開發(fā)人員或程序經(jīng)理的回饋信息,為風(fēng)險(xiǎn)評估所準(zhǔn)備的信息
- 軟件測試不僅是在測試軟件軟件產(chǎn)品本身,而且還包括軟件開發(fā)的過程。如果一個(gè)軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的
測試的主要工作
- 檢視代碼,評審開發(fā)文檔
- 進(jìn)行測試設(shè)計(jì),編寫測試文檔(測試計(jì)劃 - 測試方案 - 測試用例)
- 執(zhí)行測試 - 發(fā)現(xiàn)軟件缺陷 - 編寫并提交缺陷報(bào)告
- 回歸測試 - 測試總結(jié)
需求分析: 對開發(fā)的軟件進(jìn)行詳細(xì)的定義,有需求分析員與用戶討論決定,哪些需求可以滿足,給予確切的描述,編寫軟件需求說明書
針對產(chǎn)品的軟件研發(fā)
- 需求來源: 市場調(diào)研
- 用戶: 市場調(diào)研人員
- 特點(diǎn): 自己想研發(fā)什么,就研發(fā)什么
針對項(xiàng)目的軟件研發(fā)
- 需求來源: 客戶需求
- 用戶: 實(shí)際的客戶
- 特點(diǎn): 別人想研發(fā)什么,我們幫著研發(fā)什么
設(shè)計(jì)工作: 設(shè)計(jì)是軟件工程的技術(shù)核心,這個(gè)階段需要完成設(shè)計(jì)說明書
- 概要設(shè)計(jì)[HLD]: 在設(shè)計(jì)階段把各項(xiàng)需求轉(zhuǎn)換成相應(yīng)的體系結(jié)構(gòu),每一部分是功能明確的模塊
- 詳細(xì)設(shè)計(jì)[LLD]: 對每個(gè)模塊具體要完成的工作進(jìn)行具體的描述
編碼工作
把軟件設(shè)計(jì)中各個(gè)功能模塊用計(jì)算機(jī)語言實(shí)現(xiàn)
運(yùn)行和維護(hù)
- 軟件交付用戶,投入正式使用
- 維護(hù)階段: 軟件錯(cuò)誤 , 系統(tǒng)軟件升級 , 增強(qiáng)軟件功能 , 提高性能等
軟件研發(fā)要素: 人員 過程 工具
- 只有合適的人借助合適的工具經(jīng)過合適的過程才能研發(fā)高質(zhì)量的軟件
- 工具是為人員和過程服務(wù) - 輔助作用 , 人員和過程 - 關(guān)鍵作用
常見項(xiàng)目組架構(gòu)
軟件開發(fā)組
- 開發(fā)經(jīng)理
- 分析人員
- 設(shè)計(jì)人員
- 開發(fā)人員
軟件測試組
- 測試經(jīng)理
- 測試人員
配置管理組
- 配置經(jīng)理
- 配置管理員(CMO)
軟件研發(fā)流程
1.瀑布模型: 應(yīng)用最廣泛的一種模型 , 也是最容易理解和掌握的模型 , 缺陷也是顯而易見的
Snip20160805_9.png
2.螺旋模型: 結(jié)合了基本的瀑布模型和演化丶漸增原型方法
Snip20160805_11.png
3.RUP流程: 所有工作流在各個(gè)階段都有體現(xiàn)
Snip20160805_12.png
4.IPD流程: 從整個(gè)產(chǎn)品角度出發(fā) , 不僅僅針對研發(fā)
Snip20160805_13.png