軟體生命週期:按開發軟體的規模和複雜程度,從時間上把軟體開發的整個過程(從計畫開發到軟體報廢為止的整個歷史階段)進行分解,形成相對獨立的幾個階段。
每個階段有分解成幾個具體的任務,然後按規定順序依次完成各階段的任務並規定一套標準的文件作為各個階段的開發成果,最後生產出高質量的軟體。
軟體開發模型:由於專案,需求的模式不同,所以在軟體生命週期過程中選擇的軟體開發模型也會有所不同,在歷史上,軟體開發模型經歷了【邊做邊改】,瀑布,螺旋,敏捷等模式的變更
瀑布模型
計畫 ---》需求分析 ---》設計 ---》編碼 ---》測試 ---》執行維護
特點: 1.軟體開發的各項活動嚴格按照線性方式進行
2.當前活動接受上一活動的工作結果
3.當前活動的工作結果需要進行驗證
缺點: 1.由於開發模型是線性的,增加了開發風險
2.早起的錯誤可能要等到後期的階段才能發現(測試階段發現需求上面的錯誤)
3.各個階段固定,階段之間產生大量文件,極大增加工作量
原型模型
客戶與開發公司緊密聯絡,開發周期長,開發會受到需求變更的影響
特點: 1.實現客戶與系統的互動
2.進一步細化待開發軟體需求
3.開發人員可以確認客戶真正想要的需求是什麼
螺旋模型
制定計畫 ---》風險分析 ---》實施工程(需求確認,軟體需求,軟體產品設計,設計確認與認證,詳細設計,開發,測試) ---》客戶評估
特點: 1.螺旋模型是將瀑布模型與快速原型模型結合起來的
2.強調了其他模型所忽視的風險分析(告訴客戶哪些能做哪些不能做,做出來的效果是怎樣的)
3.每一次螺旋包括四個步驟:制定計畫,風險分析,實施工程,客戶評估
缺點:1.強調風險分析,但要求客戶接受並相信這種分析,是不容易的
敏捷模型
敏捷開發是一種以人為核心,迭代,循序漸進的開發方法
(將乙個大需求拆分掉,將乙個大功能拆分成許多個小的子功能,然後增量開發)
特點:1.短週期開發
2.增量開發
3.由程式設計師和測試人員編寫自動化測試來監控開發進度
4.通過口頭溝通,測試和**來交流系統的結構和意圖
5.編寫**之前先寫測試**,也叫作測試先行(介面開發完,寫介面測試**)
缺點:1.團隊的組建較難,人員素質要求較高
2.對測試人員要求完全掌握各種指令碼程式語言,能執行單元測試,自動化測試
軟體測試理論(一)
1.軟體分類 按照功能分類 1 系統軟體 能夠直接操作底層的硬體,並為上層軟體提供支撐的軟體。比如 作業系統軟體,各種硬體驅動程式等,這類軟體需要我們結合底層的硬體加以測試,比如 bios測試,waln測試。2 應用軟體 能夠為使用者提供某種應用服務的軟體。比如 office,qq等。按照技術架構分...
軟體測試理論
一 軟體測試 目的定義和原則 軟體測試 規定條件下對的程式進行操作,從而發現問題,對軟體質量進行評估的過程 目的 以最少的人力,物力,時間來找到軟體中的缺陷並修改,從而避免商業風險 定義 使用人工和自動手段來執行的程式,目的在檢驗 二 軟體測試的原則 追上到客戶的需求 盡快和不斷的測試 測試工作有專...
軟體測試理論
軟體測試理論基礎 什麼是軟體 程式 資料 文件 軟體的特徵 1 軟體是一種邏輯實體,具有抽象性 2,軟體產品的生產主要是研製,生產成本主要在開發和研製,開發研製完成後,通過複製就產生了大量軟體產品 3,軟體在使用過程中,沒有磨損 老化的問題 軟體的特性 1,軟體對硬體和環境有著不同程度的依賴性。這導...