- QTP自動化測試進階
- 陳能技編著
- 1025字
- 2018-12-30 11:16:52
1.1 軟件缺陷與軟件測試
在軟件測試領域,至今為止,還沒有一種有效的缺陷檢測機制,可以完全發現所有的缺陷。因為軟件缺陷與硬件缺陷存在很多不同之處。
1.1.1 軟件缺陷與硬件缺陷的異同
軟件缺陷與硬件缺陷一樣,會對產品的使用方造成困擾。但是軟件缺陷在一般情況下,不會對用戶造成直接的人身傷害,所以很多人沒有意識到軟件缺陷的危害性和嚴重性。然而,在一些依賴軟件進行業務處理的領域,軟件缺陷可能造成重大的經濟損失,甚至危及人身安全,例如,2007 年 4 月,某個軟件缺陷導致某地鐵系統的列車火災,軟件未能檢測和防止剩余動力在設備中的使用,導致列車過熱而起火。
美國標準和技術研究機構(National Institute of Standards and Technology)在2002年公布的一項關于軟件缺陷引起的經濟損失的報告中的數據表明:由于軟件缺陷造成的美國經濟損失高達595億美元。
因此,軟件缺陷與硬件缺陷一樣,可能會對用戶造成重大的損失,人們需要像對待硬件缺陷一樣重視軟件缺陷。很多硬件缺陷的出錯模式是可以預見的,而軟件缺陷的可預見性則沒有那么強。軟件缺陷的一個重要特點是它的隱蔽性,由于軟件的復雜度高、狀態空間廣闊,因此,要覆蓋軟件所有可能的行為幾乎是不可能的。
1.1.2 如何通過軟件測試發現軟件缺陷
為了解決軟件缺陷帶來的困擾,人們仍然在不斷地尋找有效發現軟件錯誤的方法,手工測試仍然是主要的查找錯誤的方式,自動化測試能部分地解決覆蓋面的問題和測試效率的問題,但是不能從根本上解決問題。
不能單靠軟件測試來保證軟件不出錯,軟件測試僅僅是發現軟件缺陷的一種手段而已。在軟件測試人員的角色出現之前,是由開發人員來負責缺陷控制的,而開發人員往往停留在“調試”階段的測試水平,在代碼調試通過后,往往不會花太多專門的時間來發現缺陷。而且,開發人員一般不習慣于對自己的代碼進行批判性的檢查,很多時候,對自己編寫的代碼過于自信,因此,很多缺陷就留待用戶來發現了。
由于軟件測試是比較直接的發現軟件缺陷的手段,因此也就成為了軟件缺陷控制的主要手段。測試人員通過研究軟件產品的需求,以及用戶的實際業務場景,設計出各種測試用例,通過執行測試用例,判斷被測試的應用程序是否滿足用戶需求。
執行測試用例的過程可以是一個手動的過程,也可以是一個自動化的過程。如果把這些測試用例轉換成一個可被自動化測試工具執行的腳本,則成為一個自動化測試用例。
測試用例大體分為兩種類型:一種是用于驗證軟件的功能是正確的;另一種是用于證明軟件是錯誤的。兩種類型的測試用例都可以轉化成自動化測試腳本,使用自動化的方式執行。
- 數據庫原理及應用(Access版)第3版
- 大學計算機應用基礎實踐教程
- Web Scraping with Python
- 從程序員到架構師:大數據量、緩存、高并發、微服務、多團隊協同等核心場景實戰
- ASP.NET 3.5程序設計與項目實踐
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- C語言程序設計簡明教程:Qt實戰
- JavaScript程序設計:基礎·PHP·XML
- FFmpeg開發實戰:從零基礎到短視頻上線
- 貫通Tomcat開發
- AMP:Building Accelerated Mobile Pages
- NGUI for Unity
- 計算語言學導論
- 從零開始學Python大數據與量化交易
- AutoCAD基礎教程