軟件測試是什麼?通過測試發現軟件中存在的不足是其中一個內容,測試軟件的技術分為兩種,一是黑盒測試,二是白盒測試。通過黑盒和白盒進行不同類型的測試可以發現軟件中存在的不足,以讓軟件開發工程師再次進行完善。
軟件測試包括哪些工作內容呢?除了要測試軟件的不足,還要分析軟件質量的好壞,需要根據測試的結果來分析,計算出軟件的缺陷率和缺陷分佈的情況,以及提出對軟件修復的趨勢等。測試工程師需要給出軟件各種質量特性的具體度量,比如功能性、可靠性以及易用性等,並得出結論提交給軟件開發工程師。
數據與數據庫完整測試是指測試關係型數據庫完整性原則以及數據合理性測試。
數據庫完整性原即:
主碼完整性:主碼不能為空;
外碼完整性:外碼必須等於對應的主碼或者為空。
數據合理性指數據在數據庫中的類型,長度,索引等是否建的比較合理。
白盒測試是基於代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發工具中的單步調試來判斷軟件的質量。白盒測試分為動態白盒測試和靜態白盒測試。
功能測試指測試軟件各個功能模塊是否正確,邏輯是否正確。
這種測試的目標是核實數據的接受、處理和檢索是否正確,以及業務規則的實施是否恰當。此類測試基於黑盒技術,該技術通過圖形用戶界面(GUI)與應用程序進行交互,並對交互的輸出或結果進行分析,以此來核實應用程序及其內部進程。
UI測試指測試用戶界面的風格是否滿足客戶要求,文字是否正確,頁面美工是否好看,文字,圖片組合是否完美,背景是否美觀,操作是否友好等等
性能測試主要測試軟件測試的性能,包括負載測試,強度測試,數據庫容量測試,基準測試以及基準測試。
安全性和訪問控制測試側重於安全性的兩個關鍵方面:
應用程序級別的安全性,包括對數據或業務功能的訪問
系統級別的安全性,包括對系統的登錄或遠程訪問。
故障轉移和恢復測試指當主機軟硬件發生災難時候,備份機器是否能夠正常啟動,使系統是否可以正常運行,這對於電信,銀行等領域的軟件是十分重要的。
故障轉移測試可確保:對於必須持續運行的系統,一旦發生故障,備用系統就將不失時機地頂替發生故障的系統,以避免丟失任何數據或事務。
恢復測試是一種對抗性的測試過程。在這種測試中,將把應用程序或系統置於極端的條件下(或者是模擬的極端條件下),以產生故障(例如設備輸入/輸出(I/O)故障或無效的數據庫指針和關健字)。然後調用恢復進程並監測和檢查應用程序和系統,核實應用程序或系統和數據已得到了正確的恢復。一定要注意主備定時備份。
引入缺陷分析
在業界首先將各種有效的缺陷分析模型引入到該軟件平臺中,包括ODC分析、Gompertz分析、Rayleigh分析、四象限分析、缺陷注入分析、DRE/DRM等工程方法;
利用理論分析
建立了測試分析和設計的理論框架和一整套工程方法,能夠很好的支撐測試的輔助分析和設計;
建立測試關係
建立開發需求項-》測試項-》測試子項-》測試用例-》缺陷的測試跟蹤關係,能夠及時的反應開發需求和設計的變更對測試的影響範圍,保證軟件的一致性和測試的充分性,從而保證軟件的質量;
單元測試又稱為模塊測試,是針對軟件設計的最小單位程序模塊進行正確性檢查的測試工作,單元測試需要從程序內部結構出發設計測試用例,多個模塊可以平行地獨立進行單元測試。
(一)單元測試的內容:
1、模塊接口測試
應對通過所測模塊的數據流進行測試
調用所測模塊時的輸入參數與模塊的形式參數的個數、屬性和順序是否匹配
所測模塊調用子模塊時,輸入子模塊的參數與子模塊的形式參數在個數、屬性和順序上是否匹配。
輸出給標準函數的參數的個數、屬性和順序是否正確。
全局變量的定義在各個模塊中是否一致。
當模塊通過外部設備進行輸入/輸出操作,文件屬性是否正確、open和close語句是否正確,規定的I/O格式說明與I/O語句是否匹配;緩衝區容量是否與記錄長度匹配,在讀寫之前是否打開了文件,讀寫之後是否關閉了文件,對I/O錯誤是否做了處理。
2、局部數據結構測試
局部數據結構是最常見的錯誤來源
不一致的數據類型
不正確或不一致的數據說明
使用尚未賦值或尚未初始化的變量
錯誤的初始值或錯誤的缺省值
3、路徑測試
運算的優先次序、常見的比較和控制流
4、錯誤處理測試
遇見出錯的條件,並設置適當的出錯處理
5、邊界測試
例如循環的次數,最大或最小值
模塊組裝成系統的方式:一次性組裝方式和增殖式組裝方式
(一)一次性組裝方式
先對模塊分別進行測試,再把所有模塊組裝進行測試
缺點:發現錯我不容易定位
(二)增值式組裝測試
先對一個個模塊進行模塊測試,然後將這些模塊逐步組裝成系統,分為兩種方式:自頂向下的增殖方式和自底向上的增殖方式
1、自頂向下的增殖方式
將模塊銨系統程序結構,嚴控制層次自頂向下進行組裝。
2、自底向上的增殖方式
由驅動模塊控制最底層模塊的並行測試。
3、混合增殖式
自頂向下增殖方式:
優點:能夠較早的發現主要控制方面的問題
缺點:需要建立樁模塊,增加了一些附加的測試,涉及算法和輸入輸出的模塊一般在底層,這些底層模塊要到組裝和測試的後期才能發現。一旦發現問題就會出現過多的迴歸測試。
自底向上增殖方式:
優點:不需要建立樁模塊,建立驅動模塊要比建立樁模塊要簡單得多,同時涉及到算法已近輸入輸出的模塊要先測試,把最容易出現問題的部分在早期解決。
缺點:程序一直未能作為一個實體存在,直到最後一個模塊加上才能形成一個實體,控制方面最後才能接觸。
(三)集成測試完成的標誌
1、成功執行了測試計劃中規定的所有集成測試
2、修改了所發現的錯誤
3、測試結果通過專門小組的評審
4、集成測試需要提交的測試報告:
5、集成測試計劃、集成測試規格說明書以及集成測試分析報告
確認測試的結果有兩種可能,一種是功能和性能指標滿足軟件需求說明的要求,用戶可以接受;
另一種是軟件不滿足軟件需求說明的要求,用戶無法接受。項目進行到這個階段才發現嚴重錯誤和偏差一般很難在預定的工期內改正,因此必須與用戶協商,尋求一個妥善解決問題的方法
(二)軟件配置複查
保證軟件配置的所有成分齊全,質量都符合要求。應該遵守用戶手冊和操作手冊中的規定步驟。
軟件作為計算機系統的一部分,與硬件、網絡、外設、支撐軟件、數據以及人員結合在一起,在實際或模擬環境下,對計算機系統進行測試,目的在於與系統需求比較,發現問題
以用戶為主的測試,軟件開發人員和質量保證人員參加,由用戶設計測試用例。不是對系統進行全覆蓋測試,而是對核心業務流程進行測試。
對軟件測試有興趣的朋友可以私信我,618活動很大,對想學習的可以省不少錢。