軟體工具與軟體開發環境
軟體測試是指在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。
測試用例是由測試資料和預期結果構成的。
從測試階段分:單元測試、整合測試、確認測試和系統測試
從測試方法分:白盒測試、黑盒測試
回歸測試是指修改了舊**後,重新進行全部或部分以前的測試用例,以確認修改沒有引入新的錯誤或導致其他**產生錯誤。
根據測試的目的、階段的不同,測試分為:
模組並不是乙個獨立的程式,在考慮測試模組時,同時要考慮它和外界的聯絡,用一些輔助模組去模擬與被測模組相聯絡的 其他模組。這些輔助模組分為兩種:
(1)驅動模組:相當於被測模組的主程式。它接收測試資料, 把這些資料傳送給被測模組,最後輸出實測結果。
(2)樁模組:用於代替被測模組呼叫的子模組。樁模組可以做少量的資料操作,不需要把子模組所有功能都帶進來,但不允 許什麼事情也不做。
確認測試
確認測試也稱為有效性測試,主要包括驗證軟體的功能、效能及其他特性是否與使用者要求(需求)一致。
確認測試計畫是在需求分析階段完成的。
根據使用者的參與程度,包括以下3種型別:
系統測試
是將已經確認的軟體、計算機硬體、外設、網路等其他元素結合在一起,進行資訊系統的各種組裝測試和確認測試,系統測試是 針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之矛盾的地方,從而提出 更加完善的方案。
系統測試計畫在系統分析階段(需求分析階段)完成。
系統測試的內容包括:
功能測試
效能測試
健壯性測試
使用者介面測試
安全性測試
安裝與反安裝測試
軟體測試分為兩大類:動態測試和靜態測試。
1.動態測試
動態測試指通過執行程式發現錯誤,分為:
(1)黑盒法
黑盒測試又稱為功能測試或資料驅動測試。把被測試物件看成乙個黑盒子,測試人員完全不考慮程式的內部結構和處理過程 ,只在軟體的介面處進行測試,依據需求規格說明書,檢查程式是否滿足功能要求。
常用的黑盒測試用例的設計方法:
(2)白盒法
又稱結構測試、透明盒測試、邏輯驅動測試或基於**的測試。 把測試物件看做乙個開啟的盒子,測試人員必須了解程式的內 部結構和處理過程,以檢查處理過程的細節為基礎,對程式中盡可能多的邏輯路徑進行測試,檢驗內部控制結構和資料結構 是否有錯,實際的執行狀態與預期的狀態是否一致。
常用的白盒測試用例設計方法有:
語句覆蓋、判定覆蓋、條件覆蓋、條件判定覆蓋、條件組合覆蓋、路徑覆蓋等,發現錯誤的能力呈由弱至強的變化。
(3)灰盒法
灰盒測試是一種介於白盒測試與黑盒測試之間的測試,它關注輸出對於輸入的正確性,同時也關注內部表現,但這種關注不像白盒測試那樣詳細且完整,而只是通過一些表徵性的現象、事件及 標誌來判斷程式內部的執行狀態。 灰盒測試結合了白盒測試和黑盒測試的要素,考慮了使用者端、特定的系統知識和操作環境,在系統元件的協同性環境中評價應用軟體的設計。
2.靜態測試
靜態測試指被測試程式不在機器上執行,而採用人工檢測和計算機輔助靜態分析的手段對程式進行檢測。
靜態分析中進行人工測試的主要方法:
**走查
**走查與**審查基本相同,其過程也分為兩步。
軟體可維護性是指維護人員對該軟體進行維護的難易程度,具體包括理解、改正、改動和改進軟體的難易程度。
衡量程式可維護性的因素:可理解性、可測試性和可修改性等。
軟體維護佔整個軟體生命週期的60%~80%,維護的型別有:
(1)改正性維護是指改正在系統開發階段已發生而系統測試階段尚未發現的錯誤。
(2)適應性維護是指使用軟體適應資訊科技變化和管理需求變化而進行的修改。
(3)完善性維護是為擴充功能和改善效能而進行的修改,主要是指對已有的軟體系統增加一些在系統分析和設計階段中沒有規定的功能與效能特徵。
(4)預防性維護為了改進應用軟體的可靠性和可維護性,為了適應未來的軟硬體環境的變化,應主動增加預防性的新的功能,以使應用系統適應各類變化而不被淘汰。
例:某搜尋引擎在使用過程中,若要增加接受語音輸入的功能, 使得使用者可以通過語音輸入來進行搜尋,此時應對系統進行(影響維護工作量的因素主要有:c
) 維護。a. 正確性 b. 適應性
c. 完善性 d. 預防性
系統大小
程式語言
系統年齡
資料庫技術的應用
先進的軟體開發技術
用來輔助軟體開發、執行、維護、管理和支援等過程中的活動的軟體稱為軟體工具。軟體開發環境指支援軟體產品開發的軟體系統,它由軟體工具集和環境整合機制構成。軟體開發環境的特徵:整合型開發環境是一種把支援多種軟體開發方法和開放模型的軟體工具整合在一起的軟體開發環境。這種環境應該具有開放性和可剪裁型。開放性為環境外的工具整合到環境中來提供了方便,可裁剪性可根據不同的應用和不同的使用者需求進行剪裁,以形成特定的開發環境。軟體工程2 軟體過程
軟體過程是為了獲得高質量軟體所需要完成的一系列任務的框架,他規定了完成各項工作任務的工作步驟 運用方法的順序 文件資料 管理措施 各個階段的里程碑。生命週期模型 過程模型 規定了把生命週期互粉成哪些階段及各個階段的執行順序。常見軟體生命週期模型 瀑布模型 快速原型模型 增量模型 螺旋模型 噴泉模型 ...
軟體工程總結(2)
知識點 概要 為了保障開發質量,為各階段都準備了相應的好辦法。可以說 你想得到的 軟體工程好方面 軟體工程 都想到了 你想不到的,軟體工程 更是想了不少。1 通過對軟體工程的學習,了解了軟體工程各個階段的里程碑,以及在各個階段完成 中採用相應的處理方法,使得各階段的任務在完成過程中既有條有理,又方便...
軟體工程介紹2
軟體工程是一門研究用工程化方法構建和維護有效的 實用的和高質量的軟體的學科。它涉及程式語言 資料庫 軟體開發工具 系統平台 標準 設計模式等方面。在現代社會中,軟體應用於多個方面。典型的軟體有電子郵件 嵌入式系統 人機介面 辦公套件 作業系統 編譯器 資料庫 遊戲等。同時,各個行業幾乎都有計算機軟體...