1. 14.系統測試方法有哪些
系統測試主要是提高軟體的可靠性、檢測軟體系統是否滿足用戶的規定需要,系統測試方法主要有以下幾種:
1.黑盒測試。系統測試多採用黑盒測試,主要包括多任務測試、臨界測試、中斷測試、等價劃分測試等。
1)多任務測試,是指在非空閑狀態下,即測試對象處於工作狀態時,有新的任務發生,以對軟體系統進行測試。
例如手機在播放音樂時有新電話、新簡訊。多任務測試是一項最基本的測試,也是最容易發現軟體問題的測試,是測試系統模塊之間相互影響的一種重要測試,用來檢測是否出現死機、系統重啟、內存混亂、數據丟失等嚴重後果情況;一般是將測試放在經常使用的模塊組合上,測試時將用戶可能遇到的組合情況考慮進去。
2)臨界測試,在任務、事件剛剛發生或者剛剛結束,儲存系統處於臨界狀態下時進行測試。臨界測試容易發現問題,把握好臨界值,事件發生的開始和結束瞬間以及涉及到內存到內存處於滿和空時臨界測試關注的重點。
3)中斷測試,軟體系統在工作時被意外終止退出,中斷測試有人為中斷、新任務中斷以及意外中斷等幾種情況。
4)等價類劃分,等價類劃分是在測試用例中設計的方法,在組件的等價類中選取典型的點進行測試,比如值是10,選取1、5、9、10,在不同的分值范圍內進行測試。
2.白盒測試。白盒測試也稱結構測試或邏輯驅動測試,是指根據產品系統的內部工作過程,用來檢測產品的內部是否按照規定的動作進行,按照程序內部的結構檢測程序,檢測程序中的每條通路是否都有按照預定要求正確工作,但是不關注產品的功能。
2. 常見的軟體測試安全方法有哪些
從是否關心軟體內部結構和具體實現的角度劃分(按測試分類):白盒測試、黑盒測試、灰盒測試
(1)白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程序內部邏輯結構和編碼結構,設計測試數據並完成測試的一種測試方法。
(2)黑盒測試:又稱為數據驅動測試,把測試對象當做看不見的黑盒,在完全不考慮程序內部結構和處理過程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟體或程序的角度,從輸入數據與輸出數據的對應關系出發進行的測試。
(3)灰盒測試:是一種綜合測試法,它將「黑盒」測試與「白盒」測試結合在一起,是基於程序運行時的外部表現又結合內部邏輯結構來設計用例,執行程序並採集路徑執行信息和外部用戶介面結果的測試技術。
從是否執行代碼角度:靜態測試、動態測試
(1)靜態測試:指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、介面等來檢查程序的正確性。
(2)動態測試:是指通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率、正確性和健壯性等性能指標。
從軟體開發的過程按階段劃分有:單元測試、集成測試、確認測試、系統測試、驗收測試、回歸測試
(1)單元測試:又稱模塊測試,是針對軟體設計的最小單位----程序模塊或功能模塊,進行正確性檢驗的測試工作。其目的在於檢驗程序各模塊是否存在各種差錯,是否能正確地實現了其功能,滿足其性能和介面要求。
(2)集成測試:又叫組裝測試或聯合,是單元測試的多級擴展,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟體單元之間的介面關系,以期望通過測試發現各軟體單元介面之間存在的問題,最終把經過測試的單元組成符合設計要求的軟體。
(3)確認測試:又稱有效性測試。任務是驗證軟體的功能和性能及其它特性是否與用戶的要求一致。對軟體的功能和性能要求在軟體需求規格說明書中已經明確規定。它包含的信息就是軟體確認測試的基礎。
(4)系統測試:是為判斷系統是否符合要求而對集成的軟、硬體系統進行的測試活動、它是將已經集成好的軟體系統,作為基於整個計算機系統的一個元素,與計算機硬體、外設、某些支持軟體、人員、數據等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行一系列的組裝測試和確認測試。
(5)驗收測試:以用戶為主的測試,軟體開發人員和質量保證人員參加,由用戶設計測試用例。不是對系統進行全覆蓋測試,而是對核心業務流程進行測試。
(6)回歸測試:是指修改了舊代碼後,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。
3. 什麼是黑盒測試法,常用的黑盒測試方法有哪些
黑盒測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序介面進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼於程序外部結構,不考慮內部邏輯結構,主要針對軟體界面和軟體功能進行測試。
常用的黑盒測試技術有劃分等價類、邊界值分析法、錯誤推測法、因果圖法、判定表組成法、正交試驗設計、場景法。
(3)系統測試常用的方法擴展閱讀:
黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身設計有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。
採用這種測試方法,測試工程師把測試對象看作一個黑盒子,完全不考慮程序內部的邏輯結構和內部特性,只依據程序的《需求規格說明書》,檢查程序的功能是否符合它的功能說明。測試工程師無需了解程序代碼的內部構造,完全模擬軟體產品的最終用戶使用該軟體,檢查軟體產品是否達到了用戶的需求。黑盒測試方法能更好、更真實地從用戶角度來考察被測系統的功能性需求實現情況。在軟體測試的各個階段,如單元測試、集成測試、系統測試及驗收測試等階段中,黑盒測試都發揮著重要作用,尤其在系統測試和確認測試中,其作用是其他測試方法無法取代的。
4. 黑盒測試的常用方法
功能測試就是對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能。常用的測試方法如下
1. 頁面鏈接檢查:每一個鏈接是否都有對應的頁面,並且頁面之間切換正確。
2. 相關性檢查:刪除/增加一項會不會對其他項產生影響,如果產生影響,這些影響是否都正確。
3. 檢查按鈕的功能是否正確:如update,cancel,delete,save等功能是否正確。
4. 字元串長度檢查: 輸入超出需求所說明的字元串長度的內容,看系統是否檢查字元串長度,會不會出錯.
5. 字元類型檢查: 在應該輸入指定類型的內容的地方輸入其他類型的內容(如在應該輸入整型的地方輸入其他字元類型),看系統是否檢查字元類型,會否報錯.
6. 標點符號檢查: 輸入內容包括各種標點符號,特別是空格,各種引號,回車鍵.看系統處理是否正確.
7. 中文字元處理: 在可以輸入中文的系統輸入中文,看會否出現亂碼或出錯.
8. 檢查帶出信息的完整性: 在查看信息和update信息時,查看所填寫的信息是不是全部帶出.,帶出信息和添加的是否一致
9. 信息重復: 在一些需要命名,且名字應該唯一的信息輸入重復的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入內容的前後輸入空格,系統是否作出正確處理.
10. 檢查刪除功能:在一些可以一次刪除多個信息的地方,不選擇任何信息,按」delete」,看系統如何處理,會否出錯;然後選擇一個和多個信息,進行刪除,看是否正確處理.
11. 檢查添加和修改是否一致: 檢查添加和修改信息的要求是否一致,例如添加要求必填的項,修改也應該必填;添加規定為整型的項,修改也必須為整型.
12. 檢查修改重名:修改時把不能重名的項改為已存在的內容,看會否處理,報錯.同時,也要注意,會不會報和自己重名的錯.
13. 重復提交表單:一條已經成功提交的紀錄,back後再提交,看看系統是否做了處理。
14. 檢查多次使用back鍵的情況: 在有back的地方,back,回到原來頁面,再back,重復多次,看會否出錯.
15. search檢查: 在有search功能的地方輸入系統存在和不存在的內容,看search結果是否正確.如果可以輸入多個search條件,可以同時添加合理和不合理的條件,看系統處理是否正確.
16. 輸入信息位置: 注意在游標停留的地方輸入信息時,游標和所輸入的信息會否跳到別的地方.
17. 上傳下載文件檢查:上傳下載文件的功能是否實現,上傳文件是否能打開。對上傳文件的格式有何規定,系統是否有解釋信息,並檢查系統是否能夠做到。
18. 必填項檢查:應該填寫的項沒有填寫時系統是否都做了處理,對必填項是否有提示信息,如在必填項前加*
19. 快捷鍵檢查:是否支持常用快捷鍵,如Ctrl+C Ctrl+V Backspace等,對一些不允許輸入信息的欄位,如選人,選日期對快捷方式是否也做了限制。
20. 回車鍵檢查: 在輸入結束後直接按回車鍵,看系統處理如何,會否報錯。
5. 常用的軟體測試方法和工具
1、禪道測試管理工具是功能比較全面的測試管理工具,功能涵蓋軟體研發的全部生命周期,為軟體測試和產品研發提供一體化的解決方案,是一款十分優秀的國產開源測試管理工具。
2、LoadRunner是一種預測系統行為和性能的工業標准級負載測試工具。通過模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,它能夠對整個企業架構進行測試。通過LoadRunner ,企業能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。它是一種適用於各種體系架構的自動負載測試工具,它能預測系統行為並優化系統性能。LoadRunner 的測試對象是整個企業的系統,它通過模擬實際用戶的操作行為和實時性能監測,來幫助更快地查找和發現問題。
3、QTP是一個B/S系統的自動化功能測試的利器,軟體程序測試工具。Mercury的自動化功能測試軟體QuickTest Professional ,可以覆蓋絕大多數的軟體開發技術,簡單高效,並具備測試用例可重用的特點。Mercury QuickTest Pro 是一款先進的自動化測試解決方案,用於創建功能和回歸測試。它自動捕獲、驗證和重放用戶的交互行為。 Mercury QuickTest Pro為每一個重要軟體應用和環境提供功能和回歸測試自動化的行業最佳解決方案。
4、Selenium是為正在蓬勃發展的web應用開發的一套完整的測試系統。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。它的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序是否能夠很好的在不同瀏覽器和操作系統上工作。測試系統功能——創建衰退測試檢驗軟體功能和用戶需求。支持自動錄制動作和自動生成。Selenium的核心Selenium Core基於JsUnit,完全由JavaScript編寫,因此可運行於任何支持JavaScript的瀏覽器上,包括IE、Mozilla Firefox、Chrome、Safari等。
6. 常見的黑盒測試方法有哪些
常用的黑盒測試方法有劃分等價類、邊界值分析法、錯誤推測法、因果圖法、判定表組成法、正交試驗設計、場景法。
黑盒測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序介面進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼於程序外部結構,不考慮內部邏輯結構,主要針對軟體界面和軟體功能進行測試。
(6)系統測試常用的方法擴展閱讀:
黑盒測試是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試的。很明顯,如果外部特性本身設計有問題或規格說明的規定有誤,用黑盒測試方法是發現不了的。
採用這種測試方法,測試工程師把測試對象看作一個黑盒子,完全不考慮程序內部的邏輯結構和內部特性,只依據程序的《需求規格說明書》,檢查程序的功能是否符合它的功能說明。測試工程師無需了解程序代碼的內部構造,完全模擬軟體產品的最終用戶使用該軟體,檢查軟體產品是否達到了用戶的需求。黑盒測試方法能更好、更真實地從用戶角度來考察被測系統的功能性需求實現情況。在軟體測試的各個階段,如單元測試、集成測試、系統測試及驗收測試等階段中,黑盒測試都發揮著重要作用,尤其在系統測試和確認測試中,其作用是其他測試方法無法取代的。
7. 軟體系統測試的方法有哪些 優缺點
1、恢復測試
恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤並重新啟動系統。恢復測試首先要採用各種辦法強迫系統失敗,然後驗證系統是否能盡快恢復。對於自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、數據恢復(data recovery)和重新啟動 (restart)等機制的正確性;對於人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。
2、安全測試
安全測試檢查系統對非法侵入的防範能力。安全測試期間,測試人員假扮非法入侵者,採用各種辦法試圖突破防線。例如,①想方設法截取或破譯口令;②專門定做軟體破壞系統的保護機制;③故意導致系統失敗,企圖趁恢復之機非法進入;④試圖通過瀏覽非保密數據,推導所需信息,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的准則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。
3、強度測試
強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。例如,①當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中斷的測試用例;②定量地增長數據輸入率,檢查輸入子功能的反映能力;③運行需要最大存儲空間(或其他資源)的測試用例;④運行可能導致虛存操作系統崩潰或磁碟數據劇烈抖動的測試用例,等等。
4、 性能測試
對於那些實時和嵌入式系統,軟體部分即使滿足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當系統真正集成之後,在真實環境中才能全面、可靠地測試運行性能系統性能測試是為了完成這一任務。性能測試有時與強度測試相結合,經常需要其他軟硬體的配套支持。
8. 軟體測試有哪些常用的測試方法
(1)黑盒測試(black-box testing):只關心輸入和輸出的結果
(2)白盒測試(white-box testing):去研究裡面的源代碼和程序結構
2、按是否運行程序分為:
(1)靜態測試(static testing):是指不實際運行被測軟體,而只是靜態地檢查程序代碼、界面或文檔可能存在的錯誤的過程。
靜態測試包括:
對於代碼測試,主要是測試代碼是否符合相應的標准和規范。
對於界面測試,主要測試軟體的實際界面與需求中的說明是否相符。
對於文檔測試,主要測試用戶手冊和需求說明是否真正符合用戶的實際需求。
(5)動態測試(dynamic testing),是指實際運行被測程序,輸入相應的測試數據,檢查輸出結果和預期結果是否相符的過程
3、按階段劃分:
(1)單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。
樁模塊(stud)是指模擬被測模塊所調用的模塊,驅動模塊(driver)是指模擬被測模塊的上級模塊,驅動模塊用來接收測試數據,啟動被測模塊並輸出結果。
(2)集成測試(integration testing),是單元測試的下一階段,是指將通過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不同模塊的介面部門。
集成測試就是用來檢查各個單元模塊結合到一起能否協同配合,正常運行。
(3)系統測試(system testing),指的是將整個軟體系統看做一個整體進行測試,包括對功能、性能,以及軟體所運行的軟硬體環境進行測試。
系統測試的主要依據是《系統需求規格說明書》文檔。
(4)驗收測試(acceptance testing),指的是在系統測試的後期,以用戶測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟體正式交給用戶使用的最後一道工序。
驗收測試又分為a測試和beta測試,其中a測試指的是由用戶、 測試人員、開發人員等共同參與的內部測試,而beta測試指的是內測後的公測,即完全交給最終用戶測試。
4、黑盒測試分為功能測試和性能測試:
1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟體的功能是否符合用戶的需求。
包括邏輯功能測試(logic function testing)
界面測試(UI testing)UI=User Interface
易用性測試(usability testing):是指從軟體使用的合理性和方便性等角度對軟體系統進行檢查,來發現軟體中不方便用戶使用的地方。
兼容性測試(compatibility testing):包括硬體兼容性測試和軟體兼容性測試
2)性能測試(performance testing)
軟體的性能主要有時間性能和空間性能兩種
時間性能:主要指軟體的一個具體事務的響應時間(respond time)。
空間性能:主要指軟體運行時所消耗的系統資源。
軟體性能測試分為:
一般性能測試:指的是讓被測系統在正常的軟硬體環境下運行,不向其施加任何壓力的性能測試。
穩定性測試也叫可靠性測試(reliability testing):是指連續運行被測系統檢查系統運行時的穩定程度。
負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限范圍之內連續運行,來測試系統的穩定性。
壓力測試(stress testing):是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。(Validate the system or software can allowed the biggest stress.)
5、其他測試類型:
回歸測試(regression testing)是指對軟體的新的版本測試時,重復執行上一個版本測試時的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)
冒煙測試(smoke testing),是指在對一個新版本進行大規模的測試之前,先驗證一下軟體的基本功能是否實現,是否具備可測性。(validate the major function is deployed or not in software of system when a new build or release is implement.)
隨機測試(random testing),是指測試中所有的輸入數據都是隨機生成的,其目的是模擬用戶的真實操作,並發現一些邊緣性的錯誤。(means or all the test data is random, to validate the some edge bugs.)
9. 系統測試包括哪些測試方法
1、恢復測試,恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤並重新啟動系統。恢復測試首先要採用各種辦法強迫系統失敗,然後驗證系統是否能盡快恢復。
2、安全測試,安全測試檢查系統對非法侵入的防範能力。安全測試期間,測試人員假扮非法入侵者,採用各種辦法試圖突破防線。
3、強度測試,強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。
4、性能測試,對於那些實時和嵌入式系統,軟體部分即使滿足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當系統真正集成之後,在真實環境中才能全面、可靠地測試運行性能系統性能測試是為了完成這一任務。