軟體工程之測試和維護

2021-09-30 23:10:45 字數 1902 閱讀 3535

文章脈絡

測試的重要性在此就不贅述了,先說一下測試基礎:測試的目標很簡單,就是為了找到軟體中尚未發現的錯誤的缺陷;測試階段在整個開發過程中所佔比例不小,測試也不是想起兩個資料來就測試一下,而是需要規範的測試用例來完成,測試用例要既有輸入更要有輸出,同時需要有乙個整體的規劃。

如何評價乙個測試用例的好壞?不用看定義,按測試的目標即可知道,乙個好的測試用例就是可以發現錯誤和缺陷,乙個更好的測試就是可以發現更多的錯誤。

軟體測試不是等編碼完成後在開始的,而是貫穿於整個開發過程,從開始的可行性分析階段即開始著手軟體測試。軟體測試有這麼幾個原則:

● 盡早、不斷進行軟體測試,乙個錯誤越早發現,改正它需要的改價就越小。

● 所有測試追溯到使用者需求,乙個軟體最大的失敗就是不能滿足使用者需求。

● 測試應當是從小小規模到大規模測試的

● 遠在測試之前就應該制定測試計畫,為的是有計畫有步驟的執行測試,不能讓測試耽誤整個軟體開發週期。

● 第三方測試,自己寫的**潛意識會跟自己說做的很好或者用自己的邏輯檢查自己的邏輯,從而漏掉錯誤。

● 對非法的輸入資料也像合法的資料一樣編寫用例。

● 檢查軟體是否做了不該做的事。

● 測試只能證明軟體有錯誤,不能證明軟體沒錯誤。

測試分類

從階段上可以分為:

單元測試

放在程式設計階段,可以由程式設計師對自己的模組測試,測試模組是否實現了詳細設計中規定的功能和演算法,單元測試主要是發現程式設計和詳細設計中的錯誤,測試方法主要採用白盒測試,單元測試的計畫應當在詳細設計階段制定。

單元測試時,需要為模組編寫驅動模組和樁模組,驅動模組的作用是呼叫被測模組,主要看測試結果是否正確;樁模組的作用是供被測模組呼叫,檢查呼叫引數的正確性。

整合測試:在模組組裝完畢後檢測,主要是測試模組間的介面和通訊問題。整合測試主要是發現設計階段的錯誤,測試計畫應當於概要設計階段制定。

確認測試:主要是測試軟體是否滿足需求說明中的功能、效能和其他約定,確認測試應當在需求分析階段制定。

測試計畫制定與實施順序:

測試方法

測試方法分為白盒測試和黑盒測試。

白盒測試主要用於單元測試階段,它的前提是把程式看做是透明的,測試者知道程式中的結構和演算法。這種方法按照內部邏輯設計測試用例,檢測程式中的分支是否正確工作。白盒測試常用的方式是邏輯覆蓋,按覆蓋程度分為六種,覆蓋強度由低到高:語句覆蓋、判定覆蓋、判定/條件覆蓋、條件組合覆蓋、路徑覆蓋。

黑盒測試主要用於整合測試和確認測試,該方法把程式看做是不透明的,不考慮程式的結構和演算法,只測試軟體是否有選擇地接收資料並產生正確的輸出資訊,黑盒測試常用的方式是等價類劃分、邊值分析、錯誤推測和因果圖。

維護

維護是指軟體交付到軟體淘汰修改或改進軟體的過程,可能是軟體生命週期中最長的乙個階段,所佔花費也佔到大部分。可維護性包括可理解性、可測試性、可修改性,這點就要求必須把程式的注釋書寫完善、程式修改有文件記錄、文件與程式相對應。

***********************************=分割線******************************==

軟體工程 編碼 測試 維護

一 選擇語言 任何一種語言都不是 十全十美 的,因此,在選擇程式語言時,首先明確求解的問題對編碼有什麼要求,並把它們按輕重次序一一列出。然後根據這些要求去衡量可使用的語言,以判斷出哪些語言能較好地滿足要求。一般情況下,程式語言的選擇常從以下幾個方面考慮。專案的應用領域 演算法與計算的複雜性 資料結構...

軟體工程 維護

知識要點 1 軟體維護的定義 特點 2 主要的維護活動 3 軟體再工程過程。前注 維護是軟體生命週期最後乙個階段也是持續時間最長 代價最大的乙個階段 一 維護的定義 在軟體已經交付使用之後,為改正錯誤或滿足新的需要而修改軟體的過程 二 主要的維護活動 改正性維護 適應性維護 完善性維護 預防性維護 ...

軟體工程 軟體維護

軟體的維護階段,是軟體成型過程中的最後一步,其實我們所使用軟體的不同的版本都是維護過程中出現的,軟體的公升級,文件的更新等等都是建立在原材料的基礎上進行進一步步的優化,更改的!軟體的維護在佔軟體生存期的比例非常的大,因此十分重要!如下圖,軟體維護分為以下的幾種,軟體維護在軟體生存期中占用的比例為70...