<rt id="g8mwy"><optgroup id="g8mwy"></optgroup></rt><acronym id="g8mwy"></acronym>
<rt id="g8mwy"><small id="g8mwy"></small></rt>
<rt id="g8mwy"><small id="g8mwy"></small></rt>
您好,歡迎訪問湖北鼎匯高科電子科技有限公司官網
公司服務電話:4000-879-978

軟件測試

1.測試概述

(1)軟件團隊的構成

image

本公司軟件團隊主要由運維工程師、 測試工程師、實施工程師、測試工程師、項目經理組成。

(2)軟件測試的目的

1、提高軟件的質量

軟件測試的首要目的就是提高軟件的質量,讓用戶對產品有更好的體驗,保證軟件的高質量。

2、保證軟件的安全

保證軟件的安全,有一些軟件是經過數據加密的,例比如銀行系統。涉及到資金的支出和存入,對軟件的安全性要求是特別高的。所以要通過反復測試來提高產品的安全性,保證產品在上線之后不會出現bug。

3、降低軟件開發成本

降低軟件的開發成本,在開發過程中發現bug及時調整,這樣的損失是很小的,一旦產品上線或是即將完成開發而發現bug,那么可能會造成產品大改動,這樣就意味著以往的精力全部白費。因此測試的存在就是為了降低開發成本。比如迪士尼的一款獅子王的軟件,借著獅子王的名聲,預期本應是好評如潮,也能通過這款軟件獲益不匪。但因為在很多系統上都無法使用,所以造成了大量的用戶投訴和下線、卸載等。對成本造成了非常大的損失。那如果當時這款軟件能夠在不同的系統上進行測試,在上線前將所有的問題全部解決掉,肯定會大大降低成本。

4、降低企業風險

降低企業風險,試想,如果軟件存在的問題過多,毫無疑問會影響企業的信譽,最終直接導致企業的合作企業變少,直接損害公司的收益。但如果有測試人員在中間嚴格把關,就完全不會出現這樣的問題。

5、提升用戶體驗感

開發人員在開發過程中都是以順向思維來寫程序代碼的,所以很少有開發人員能夠站在用戶角度去思考,但測試人員不一樣,測試要以逆向思維來思考程序會在哪一步有問題,站在用戶的角度進行測試,這樣上線的產品將很符合用戶的需求,用戶使用時也比較順手,增加用戶體驗感。

2.測試路線

(1)軟件測試周期

image

軟件測試的周期分為:需求分析、測試計劃、測試設計、測試執行和測試評估。

需求階段

我們一般將需求分解為一般需求分為業務需求、說明書要求、功能要求。

image

計劃階段

622

測試方案設計階段

測試人員適當了解設計,對設計測試用例設計很有幫助的,測試人員搭建測試用例框架,根據需求和設計編寫一部分測試用例,此階段要對測試工作提出測試方案,測試方案一般由對需求很熟的高資深的測試工程師計劃,測試方案要求根據《需求階段》和《測試計劃》上的每個需求點設計出包括需求點簡介,測試思路和詳細測試方法三部分的方案?!稖y試方案》編寫完成后也需要進行評審。評審人員不得低于5人。

在進行測試時,我們重點會從以下十五個方面著手:

1) 文檔審查

a) 審查軟件文檔種類是否齊套;

b) 審查軟件文檔內容是否完整;

c) 審查軟件文檔描述是否準確;

d) 審查軟件文檔格式是否規范;

e) 審查軟件文檔是否文文一致、文實相符;

f) 編制審查所用文檔檢查單并通過評審。

2) 代碼審查

測試需求分析中確定需要開展的審查類型(編程準則檢查、代碼流程審查、軟件結構審查、需求實現審查等)。

3) 靜態分析

程序結構分析、數據結構分析、控制流分析、數據流分析、接口分析、表達式分析、語言使用分析、軟件質量指標度量

4) 功能測試

a) 對軟件功能進行分析

b) 輸入等價類應包括正常等價類和異常等價類

c) 輸入邊界值應包括合法邊界值和非法邊界值

d) 輸出結果和判定條件;

e) 超負荷、飽和及其他最壞情況等極端條件

f) 功能控制流程、狀態轉換、模式切換等

5) 性能測試

a) 輸入域或輸出域的端點或邊界點

b) 針對數據結構(如,數組、字符串、堆棧等)進行端點或邊界點

c) 針對狀態的轉換條件(如,閾值判別、區間判別等)進行端點或邊界點

d) 針對狀態的出現概率(如,設備狀態、通訊狀態等)進行小概率極端情況

e) 功能、性能、容量等涉及到的極限情況均視為廣義端點或邊界點

6) 接口測試

a) 接口的信息格式是否正確

b) 外部干擾、丟幀、錯幀、誤碼等異常

c) 接口的時間特性

d) 所有外部接口

e) 軟硬件接口、關注信號觸發類的接口

7) 余量測試

a) 針對時間約束要求,測試出實際執行時間相對于時間約束要求的余量;

b) 針對空間約束要求,測試出實際占用空間相對于空間約束要求的余量;

c) 針對處理約束要求,測試出軟件具備的處理能力相對于處理約束要求的余量;

d) 針對通訊約束要求,測試出數據傳輸吞吐量相對于帶寬的余量;

8) 邏輯測試

程序邏輯結構的合理性、實現的正確性,對程序所有邏輯路徑進行測試,在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致

9) 內存使用缺陷測試

a) 對內存文件存取、數據庫操作、采集、融合、轉換、解析等專門內存的處理功能

b) 對剔除壞數據、數據濾波、數據容錯等數據特殊處理功能進行測試;

c) 針對數據讀取/寫入過程中的容錯、保護、超時等

d) 對大數據處理算法、模型的實現正確性測試

10) 邊界測試

a) 對輸入域或輸出域的端點或邊界點進行測試;

b) 針對數據結構(如,數組、字符串、堆棧等)進行端點或邊界點測試;

c) 針對狀態的轉換條件(如,閾值判別、區間判別等)進行端點或邊界點測試;

d) 針對狀態的出現概率(如,設備狀態、通訊狀態等)進行小概率極端情況的測試;

e) 功能、性能、容量等涉及到的極限情況均視為廣義端點或邊界點進行測試;

11) 人機交互界面測試

a) 依據用戶手冊或操作手冊,逐條驗證文實的一致性;

b) 對界面顯示的符合性、準確性、直觀性等進行測試;

c) 對操作輸入的方便性、健壯性、提示性等進行測試;

d) 對人機交互的友好性、導航性、適宜性等進行測試

12) 強度測試

a) 軟件運行所依賴的外部可變性影響;

b) 控制外部可變性影響條件的范圍變化(如,處理的信息量越來越大、通訊的數據量越來越大、監測報警數越來越多);

c) 控制外部可變性影響條件的頻度變化(如,越來越頻繁的外部錯誤、越來越小的通訊周期、越來越頻繁的中斷信號);

d) 對軟件進行業務流程工作狀態下的規定的長時間連續不中斷運行的測試(并不要求一定運行至出現故障);

e) 當軟件運行環境資源不能保證時,應在測試中逐步惡化運行環境條件;

f) 對具有降級處理能力的軟件。

13) 安全性測試

a) 對軟件安全性需求中確定的與軟件相關的所有故障模式進行逐一測試,驗證軟件處理故障模式的安全性措施正確并有效;

b) 對系統故障后的降級處理能力進行測試;

c) 軟硬件系統中,進行軟硬混合故障模式的測試;

d) 軟件的安全關鍵單元或部件,必須進行安全性測試;

e) 對涉及安全性措施的結構、算法、容錯、冗余及中斷處理等設計,必須進行針對性的測試;

f) 對多點組合故障模式進行測試,并結合各種最壞情況的組合進行測試;

g) 對雙工切換、多機替換等安全性的冗余設計措施進行測試;

h) 對可能的異常事件進行測試,包括:

  1) 可能的硬件異常,如,外設故障等;

  2) 可能的軟件異常,如,程序跑飛等;

  3) 可能的操作異常,如,操作失誤等;

  4) 可能的輸入異常,如,數據丟幀等;

  5) 可能的時序異常,如,控制流程的時間順序紊亂等。

i) 對軟件的信息保密與防護能力進行測試:

  1) 對軟件使用的身份識別、權限保護能力進行測試;

  2) 對重要數據保護能力(如,抗非法訪問能力、加密傳輸能力等)進行測試;

  3) 對軟件和系統被惡意篡改或被攻擊的防護能力進行測試。

14) 恢復性測試

a) 對探測錯誤并通過容錯恢復其正常工作的能力進行測試;

b) 對自復位或備機切換措施恢復繼續工作的能力進行測試;

c) 對系統恢復后,依據記錄數據恢復故障前運行作業、相關數據和系統狀態等能力進行測試;

d) 對恢復時間是否滿足規定要求進行測試。

15) 安裝性測試

a) 對軟件安裝到應用系統中的操作過程進行測試,驗證安裝過程的正確性;

b) 驗證安裝過程與產品規格說明或用戶手冊中所說明的安裝規程是否文實一致;

c) 對軟件卸載功能進行測試,測試卸載后系統中的軟件痕跡是否徹底清除干凈;

d) 對適用于多種操作系統或多種系統配置的軟件,進行各種環境下的安裝性測試;

e) 系統級測試中對應用軟件的部署與撤收進行測試,包括在線升級、數據遷移、系統配置等相關內容的測試。

(1)軟件測試流程

1 .單元測試:完成對最小的軟件設計單元的驗證工作,目標是確保模塊被正確地編碼,使用過程描述作為指南,對重要的控制路徑進行測試以發現模塊內的錯誤。單元測試的內容主要包括:接口測試、內部數據結構、全局數據結構、邊界、語句覆蓋以及錯誤路徑。在單元測試中我們使用白盒、自動、靜態的測試方法。

2 .集成測試:通過測試發現與模塊接口有關的問題,目標是把通過了單元測試的模塊拿來,構造一個在設計中所描述的程序結構,另外,應當避免一次性的集成,而采用增量集成。集成測試采用黑盒、白盒、自動靜態的測試方法。

3 .系統測試:根據軟件需求規范的要求進行系統測試,確認系統滿足需求的要求,系統測試人員相當于用戶代言人,在需求分析階段要確定軟件的可測性,保證有效完成系統測試工作。系統測試號的主要內容是使得所有功能需求得到滿足,所有性能需求得到滿足以及其他需求得到滿足。系統測試采用黑盒、自動、手工的測試方法。

4 .代碼審查:確保已開發軟件的所有文件資料均已編寫齊全,并分類編目。在編程的時候便和開發人員結對,并且提出相關的建議,借助代碼審查工具,來發起代碼審查,然后審慎及仔細的對代碼進行審查,由多位參與者分階段進行。由傳統審查代碼的方式,邀請軟件開發者參加相關會議,一行一行的審查代碼,一般會使用打印好的需求來對代碼進行審查,可以徹底的找到程序中的缺陷。

5 .回歸測試:當發現并修改缺陷后,或者在軟件中添加新功能后,重新測試,用來檢查被發現的缺陷是否被改正,并且所作的修改沒有引發新的問題;回歸測試可以通過人工重新執行測試用例,也可以使用自動化的捕獲回放工具來進行。

(2)軟件測試過程

1 .軟件測試環境:

測試環境(Testing environment)是指測試運行其上的軟件和硬件環境的描述,以及任何其它與被測軟件交互的軟件,包括驅動和樁。測試環境是指為了完成軟件測試工作所必需的計算機硬件、軟件、網絡設備、歷史數據的總稱。

穩定和可控的測試環境,可以使測試人員花費較少的時間就完成測試用例的執行,也無需為測試用例、測試過程的維護花費額外的時間,并且可以保證每一個被提交的缺陷都可以在任何時候被準確的重現。

測試環境=軟件+硬件+網絡+數據準備+測試工具。

2 .測試的基本過程

首先,我們會擬定軟件測試計劃方案,設計和生成測試用列、準備測試數據,執行測試,記錄原始數據,對缺陷進行管理,最后生成軟件測試報告、缺陷的統計和報表。

測試計劃:主要包括時間進度和人員安排、風險管理;測試范圍的確定、測試數據的生成;測試工具、方法的選擇和工具開發;測試完成標準;影響資源分配的特殊考慮。

測試方案:定義被策軟件功能以及相關的測試,并詳細說明測試方法和策略;創建測試解決方案是開始測試設計的第一步。測試方案的定義應當基于需求分析和設計文檔,并遵從測試設計文檔。

測試用例:為實施一次測試而向被測系統提供的輸入數據、操作或各種環境設置;它控制著軟件測試的執行步驟,是對測試方案中每個測試項的進一步實例化。

軟件測試的執行:執行測試用例;記錄原始測試數據;記錄缺陷;對所發現的缺陷進行跟蹤、管理和監控。

測試評估:結合量化的測試覆蓋率及缺陷跟蹤報告,對整個軟件質量、測試工作和軟件 缺陷進行總結;對軟件項目的質量和開發團隊的工作進度以及工作效率進行綜合評價;生成相應的報告或者報表。

測試報告:總結測試的結果,通過與未通過的測試用例,并對被測軟件對象進行評估。

3 .測試的問題級別

測試過程中發現的問題統稱為軟件問題,類別分為:

a) 需求問題:用戶需求、系統需求或軟件需求問題;

b) 設計問題:系統設計或軟件設計問題;

c) 文檔問題:文檔描述問題;

d) 編碼問題:代碼實現問題;

e) 數據問題:數據規格、數量、語義等問題;

f) 其他問題:上述問題之外的問題。

問題等級

軟件問題等級分為重大、嚴重和一般三個等級。測試過程中發現的其他不方便使用或對軟件功能有輕微影響的,可作為改進建議提出。

a) 重大問題:軟件問題導致程序無法繼續運行、喪失主要功能或造成重大損失的,視為重大問題:

導致系統死機、崩潰或異常退出;

主要功能未實現或實現錯誤;

造成人員、XX、環境等重大損失;

重要數據丟失,且很難恢復。

b) 嚴重問題:軟件問題對主要功能性能有較大影響或造成嚴重損失,視為嚴重問題:

沒有完整實現軟件需求,對軟件主要功能性能等有較大影響;

沒有正確實現軟件需求,對軟件主要功能性能等有較大影響;

造成人員、XX、環境等嚴重損失;

重要數據丟失,但能以某種方式恢復;

軟件文檔對主要功能、性能描述缺失或錯誤。

c) 一般問題:軟件問題對功能性能有較小影響或造成一般損失,視為一般問題:

沒有完整實現軟件需求,對軟件主要功能性能影響較小,或對一般功能性能造成影響;

沒有正確實現軟件需求,對軟件主要功能性能影響較小,或對一般功能性能造成影響;

軟件操作與軟件使用說明不符;

軟件文檔存在準確性、一致性、錯別字等影響較小的問題。

(3)測試的管理及分工

測試管理包含對測試計劃與執行用例的創建、編輯、規劃與關聯等功能,讓測試人員可以直接在云效的項目中進行測試工作的規劃和執行進展反饋,并將測試計劃與需求和缺陷一起進行管理。測試管理控制對象的編輯和管理;測試流程控制和管理;統計分析和決策支持。

測試管理過程

測試管理過程是一個從開始到結束管理軟件測試活動的過程。測試管理過程在整個項目周期中提供計劃、控制、跟蹤和監控設施。這個過程涉及幾個活動,如測試計劃,設計和測試執行。它為軟件測試過程提供了一個初步計劃和規范。

測試管理過程有兩個主要部分:計劃、執行

計劃:

1、風險分析

2、測試評估

3、測試計劃

4、測試組織

執行:

1、測試監測和控制

2、問題管理

3、測試報告和評估

風險分析與解決:

風險是由一個給定的行動或活動導致的潛在損失。

風險分析是測試經理在開始任何項目之前應該考慮的第一個步驟。因為所有的項目都可能包含風險,早期的風險檢測和識別其解決方案將幫助測試經理避免未來的潛在損失,并節省項目成本。

測試評估:

估算是一種預測,測試評估是大致確定一項任務需要多長時間完成,估算測試的工作量是測試管理中主要和重要的任務之一。

正確評估的好處:

準確的測試估計能使測試經理關注的任務得到更好的計劃、執行和監控。

允許更準確的調度,幫助更有信心地實現結果。

測試計劃

測試計劃可以被定義為描述測試活動的范圍、方法、資源和時間表的文件。

如果沒有一個完整的測試計劃,一個項目可能會失敗。測試計劃在大型軟件系統開發中尤為重要。

在軟件測試中,測試計劃給出了關于即將進行的測試工作的詳細測試信息,包括。測試策略、測試目標退出/暫停標準、資源規劃、測試交付物。




久久综合丝袜精品东京热_免费一级无码婬片aaa_免费久久的黄片视频_久久精品国产欧美日韩亚洲