目錄
一. 三大基本概念
1. 需求
2. bug(缺陷)
3. 測試用例
二. 軟體測試的流程
三. 軟體的生命週期
四. 研發模型(5個)
1. 瀑布模型 (wate***ll model)
2. 螺旋模型(spiral model)
3. 增量、迭代
4. 敏捷
五. 傳統開發模型與敏捷開發模型的區別(!!!重點)
首先, 介紹一下作為測試應掌握的三大概念~
表示" 符合正式文件規定的條件和權能, 分使用者需求和軟體需求"
表示"與需求規格說明書或使用者期望不匹配"
需求規格說明書: 一定要確保它的正確性;
使用者的期望: 一定要是合理期望.
表示"向被測試的程式輸入的一組集合, 這個集合要滿足的要素有: 測試環境, 測試資料, 測試步驟, 預期結果, 備註, 測試版本, 前提條件等等".
重點:它是一組集合, "測試環境, 測試資料, 測試步驟, 預期結果", 四項元素缺一不可. 其他的可以擴充套件
1. 測試需求分析階段
閱讀需求, 理解需求, 主要就是對業務的學習, 分析需求點, 參與需求評審會議.
2. 測試計畫階段
主要任務就是編寫測試計畫, 參考軟體需求規格說明書, 專案總體計畫, 內容包括測試範圍(來自需求文件), 進度安排, 人力物力的分配, 整體測試策略的制定. 風險評估與規避措施有乙個制定.
3. 測試設計階段
主要是編寫測試用例, 會參考需求文件(原型圖), 概要設計, 詳細設計等文件, 用例編寫完成之後會進行評審.
4. 測試執行階段
搭建環境, 執行冒煙測試(**試), 然後進入正式測試, bug管理直到測試結束.
5. 測試評估階段
出測試報告, 確認是否可以上線
6個階段: 需求--計畫--設計--編碼--測試--執行維護
後面的模型都是在軟體的生命週期基礎上來實現的
瀑布模型在軟體工程中占有重要地位,是所有其他模型的基礎框架。瀑布模型的每乙個階段都只執行一次,因此是線性順序進行的軟體開發模式。
瀑布模型和軟體的生命週期基本上是一樣的, 只比軟體的生命週期少乙個 "執行維護" 階段
特點:是 "串型"的
適合的專案:需求相對穩定的專案(或者說 需求變更比較少的專案), 已有類似的專案或產品
優點:每個階段劃分的很明確
缺點:
(1)發現缺陷的時機比較晚, 修改缺陷的成本高
(2)過程中積累的經驗(不管是成功或者失敗的經驗), 不能及時分享給其他專案組
(3)測試是最後乙個環節, 會被誤認為測試不重要
一般在軟體開發初期階段需求不是很明確時,採用漸進式的開發模式。螺旋模型是漸進式開發模型的代表之一。
特點:是 "漸進式"的, 強調的是 "風險". 每乙個環裡面都有風險分析這一階段, 每一環的工作都比前一環要多, 是為了減少專案風險
適合的專案:複雜度高, 風險大, 規模龐大
優點:強調專案的風險. 即強調嚴格的全過程風險管理; 強調各開發階段的質量; 提供機會檢討專案是否有價值繼續下去。
缺點:
(1). 引入非常嚴格的風險識別、風險分析和風險控制,這對風險管理的技能水平提出了很高的要求。
(2). 風險分析需要時間, 增加成本, 因而會造成專案進度緩慢
目的:減少專案的風險
適用專案:大型專案.(增量迭代很適合 需要做半年, 一年, 幾年的專案)
增量迭代這兩個模型很容易混淆, 下來分別介紹一下這兩個模型的概念
增量:第一次發布10個功能, 第二次發布10個功能, 第二次發布的功能對第一次發布的功能對第一次功能沒有任何影響, 不需要修改
迭代:第二次發布的功能對第一次發布的功能有影響, 必須修改第一次發布中的一些功能. 如果不修改, 第一次的功能就出bug, 第二次發布的功能是無效的
敏捷的宣言有12個,核心有4個宣言:
輕文件 對文件的依賴度比較低
客戶參與
擁抱變化 需求變更的擁抱
人與人之間的溝通 (最重要)
目前比較流行的敏捷開發模型: scrum
scrum 的三大核心角色:
敏捷開發的特點:
(1). (研發+測試)人員要求5-10人; 但有些公司的專案組人可能多一點
(2). 每天要開站會, 站會時間不超過15分鐘; 每人要說一下昨天做了什麼事情, 遇到了什麼問題, 今天要做什麼事情
(3). 迭代週期1-4周, 一般不超過4周(即不超過乙個月)
敏捷開發的流程:(!!!重點)
mysql的預設埠: 3306
傳統開發模型不關注過程, 只關注結果;
敏捷開發不僅關注結果, 更要關注過程.
大多數企業都用的是敏捷開發模型, 一些傳統企業一般用的是傳統模型,
1. 傳統開發模型有: 瀑布模型, 螺旋模型, 增量迭代模型.
瀑布模型適合 "需求相對穩定或需求變更少"的專案
螺旋模型適合 "複雜度高, 風險大, 規模大"的專案
增量迭代模型適合 "大型專案即需要做很久的專案"
2. 敏捷開發模型 有4大宣言, 最能區別開傳統模型(輕文件, 客戶參與, 擁抱變化, 人與人的溝通)
3. 以下是對傳統模型和敏捷開發模型區別的個人總結:
(1) 傳統模型"重文件", 敏捷模型"輕文件"傳統模型更加依賴使用者需求文件;
而敏捷模型對文件的依賴度比較低
(2) 傳統模型"客戶不參與", 敏捷模型"客戶參與"傳統模型中, 客戶提出自己的需求之後, 整個專案就不再參與了, 等專案交付的時候則容易出現客戶不認可不滿意的情況;
而敏捷模型中, 客戶參與的比較多, **不滿意**有需求, 可以進行溝通, 加以修改
(3) 傳統模型"需求變更不方便", 敏捷模型 "歡迎需求變更"傳統模型中由於專案時間周期長, 客戶不參與, 不溝通, 需求細節不明確, 等專案做完交付的時候客戶不認可, 這時候改變需求是非常麻煩的, 很可能要重做, 白忙活一場.
敏捷模型中由於客戶參與了進來, 可以隨時按照客戶的需求變更進行修改; 並且敏捷模型專案的時間周期短, 最長乙個月, 最短乙個周.
(4) 傳統模型"人與人之間的溝通少", 敏捷模型"人與人的溝通頻繁"傳統模型中測試和開發人員都是孤立的工作, 開發幹完活就不再管了, 出了bug才會找研發人員;
而敏捷模型中測試和研發會頻繁交流, 有問題隨時就能溝通, 測試和研發人員的關係越來越好,避免了矛盾的發生.
其實不僅僅是開發和測試人員的溝通頻繁, 還有與客戶等其他專案相關的人員也頻繁了起來.
關係模型基本概念
1.關係模型的提出 關係模型最早是由e.f codd在1970年提出來的。是從表 table 以及表的處理中抽象出來的。是在傳統表以及其上面的操作嚴格化的數學定義上引入 集合理論 與 邏輯學理論 關係模型是資料庫的三大典型模型之一。也是現在大多數商業資料庫使用的模型。2.關係模型研究的內容 形象的說...
關係模型的基本概念
關係模型由若干關係模型 記錄型別 組成,記錄型別又分為實體型別和聯絡型別 記錄型別的例項是關係,關係實際上就是一張二維表。關係模型靠鍵來導航,表與表之間靠鍵關聯起來,回到現實中是事物之間的聯絡。用圖和表來表示思路,有幾個好處,第一是簡化了表達,一目了然 第二是提供了角度觀察和思考問題的另乙個角度。這...
CMM模型的基本概念
cmm模型指 能力成熟度模型 英文全稱為capability maturity model for software,縮寫為sw cmm,簡稱cmm。它是對於軟體組織在定義 實施 度量 控制和改善其軟體過程的實踐中各個發展階段的描述。cmm的核心是把軟體開發視為乙個過程,並根據這一原則對軟體開發和維...