01_測試基礎

01株灸、測試基礎-學習目標、課程內容芦劣、引入

掌握什么是軟件測試;

掌握測試的目的;

掌握軟件生命周期的各個階段以及相互關系;

初步了解軟件生命周期各階段的具體工作內容;

大致了解軟件研發(fā)團隊的組織形式和研發(fā)流程。

軟件測試的定義和目的

軟件生命周期

軟件研發(fā)組織和流程

軟件中產生缺陷的原因

問題討論

網上購物/瀏覽網頁是不是軟件測試?? 不是? ? 軟件使用

用手機/電腦打游戲是不是軟件測試?? 不是? ? 軟件使用

使用Office辦公軟件是不是軟件測試?? 不是? ? 軟件使用

什么是軟件測試特咆?

1.特定的目的 (購物的增刪改查 軟件運行時的性能) 2.測試是有一定的方法

3.提交缺陷 跟蹤缺陷

軟件測試演示

軟件測試并不神秘,快速入門并不難

功能測試演示

性能測試演示

02、測試基礎-軟件測試的定義

梅爾斯? 《軟件測試的藝術》

G.J.Myers認為(1979):

1 程序測試是為了 發(fā)現錯誤 而執(zhí)行程序的過程;

2 好的測試方案是極可能發(fā)現迄今為止尚未發(fā)現的錯誤的測試方案;

3 成功的測試是發(fā)現了至今為止尚未發(fā)現的錯誤的測試录粱。

25年之后, G.J.Myers在《軟件測試的藝術第二版》中;

所謂軟件測試,就是一個過程或一系列過程,用來確認 計算機代碼

完成了其應該完成的 功能 ,不執(zhí)行其不該有的操作腻格。

什么是軟件測試

目前沒有公認非常完整的定義形式。

1983,IEEE提出的軟件工程標準術語,軟件測試定義如下:

"使用人工和自動手段來運行或測試某個系統(tǒng)的 過程 ",在其目的在于檢驗它是

否滿足規(guī)定的需要或是弄清? 預期結果 與 實際結果 之間的差別"啥繁。

沒有必要一定要背一個概念出來,搞清軟件測試的含義即可:

軟件測試是一個過程,包含若干活動,運行軟件進行測試只是活動之一;

進行軟件測試可以人工方式也可以借助于工具;

進行軟件測試可以 運行軟件 也可以 不運行軟件;

動態(tài) 靜態(tài)

軟件測試的目的不僅僅是為了發(fā)現錯誤菜职。

03、測試基礎-軟件測試的目的

人們對軟件測試目的的認識也經歷了一個過程旗闽。

證明 ? 檢測 預防

表明軟件能夠工作 發(fā)現錯誤? ? ? ? ? 管理質量

20世紀60年代 20世紀70年代中期? ? ? 20世紀90年代

軟件測試目的之證明

20世紀60年代

測試是證明軟件沒有問題酬核。

現在

獲取系統(tǒng)在可接受風險范圍內可用的信心;

嘗試在非正常情況和條件下的功能和特性;

保證一個工作產品是完整的并且可用或者被集成。

軟件測試目的之檢測

20世紀70年代中期

測試是為了發(fā)現錯誤适室。

現在

發(fā)現缺陷嫡意、錯誤和系統(tǒng)不足;

定義系統(tǒng)的能力和局限性;

提供組件、工作產品和系統(tǒng)發(fā)質量信息捣辆。

軟件工程: 1.開發(fā)技術

2.開發(fā)管理

軟件測試目的之預防

預防下一版本可能出現的問題

預防用戶使用軟件時可能出現的問題

提前發(fā)現開發(fā)過程中的問題和風險

大大較低開發(fā)的風險

提供可以用以分析的測試結果數據

了解哪些缺陷的原因和以前的數據進行分析

針對薄弱的環(huán)境進行加強(未雨綢繆)

軟件測試觀念的轉變

傳統(tǒng)測試 現在測試

在開發(fā)的后期介入 已經擴展到了整個軟件生命周期

基于代碼運行的測試 已經擴展到了靜態(tài)的范疇

已發(fā)現錯誤為目的 已經擴展到了錯誤預防的范疇

希望通過測試收集和分析一些數據起到預防缺陷的作用

04蔬螟、測試基礎-軟件測試常見的誤區(qū)

調試和測試是一樣的;

調試是定位錯誤修改程序? ? 測試是找錯誤

調試是隨機性的(程序員)? ? 測試是目的性的

測試組應當為保證質量負責;

質量是做出來的,不是測出來的

過分依賴Beta測試;

(Beta測試是一種驗收測試。所謂驗收測試是軟件產品完成了功能測試和系統(tǒng)測試之后汽畴,在產品發(fā)布之前所進行的軟件測試活動,它是技術測試的最后一個階段,通過了驗收測試琐鲁,產品就會進入發(fā)布階段。驗收測試一般根據產品規(guī)格說明書嚴格檢查產品佑吝,逐行逐字地對照說明書上對軟件產品所做出的各方面要求, 確保所開發(fā)的軟件產品符合用戶的各項要求绳匀。 通過綜合測試之后芋忿,軟件已完全組裝起來,接口方面的錯誤也已排除疾棵,軟件測試的最后一步——驗收測試即可開始戈钢。驗收測試應檢查軟件能否按合同要求進行工作,即是否滿足軟件需求說明書中的確認標準是尔。)

把測試作為新員工的一個過渡工作;

把不合格的開發(fā)人員安排做測試;

關注于測試的執(zhí)行而忽略測試的設計;

測試自動化是萬能的;

測試是可以窮盡的;

測試是為了證明軟件的正確性;

測試是枯燥乏味,缺乏創(chuàng)造力的工作;

非常要求創(chuàng)造力的工作

軟件測試發(fā)主要工作

軟件測試工程師一般會承擔以下一些具體工作;

檢視代碼殉了、評審開發(fā)文檔

進行測試設計、寫作測試文檔(測試計劃拟枚、測試方案薪铜、測試用例等)

目的性,條理性

執(zhí)行測試,發(fā)現軟件缺陷,提交缺陷報告,并確認缺陷最終得到了修正

出現bug會造成什么后果

通過測試度量軟件的質量

05、軟件生命周期-計劃

軟件測試的定義和目的

軟件生命周期

軟件生命周期的各個階段

計劃----需求分析----設計----編碼-----測試-----運行----評價--計劃

軟件研發(fā)組織和流程

軟件中產生缺陷的原因

計劃

工作內容 計算器例子

確定軟件開發(fā)總目標 ? 研發(fā)一個計算器

給出軟件的功能恩溅、性能隔箍、可靠性以及接口等方面的設想; 支持加、減脚乡、乘蜒滩、除,所有運算都需在一定時間之內完成;

研究完成該項目的可行性,探討問題 該項目目前不存在任何技術障礙;

解決方案; 需要在3個月之內完成所有開發(fā)和測試工作,并推向市場;

對可供開發(fā)使用的資源、成本奶稠、可取得

的效益和開發(fā)進度作出估計; 具體計劃參見項目一級計劃(比如測試計劃 質量保證計劃 配置管理計劃)俯艰。

制定完成開發(fā)任務的實施計劃

06、軟件生命周期-需求分析

需求分析(重要 復雜)

客戶(沒有IT背景) 說服客戶

工作內容:

對開發(fā)的軟件進行詳細的定義,由 需求分析人員 和 用戶共同 討論決定,哪些需求 可以滿足 的,并且給予 計算器例子

確切的描述 ,寫出軟件需求說明書SRS(Software Requirement Specification) 功能需求:

十進制加锌订、減竹握、乘、除

八進制加辆飘、減涩搓、乘、除

軟件研發(fā)的類型不同,需求的來源也不同,需求分析中的"用戶"針對的具體對象也不同 二進制加劈猪、減、乘良拼、除

十六進制加战得、減、乘庸推、除

針對 產品 的軟件研發(fā)

需求來源:市場調研(來源市場 女性 男性 兒童 ...) 性能需求:

用戶:市場調研人員 32位十進制加法需在2秒內完成

特點:自己想研發(fā)什么,自己就來研發(fā) 16位十六進制乘法需在10秒內完成

針對 項目 的軟件研發(fā)

需求來源:客戶要求

用戶:實際的客戶

特點:別人想研發(fā)什么,我們幫著研發(fā)

-----------------------------------------------------------------------------------------

設計

工作內容

設計是軟件工程的技術核心,這個階段需要完成設計說明書

概要設計(HLD),在設計階段吧各項需求轉換成相應的體系結構,每一部分是功能明確的模塊;

詳細設計(LLD),對每個模塊要完成的工作進行具體的描述常侦。

計算器例子

概要設計

整個軟件分成六個模塊:界面模塊浇冰、主控模塊、加法模塊

減法模塊聋亡、乘法模塊肘习、除法模塊,主控模塊調用后四個模塊。

加法模塊包含五個函數:加法主函數坡倔、十進制加法函數漂佩、八進制加法函數、二進制加法函數罪塔、

十六進制加法函數投蝉、主函數調用后四個函數。

詳細設計

加法主函數的流程圖(或者偽代碼)

08征堪、軟件生命周期-編碼瘩缆、測試、運行和維護

編碼

工作內容 計算器例子

把軟件設計轉換成計算機可以 用C語言實現詳細設計說明書中描述的所以函數佃蚜。

接受的程序,即寫成以某個程序

設計語言表示的源程序清單,使用RDBMS工具建立數據庫庸娱。

測試

工作內容 計算機例子

測試是檢驗軟件是否符合客戶需求,達到質量要求,一般由獨立的小組執(zhí)行,測試工作分為: 單元測試

單元測試 參照LLD(詳設)

對每一個函數進行測試

集成測試 集成測試

參照HLD(概設)

對函數與函數的集成、模塊與模塊的集成進行測試

系統(tǒng)測試 系統(tǒng)測試

參照SRS

對每一個功能需求谐算、性能需求等進行測試

運行和維護

工作內容

這個階段將軟件交付用戶投入正式使用,可能有多種原因需要對它進行修改,如軟件錯誤 計算機例子

熟尉、系統(tǒng)軟件升級、增強軟件功能氯夷、提高性能等臣樱。 計算器提供給用戶使用,用戶在使用過程中如發(fā)現問題可通過技術支持人員反映,

問題解決后為用戶進行軟件升級....

09、軟件研發(fā)組織和流程-軟件研發(fā)組織

軟件測試的定義和目的

軟件生命周期

軟件研發(fā)組織和流程

軟件中產生缺陷的原因

軟件研發(fā)相關要素

人員 只有合適的人員借助合適的

過程 ? ? ? ? 工具經過合適的過程才能研發(fā)出高質量的軟件

工具

軟件項目組人員組成

項目組一般由 項目經理 領導并負責制定 項目計劃 ,分配任務腮考。

項目組一般有下列人員參與:

分析人員

設計人員

開發(fā)人員

測試人員

配置管理人員

SQA:(軟件質量保證 軟件質量保證(SQA-Software Quality Assurance)是建立一套有計劃雇毫,有系統(tǒng)的方法,來向管理層保證擬定出的標準踩蔚、步驟棚放、實踐和方法能夠正確地被所有項目所采用。軟件質量保證的目的是使軟件過程對于管理人員來說是可見的馅闽。它通過對軟件產品和活動進行評審和審計來驗證軟件是合乎標準的飘蚯。軟件質量保證組在項目開始時就一起參與建立計劃、標準和過程福也。這些將使軟件項目滿足機構方針的要求局骤。)

常見項目組架構

項目經理 -----? SQA(監(jiān)控整個軟件研發(fā)的過程)

開發(fā)經理 測試經理 配置經理

軟件開發(fā)組 軟件測試組 配置管理組

分析人員 測試人員 配置管理員 CMO

設計人員

開發(fā)人員

10、軟件研發(fā)組織和流程-瀑布模型

基本軟件研發(fā)流程

常見的軟件研發(fā)流程:

瀑布模型(00:40)增加了開發(fā)的風險 用戶只能到最后才能看到 開發(fā)后期的測試階段才能發(fā)現 帶來了嚴重的后果

應用的最為廣泛的一種模型,也是最容易理解和掌握的模型,

然而它的缺陷也是顯而易見的暴凑。

螺旋模型

綜合了基本的瀑布式模型和演化/漸增原型方法峦甩。

RUP流程

所有工作流在各個階段都有體現。

IPD流程

從整個產品角度出發(fā),不僅僅針對研發(fā)现喳。

11凯傲、軟件研發(fā)組織和流程-螺旋模型

螺旋模型(00:05) 非橙剑看重風險分析的

確定目標、替代方案和限制

評價替代方案和標識與解決風險

優(yōu)點:設計比較靈活? 使客戶每個階段都可以客戶去參與

缺點:周期長

12冰单、軟件研發(fā)組織和流程-RUP

RUP流程是IBM公司提出來的

工作流

過程

業(yè)務建模

需求

分析和設計

實現

測試

分布

支持

配置與變更管理

項目管理

環(huán)境

階段

初始化 細化 構造 發(fā)布

初始 細化*1 細化*2 構造*1........

13幌缝、軟件研發(fā)組織和流程-IPD

IPD流程? 思想來源一家公司PRTM? ? IBM公司使用

階段 概念 計劃 開發(fā) 驗證 發(fā)布 生命周期

IPMT

PDT

財務

系統(tǒng)工程

研發(fā)

硬件開發(fā)

軟件開發(fā)

結構開發(fā)

工業(yè)設計

測試

資料開發(fā)

技術支持

制造

采購

市場

銷售

14、軟件中產生缺陷的原因

軟件缺陷和Bug

軟件缺陷:既指 靜態(tài) 存在于軟件工作產品(文檔诫欠、代碼)中的錯誤,

也指軟件運行時由于這些錯誤被激發(fā)引起的和軟件產品預期屬性的偏離現象涵卵。

Bug:代碼中的缺陷。有時也被泛指因軟件產品顳部的缺陷引起的軟件產品最終運行時和

預期屬性的偏離呕诉。

軟件錯誤缘厢、軟件缺陷、Bug在實工作中可以認為一樣甩挫。

常見的其他引入缺陷的原因

軟件復雜度越來越高

編程中產生錯誤

需求不斷變更

項目進度的壓力

不重視開發(fā)文檔

...

缺陷類型

所有缺陷可以歸結為三類:

遺漏贴硫;規(guī)定的或預期的需求未體現在產品中(可能未將規(guī)格說明全面實現,也可能需求分析階段就遺漏了需求)

錯誤: 未將規(guī)格說明正確實現(可能設計錯誤、也可能編碼錯誤)

額外的實現:規(guī)格說明并未規(guī)定的需求被納入產品,得到實現

缺陷的放大模型

需求階段缺陷----概要設計階段缺陷----詳細設計階段缺陷----編碼設計階段缺陷

常見的其他引入缺陷的原因

軟件復雜度越來越高

編程中產生錯誤

需求不斷變更

項目進度的壓力

不重視開發(fā)文檔

...

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末伊者,一起剝皮案震驚了整個濱河市英遭,隨后出現的幾起案子,更是在濱河造成了極大的恐慌亦渗,老刑警劉巖挖诸,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異法精,居然都是意外死亡多律,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門搂蜓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狼荞,“玉大人,你說我怎么就攤上這事帮碰∠辔叮” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵殉挽,是天一觀的道長丰涉。 經常有香客問我,道長斯碌,這世上最難降的妖魔是什么一死? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮傻唾,結果婚禮上摘符,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好逛裤,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猴抹,像睡著了一般带族。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蟀给,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天蝙砌,我揣著相機與錄音,去河邊找鬼跋理。 笑死择克,一個胖子當著我的面吹牛,可吹牛的內容都是我干的前普。 我是一名探鬼主播肚邢,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拭卿!你這毒婦竟也來了骡湖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤峻厚,失蹤者是張志新(化名)和其女友劉穎响蕴,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體惠桃,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡浦夷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了辜王。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片劈狐。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖誓禁,靈堂內的尸體忽然破棺而出懈息,到底是詐尸還是另有隱情,我是刑警寧澤摹恰,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布辫继,位于F島的核電站,受9級特大地震影響俗慈,放射性物質發(fā)生泄漏姑宽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一闺阱、第九天 我趴在偏房一處隱蔽的房頂上張望炮车。 院中可真熱鬧,春花似錦、人聲如沸瘦穆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扛或。三九已至绵咱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熙兔,已是汗流浹背悲伶。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留住涉,地道東北人麸锉。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像舆声,于是被迫代替她去往敵國和親花沉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容