殺毒軟件的特點及如何測試?(軟件工程論文作業)
隨著軟件測試技術的發展,測試方法更加多樣化和有針對性。選擇合適的軟件測試方法可以讓我們事半功倍。以下是壹些常用的軟件測試方法:beta test _Beta test beta test,英文是Beta testing。也被稱為Beta測試,用戶接受度測試(UAT)。Beta測試是軟件的多個用戶在壹個或多個用戶的實際使用環境中進行的測試。開發人員通常不在測試現場,Beta測試無法由程序員或測試人員完成。開發和測試基本完成時做的測試,最終的錯誤和問題需要在最終發布前發現。這種測試壹般由最終用戶或其他人員完成,而不是由程序員或測試人員完成。Alpha test _Alpha test alpha test,就是英文中的Alpha testing。也被稱為阿爾法測試。Alpha測試是用戶在開發環境下進行的測試,或者是公司內用戶在模擬實際運行環境下進行的受控測試。Alpha測試不能由系統的程序員或測試人員來完成。在系統開發接近完成時測試應用系統;測試之後,仍然會有壹些設計上的變化。這種測試通常由最終用戶或其他人員完成,而不是由程序員或測試人員完成。英語可移植性測試。也稱為兼容性測試。可移植性測試是指測試軟件能否成功移植到指定的硬件或軟件平臺上。用戶界面測試-UI測試英語用戶界面測試。也稱為UI測試。用戶界面,英文就是用戶界面。指軟件的可視外觀及其與用戶交互的底層部分(菜單、對話框、窗口和其他控件)。用戶界面測試是指測試用戶界面的風格是否符合客戶要求,文字是否正確,頁面是否美觀,圖文結合是否完美,操作是否友好等等。UI測試的目標是通過測試對象的功能,確保用戶界面將為用戶提供相應的訪問或瀏覽功能。確保用戶界面符合公司或行業的標準。包括用戶友好性、人性化和可操作性測試。用戶界面測試用戶分析軟件的用戶界面的設計是否符合用戶的期望或要求。通常包括對菜單、對話框和所有按鈕、文本、錯誤提示、幫助信息(菜單和幫助內容)等的測試。例如,測試用於在Microsoft Excel中插入符號的對話框的大小、所有按鈕是否對齊、字符串的字體大小、錯誤信息的內容和字體大小、工具欄位置/圖標等等。冒煙測試,冒煙測試,英文就是冒煙測試。煙檢的名字可以理解為這種檢測時間短,壹包煙就夠了。有人認為這是對新電路板基本功能檢查的直觀類比。焊接任何新電路板後,首先接通電源。如果有設計缺陷,電路板可能會短路,電路板可能會冒煙。冒煙測試針對每壹個新編譯的需要進行正式測試的軟件版本,目的是確認軟件的基本功能正常,可以用於後續的正式測試。冒煙測試的執行程序是壹個版本編譯器。隨機測試隨機測試,英語是臨時測試。隨機測試是沒有書面測試案例、記錄的預期結果、清單、腳本或說明的測試。主要是根據測試人員的經驗,隨機選擇軟件的功能和性能。隨機測試是按照測試規範進行用例測試的重要補充手段,是保證測試覆蓋完整性的有效方式和過程。隨機測試主要是對被測軟件的壹些重要功能進行重測,也包括對當前測試用例沒有覆蓋到的部分進行測試。此外,還要重點測試軟件更新和新增功能。重點關註壹些特殊點,特殊使用環境,並發,檢查。特別是對於之前測試中發現的重大bug,可以和回歸測試壹起進行重新測試。本地化測試,本地化測試,英文就是本地化測試。本地化就是改變軟件版本的語言,比如把英文windows改成中文windows就是本地化。本地化測試的目標是軟件的本地化版本。本地化測試的目的是在特定的目標地區測試軟件本地化的質量。本地化測試的環境是在本地化的操作系統上安裝本地化的軟件。從測試方法上,可分為基本功能測試、安裝/卸載測試和本地軟硬件兼容性測試。測試的內容主要包括軟件本地化後的界面布局和軟件翻譯的語言質量,包括軟件、文檔和在線幫助。本地化能力測試本地化能力測試,英語是本地化測試。本地化能力測試是指在不重新設計或修改代碼的情況下,將程序的用戶界面翻譯成任何目標語言的能力。為了降低本地化能力測試的成本,提高測試效率,本地化能力端通常在軟件的偽本地化版本上進行。在本地化能力測試中發現的典型錯誤包括:字符的硬編碼(即將軟件中需要本地化的字符寫在代碼中),為需要本地化的字符長度設置固定值,軟件運行時通過控件的位置定位,圖標和位圖包含需要本地化的文本,軟件的用戶界面與文檔術語不壹致。國際測試國際測試,英語就是國際測試。也稱為國際支持測試。國際化測試的目的是測試軟件的國際化支持能力,發現軟件國際化的潛在問題,確保軟件能夠在全球不同地區正常運行。國際化測試使用每壹種可能的國際輸入類型來檢查產品是否根據任何文化或區域設置正常運行。軟件國際化測試的重點是執行國際字符串的輸入/輸出功能。國際化測試數據必須包含東亞語言、德語、復雜腳本字符和(可選)英語混合字符。國際支持測試(International support testing)是指驗證軟件程序能夠在不同國家或地區的平臺上按預期運行,也能夠按照原設計尊重和支持使用當地通用的日期、字體、文本表示、特殊格式等。比如在英文版的Windows XP和Microsoft Word中可以顯示阿拉伯字符串嗎?阿拉伯語字符串可以用阿拉伯語版的Windows XP和阿拉伯語版的Microsoft Word顯示嗎?再比如,日文版的Microsoft Excel對話框是否顯示正確翻譯的日語?曾經,執行國際支持測試的測試人員往往需要基本了解這些國家或地區的語言要求和預期行為。安裝測試安裝測試,英語是安裝測試。安裝測試是確保軟件在正常和異常情況下都能安裝的測試,如首次安裝、升級、完整或定制安裝。例外情況包括磁盤空間不足、缺少目錄創建權限和其他情況。安裝後立即驗證軟件是否可以正常運行。安裝測試包括測試安裝代碼和安裝手冊。安裝手冊提供了如何安裝,安裝代碼提供了安裝壹些程序運行的基礎數據。白盒測試。結構測試。邏輯驅動測試。也稱為結構測試或邏輯驅動測試。白盒測試是將測試對象視為壹個開放的盒子。使用白盒測試方法進行動態測試時,需要測試軟件產品的內部結構和處理過程,不需要測試軟件產品的功能。白盒測試方法的覆蓋標準包括邏輯覆蓋、循環覆蓋和基本路徑測試。邏輯覆蓋包括語句覆蓋、決策覆蓋、條件覆蓋、決策/條件覆蓋、條件組合覆蓋和路徑覆蓋。白盒測試是了解產品的內部工作過程,可以用來測試產品的內部動作是否按照規範正常進行。根據程序的內部結構測試程序,檢查程序中的各個通道是否能按照預定的要求正確工作,而不管其功能如何。白盒測試的主要方法有邏輯驅動、基路測試等。,主要用於軟件驗證。白盒測試常用的工具有:Jtest、VcSmith、Jcontract、C++ Test、CodeWizard和logiscope。黑盒測試-功能測試-黑盒測試黑盒測試,英語。也稱為功能測試或黑盒測試。黑盒測試是根據軟件的規格來測試軟件。這種測試不考慮軟件的內部運行原理,所以軟件對用戶來說就像壹個黑匣子。軟件測試人員站在用戶的角度,通過各種輸入,觀察軟件的各種輸出結果來發現軟件的缺陷,而不關心程序是如何實現的。黑盒測試的常用工具有:AutoRunner、winrunner和loadrunner。自動化測試Automated Testing,英文是automated testing。自動測試工具用於測試。這種測試壹般不需要人工幹預,通常用於GUI、性能和功能測試。測試過程的自動化是通過記錄測試腳本然後執行測試腳本來實現的。國內領先的自動化測試服務提供商是澤中軟件。自動化測試工具包括AutoRunner和TAR。回歸測試回歸測試,英文就是回歸測試。回歸測試是指在修改後重新測試之前的測試,以確保修改的正確性。理論上,當壹個新版本的軟件產生時,需要進行回歸測試,以驗證之前發現並修復的錯誤是否在新的軟件版本中再次出現。根據修復後的缺陷重新測試。回歸測試的目的是驗證之前出現過但已經修復的缺陷不會再次出現。壹般來說,它是指當壹個已知的已糾正的缺陷最初出現時,圍繞這些步驟重新測試它。通常很難確定所需復驗的範圍,尤其是當產品發布日期臨近時。因為必須修改源代碼才能糾正缺陷,所以可能會影響這部分源代碼所控制的功能。因此,在驗證修復後的缺陷時,不僅要重新測試缺陷最初出現時的步驟,還要測試所有可能受到影響的功能。因此,應該鼓勵所有回歸測試用例的自動化測試。驗收測試驗收測試,英文就是驗收測試。驗收測試是指系統開發生命周期方法論的壹個階段,相關用戶或獨立測試人員根據測試計劃和結果對系統進行測試和接收。它允許系統用戶決定是否接收系統。它是確定產品是否能滿足合同或用戶規定的要求的測試。驗收測試壹般有三種策略:正式驗收、非正式驗收、現場Alpha測試和Beta測試。動態測試動態測試,英文就是力矩測試。動態測試是指通過運行軟件來測試軟件的動態行為和運行結果的正確性。根據動態測試在軟件開發過程中所處的階段和所起的作用,動態測試可以分為以下幾個步驟:1、單元測試2、集成測試3、系統測試4、驗收測試5、回歸測試探索性測試英文。探索性測試通常用於沒有產品規格說明的測試,要求把軟件當作產品規格說明,壹步壹步地探索軟件特性,記錄軟件實現,詳細描述功能,綜合運用靜態和動態技術進行測試。探索性測試人員僅僅依靠智能、洞察力和經驗來判斷bug的位置,因此探索性測試也稱為自由形式測試。單元測試單元測試,英文就是單元測試。單元測試是最小規模的測試;測試函數或代碼塊。它通常由程序員而不是測試人員來完成,因為它需要知道內部編程和編碼的細節。這項工作不容易做好,除非應用系統有壹個設計良好的架構;可能還需要開發測試驅動程序模塊或測試套件。集成測試Integration Testing,英文是integration testing。集成測試是指對壹個應用系統的各種組件進行聯合測試,以確定它們是否能在壹起* * *並且與工作沒有沖突。組件可以是代碼塊、獨立的應用程序、網絡上的客戶端或服務器端程序。這種類型的測試尤其適用於客戶端服務器和分布式系統。在壹般集成測試之前,需要完成單元測試。集成測試是單元測試的邏輯擴展。最簡單的形式是將兩個被測試的單元組合成壹個組件,並測試它們之間的接口。在這個意義上,組件指的是多個單元的集成和聚合。實際上,許多單元被組合成組件,這些組件被聚合成程序的更大部分。方法是測試片段的組合,最後擴展過程用其他組的模塊測試妳的模塊。最後,組成流程的所有模塊壹起測試。此外,如果程序由多個進程組成,您應該成對測試它們,而不是同時測試所有進程。綜合測試識別組合單元中的問題。通過使用要求在組合單元之前測試每個單元並確保每個單元的可行性的測試計劃,我們可以知道在組合單元期間發現的任何錯誤都可能與單元之間的接口有關。這種方法將可能出現的情況減少到壹個更簡單的分析層次系統測試系統測試。系統測試是基於系統總體需求規格的黑盒測試,應該覆蓋系統的所有組合組件。系統測試是對整個產品系統的測試,目的是驗證系統是否滿足需求規格說明書的定義,找出與需求規格說明書不壹致或矛盾的地方。系統測試的對象不僅包括被測產品系統的軟件,還包括軟件所依賴的硬件、外設甚至壹些數據、壹些支撐軟件及其接口。因此,需要將系統中的軟件與各種依賴資源結合起來,在系統的實際運行環境中進行測試。端到端測試。端到端測試類似於系統測試,是測試級別的壹個“宏大”端點,涉及整個應用系統環境在真實世界中使用時的模擬情境的所有測試。例如,與數據庫對話、通過網絡通信、或與外部硬件、應用系統或適當的系統對話。端到端架構測試包括所有接入點的功能測試和性能測試。端到端架構測試本質上是壹種“灰盒”測試,壹種結合了白盒測試和黑盒測試優點的測試方法。聲音測試聲音測試,英語是心智健全測試。聲音測試是指最初的測試工作,以確定壹個新的軟件版本測試是否足以執行下壹個大的測試功能。比如,如果每5分鐘就有壹個新版本的軟件與系統發生沖突,使得系統深陷泥潭,說明這個軟件還不夠“健全”,目前不具備進壹步測試的條件。失敗測試,英語中的失敗測試。失敗測試是指軟件或環境修復或糾正後的“重新測試”。可能很難確定重新測試的次數。尤其是在開發周期接近尾聲的時候。自動測試工具對於這種測試特別有用。接受測試,接受英語測試。驗收測試是基於客戶或最終用戶的規範,或基於用戶使用壹段時間後軟件是否滿足客戶要求的最終測試。壹般從功能、用戶界面、性能、業務相關性等方面進行測試。負載測試負載測試,英文是Load testing。負載測試是測試應用程序在高負載下的性能。例如,當壹個網站負載很大時,系統的響應會變差或失效,從而發現設計錯誤或驗證系統的負載能力。在這種測試中,會讓測試對象承擔不同的工作負載,從而評估和評價測試對象在不同工作負載條件下的性能和行為及其持續正常運行的能力。負載測試的目標是確定並確保系統在超過最大預期工作負載時仍能正常運行。此外,負載測試還評估性能特征,如響應時間、事務速率和其他與時間相關的方面。強行測試強行測試,英語就是強行測試。當交替進行負載和性能測試時,強制測試是壹個常用術語。它還用於描述測試,如異常過載下的系統功能測試,如大量重復的動作或輸入、大量數據輸入、對數據庫系統的大量復雜查詢等。壓力測試英語壓力測試。這類似於負載測試。壓力測試是壹種基本的質量保證行為,是每壹項重要軟件測試工作的壹部分。壓力測試的基本思想很簡單:不是在正常情況下運行手動或自動測試,而是在計算機較少或系統資源不足的情況下運行測試。通常,壓力測試的資源包括內存、CPU可用性、磁盤空間和網絡帶寬。通常,並發用於壓力測試。性能測試性能測試,英文就是性能測試。性能測試是交替負載和強制測試時的壹個常用術語。理想的“性能測試”(以及其他類型的測試)應該在需求文檔或者質量保證和測試計劃中定義。性能測試壹般包括負載測試和壓力測試。通常驗證軟件在正常環境和系統條件下重復使用後性能是否能滿足性能指標。或者新版本在執行相同任務時不比舊版本慢。壹般還會檢查運行程序時系統的內存容量是否會丟失。比如驗證器保存了壹個巨大的文件,新版本不比舊版本慢。可用性測試可用性測試是英語中實用的可用性測試。可用性測試是對“用戶友好性”的測試。顯然,這是主觀的,取決於目標最終用戶或客戶。可以使用用戶訪談、調查、用戶對話視頻和其他技術。程序員和測試人員通常不適合做可用性測試人員。卸載測試卸載測試,英文就是卸載測試。卸載測試是對軟件的全部、部分或升級卸載過程的測試。主要是測試軟件是否可以卸載,卸載是否幹凈,系統是否有改動,系統中的殘留以及後期如何處理生成的文件。以及原始的改變的系統值是否被修改以回到恢復測試。恢復測試是測試壹個系統是否能很好地從以下災難中恢復,如系統崩潰、硬件損壞或其他災難性問題。恢復測試是指通過人為造成軟件(或硬件)失效來檢測系統能否正確恢復,通常關註恢復所需的時間和恢復的程度。恢復測試主要檢查系統的容錯能力。當系統出現問題時,能否在指定的時間間隔內糾正錯誤並重啟系統?恢復測試首先要采用各種方法迫使系統失效,然後驗證系統能否盡快恢復。對於自動恢復,有必要驗證重新初始化、檢查點機制、數據恢復和重啟的正確性。對於人工幹預的修復系統,需要估計平均修復時間,以確定其是否在可接受的範圍內。安全測試安全測試,英語就是安全測試。安全測試是測試系統如何防止未經授權的內部或外部用戶訪問或破壞。這可能需要復雜的測試技術。安全測試檢查系統防止非法入侵的能力。在安全測試中,測試人員偽裝成非法入侵者,試圖通過各種方法突破防線。比如:①嘗試截取或破譯密碼;(2)定制軟件銷毀系統的保護機制;(三)故意造成系統故障,並在恢復時企圖非法進入的;(4)試圖通過瀏覽非機密數據推斷出所需信息,等等。理論上,只要有足夠的時間和資源,不存在無法訪問的系統。因此,系統安全設計的準則是使非法入侵的成本超過受保護信息的價值。此時,非法入侵者已無利可圖。兼容性測試兼容性測試,英文就是兼容性測試。兼容性測試是在特定的硬件/軟件/操作系統/網絡環境下測試軟件的性能。向上兼容與向後兼容,軟件兼容與硬件兼容。關於軟件的兼容性有很多考慮。對比測試對比測試,英語就是對比測試。對比測試是指將產品與競爭對手進行對比測試,如軟件的弱點、優點或長處。取長補短,提升產品競爭力。可接受性測試可接受性測試,英語是可接受性測試。可接受性測試是在將經過測試的版本交付給測試部門進行廣泛測試之前,對最基本的功能進行的簡單測試。因為在將測試過的版本交付給測試部門進行廣泛測試之前,應該驗證該版本對於測試過的功能來說是基本穩定的。必須滿足壹些最低要求。比如程序不容易掛起或者崩潰。如果壹個新版本沒有通過可測試性驗證,測試部門應該被阻止在測試版本上花費時間測試。同時也要找出造成這個版本不穩定的主要缺陷,督促盡快改正。邊界條件測試,在英語中,是邊界測試。也稱為邊界值測試。黑盒測試法是對適度等價類分析法的補充,從長期的測試經驗可知,大量的錯誤發生在輸入或輸出的邊界。因此,針對各種邊界條件設計測試用例可以找出更多的錯誤。邊界條件測試是圍繞邊界值的測試。通常是指測試軟件的各個功能是否能正確處理設計的軟件所能處理的最大值、最小值或最長字符串等等。實力測試實力測試,英語就是實力測試。健壯測試通常驗證軟件的性能在各種極端環境和系統條件下是否仍能正常工作。或者驗證軟件性能在各種極端環境和系統條件下的耐久性。比如在最低硬盤空間或系統內存容量的情況下,驗證程序在重復打開保存壹個巨大的文件1000次後不會崩潰或死機。組裝/安裝/配置測試組裝/安裝/配置測試是驗證軟件程序在不同廠商的硬件上、不同語言支持的平臺上、不同方式安裝的軟件上,都能按預期正確運行。比如在韓文版的Windows Me上安裝英文版的Microsoft Office 2003,然後驗證各項功能運行正常。靜態測試靜態測試,英語就是靜態測試。靜態測試是指對不運行的部分進行測試,比如測試產品手冊,檢查和審核。靜態法是指在不運行程序本身的情況下,僅通過分析或檢查源程序的語法、結構、過程和接口來檢查程序的正確性。靜態法通過對程序靜態特性的分析,找出缺點和可疑點,如參數不匹配、循環嵌套和分支嵌套不恰當、不允許的遞歸、未使用的變量、空指針引用和可疑計算等。靜態測試結果可以用於進壹步的錯誤檢測,並為測試用例的選擇提供指導。靜態測試的常用工具有:Logiscope,PRQA;;隱藏數據測試隱藏數據測試是軟件驗收和確認階段非常必要和重要的壹部分。程序的質量不僅由用戶界面的可視數據來驗證,還必須包括遍歷系統的所有數據。假設壹個應用程序要求用戶用兩條信息創建壹個帳戶——用戶名和密碼。這個用戶輸入這兩段數據並保存它們。最後,通過在數據庫中查找這些數據,壹個確認窗口將向用戶顯示用戶名和密碼。為了驗證所有數據都保存正確,QA測試人員將在確認窗口中檢查用戶名和密碼。如果他們成功了呢?假設數據庫記錄了第三條信息——創建日期,它可能不會出現在確認窗口中,而只會出現在存檔中。如果創建日期保存不正確,QA測試人員只驗證屏幕上的數據,那麽就不能發現這個問題。創建日期可能是壹個bug。因為用戶帳戶在數據庫中保存了不正確的日期,這個問題不太可能被註意到,因為它被用戶界面隱藏了。這只是壹個簡單的例子,但是它演化出了壹個觀點:隱藏數據測試的重要性。等價劃分測試等價劃分測試是英語。等價劃分測試是壹種根據等價類設計測試用例的技術。是黑盒測試的典型方法之壹,通過將被測程序所有可能的輸入數據字段分成幾個部分。從每壹部分中選取幾個有代表性的數據作為測試用例,可以有效地減少測試的數量,大大提高軟件測試的效率,縮短軟件開發周期。等價類劃分測試的目的是在測試資源有限的情況下,用少量的代表性數據獲得更好的測試結果。有效等價類框無效等價類。有效等價類中的數據代表壹組滿足需求文檔的正確且有意義的數據。無效等價類則相反。決策表(Decision table)決策表(Decision table)是英文中的壹種表格,用於顯示條件以及由條件引起的動作的集合。定義:決策表是分析和表達多邏輯條件下不同操作的工具。決策表的優點:可以根據各種可能的情況列出所有復雜的問題,簡明扼要,避免遺漏。因此,利用決策表可以設計出壹套完整的測試用例。在壹些數據處理問題中,有些運算的實現依賴於多個邏輯條件的組合,即對不同邏輯條件的組合值進行不同的運算。決策表非常適合處理這類問題。深度測試是指執行壹個產品的壹個特性的所有細節,但不是測試所有的特性。當比較函數返回true時,顯示效果。#必須啟用深度測試才能執行測試。不用的時候需要關掉。基於設計的測試(Design-based testing)基於設計的測試(design-based testing)的英文單詞是design-based testing,是壹種根據軟件架構或詳細設計來繪制測試用例的方法。設計了壹個基於模型的測試系統,MATIS。該方法利用用戶界面的自動生成方法,將設計模型中的類屬性定義和實現中的控件屬性組織在壹起,構造描述界面的邏輯對照表,輔助測試腳本引擎執行自動測試腳本。借助設計模型中擴展的類定義,MATIS方法可以自動生成測試用例及測試數據。