1、軟體測試行業基本介紹
①為什麼需要軟體測試:
(1)一款軟體從無到有會經歷很多的開發階段,由不同的人來進行開發。所以最終產出的軟體功能可能存在問題,為了確保功能可用,必須進行測試。
(2)當前的軟體行業不再是功能為王,使用者不僅僅盯著軟體的功能能否滿足要求,還會對軟體是否容易上手、執行效率是否ok等一系列其他體驗都有了更高的要求,所以這也需要我們對軟體進行大量的測試。
②為什麼選擇軟體測試:
(1)需求大;
(2)希望世界更好。
③為什麼不讓開發自己做測試
(1)當前行業有許多測試人員本身之前都是開發崗;
(2)專業度:軟體測試和軟體開發分別屬於軟體行業當中2個不同的技術方向。所以讓專人做專事對於質量更加***。
(3)思維方式:在軟體的開發周期中,對於程式設計師來說他們大多數的時間都是在思考如何實現具體的軟體功能,而不會去從使用者的角度考慮如何去「奇葩」的使用這些功能。
(4)測試力度:相當於開發來說,產品相當於他們的孩子,所以下手不會那麼狠。
2、軟體測試基本介紹
①軟體測試定義:通過手工或者工具對「被測物件」進行測試操作,從而驗證實際結果與預期結果之間是否存在差異。
②軟體測試的作用
(1)通過測試工作可以發現並修復軟體當中存在的缺陷,從而提高使用者對該產品的使用信心。
(2)測試可以記錄軟體執行過程中產生的一些資料,從而為決策提供資料支援。
(3)測試可以降低同型別產品開發遇到問題的風險。
③測試原則
所謂的測試原則指的就是我們在執行測試工作時必須要遵守的一些規則。
(1)測試證明軟體存在缺陷:無論執行什麼樣的測試操作都能證明當前軟體是有缺陷的。
(2)不能執行窮盡測試:有些功能是沒有辦法將所有的測試情況都羅列出來,所以任何的測試操作都有結束時間。
(3)缺陷存在群集現象:對於軟體功能來說,核心功能佔20%,非核心是80%,在實際工作中,我們會集中測試20%的核心功能,所以這個部分發現缺陷的機率就會高於80%,因此我們就會遇到缺陷都集中在20%功能模組的現象。
(4)某些測試需要依賴特殊的環境
(5)測試應盡早介入:為了更多的發現和更好的解決軟體中的缺陷,我們追求測試工作盡早開展。
(6)殺蟲劑現象:同樣的乙個測試用例不能重複的執行多次,因為軟體會對它產生免疫。
(7)不存在缺陷謬論:任何軟體不可能是完美的。
3、軟體測試物件介紹
對於當前的測試行業來說我們最常測試的主體就是軟體(主體功能),但是需要我們明白的是乙個軟體也不僅僅只有功能需要測試。我們將軟體分為3部分:功能集合+使用說明書+配置資料。
對於一款軟體來說,從無到有需要不同過程,我們可以將這個過程分為不同的階段,每個階段都會有相應的測試物件。
①需求分析階段:各種需求規格說明書。
②軟體架構設計:api介面文件(介面測試)。
③編碼實現階段:源**(白盒測試、單元測試)
④系統功能使用:軟體功能主體(當前行業做的最多的一種測試)
4、測試級別
軟體的開發都會依據相應的開發模型,而測試級別指的就是在這個模型中我們人為定義的開發步驟其中對於測試來說我們最常見的一種級別分類如下:
①單元測試(ut unit test):在軟體測試中,單元指的就是組成軟體最小的底層**結構,一般指的就是類、函式、元件(當下的軟體測試行業,不會刻意要求測試人員對源**進行測試)
②整合測試(it system ingertation test):將多個單元模組組合在一起,然後驗證他們之間溝通的橋梁是否能正常工作(介面測試)
③系統測試(st system test):這是當前行業做的最多的一種測試,由測試人員充當使用者然後對軟體的功能主體進行測試。
④驗收測試
(1)α測試——內測:
(2)β測試——公測
(3)uat(user acceptance test)測試——由客戶派出對於業務非常精通的人員來使用該軟體,從而對功能進行測試。
(4)驗收測試的核心就是讓使用者對當前軟體進行買單。
5、系統測試分類
①功能測試:驗證當前的軟體主體功能是否可用。
②相容性測試:驗證當前軟體在不同的環境下是否還可以使用。
③安全測試:驗證軟體是否只是給授權使用者提供功能使用。
④效能測試:相對於當前軟體消耗的資源它的產出能力。
6、常見的系統測試方法
①按測試物件進行分類
(1)白盒測試:這種測試的主體就是軟體的底層**,不會在意外在的介面是否ok,只要求底層功能實現,同時邏輯正確。
(2)黑盒測試:這種測試就是指測試軟體的外在主體功能是否可用。
(3)灰盒測試:介於兩者之間(介面測試)
(4)盒指的是被測物件。
②按測試物件是否執行分類
(1)靜態測試:指的就是測試不執行。
(2)動態測試:將軟體執行在真實的使用環境中進行測試。
③按測試手段進行分類
(1)手工測試:由測試人員手動的對被測物件進行驗證,優點就是可以靈活的改變測試操作及環境。
(2)自動化測試:所謂的自動化主要有2種,一種是自己寫測試指令碼,另一種就是通過第三方的工具對被測物件進行測試。優點就是可以高效率的去執行一些人工無法實現的操作。
7、軟體質量
描述當前軟體是否好用,在當前的軟體行業裡我們所採用的一套標準是基於iso組織制定的,需要我們記憶的就是軟體質量的六大特性。
①功能性:軟體需要滿足使用者顯式或者隱式的功能。
②易用性:軟體易於學習和上手使用。
③可靠性:指的就是軟體必須實現需求當中指明的具體功能。
④效率性:類似於軟體的效能。
⑤可維護性:要求軟體具有某個功能修復之後繼續使用的能力。
⑥可移植性:當前軟體可以從乙個平台移植到另乙個平台上使用的能力。
功能靠用,效率可移
9、軟體架構
所謂的軟體架構我們可以理解為是用來指導我們軟體開發的一種思想。目前來說最常見的兩種架構模式就是b/s c/s。
b——browser瀏覽器
c——clent客戶端
s——server服務端
①兩種架構的比較
(1)標準:相當於cs架構來說bs架構的兩端都是在使用現成的成熟產品。所以bs會顯示的標準一些。
(2)效率:對於bs架構來說cs中的客戶端可以分擔一些資料的處理,因此執行效率會高一些。
(3)安全:bs架構當中的資料傳輸都是以http協議進行的輸出,而http協議又是明文輸出。可以被抓包,所以相當於cs架構來說bs就顯得不那麼安全(相對的)。
(4)公升級:bs架構只需要在伺服器端將資料進行更新,前台只需要重新整理頁面就可以完成公升級,而cs架構當中需要將兩端都進行更新。
(5)開發成本:相當於bs架構來說cs當中的客戶端需要自己開發,所以相對來說成本會高一些。
10、瀏覽器基本介紹
①瀏覽器:本質就是一款軟體,安裝在作業系統之上。一般給使用者提供瀏覽網頁的服務。目前來說我們會人為的將所有瀏覽器總結出乙個所謂的五大生產廠商。(對於瀏覽器來說最核心的技術就是核心)
②五大瀏覽器生產廠商
(1)ie(微軟)——trident
(2)chrome(谷歌)——blink
(3)firefox(火狐)——gecko
(4)safari(蘋果)——webkit
(5)opera(歐朋)——presto(現在已經放棄自己東西完全轉向chrome)
③常見的型別
(1)jpg(jpeg):這是一種可以高度儲存色彩資訊的格式。
(2)png:該型別的可以實現透明。
(3)gif:所佔體積小。可以實現**。
(4)psd:它是一種分層的。
軟體測試工程師
首先,最根本的還是要看企業自身的需要,綜合自己的測試團隊力量,自己公司的研發狀況,當然還有公司的資金 到底到測試這塊公司願意投入多少money呢?另外要搞清楚自己公司招聘測試人員的目的是什麼?比如,如果公司暫時還沒有測試團隊,這個時候公司剛好有財力,同時研發力量比較大的時候,因為發展的需要,必須要組...
軟體測試工程師
理解產品的功能要求,並對其進行測試,檢查軟體有沒有缺陷,測試軟體是否具有穩定性 安全性 易操作性等效能,寫出相應的測試規範和測試用例的專門工作人員。最重要的客戶是軟體的使用者。測試工程師需要站在客戶的使用和需求角度測試軟體,報告問題。軟體測試只能證明軟體存在錯誤,不能保證軟體沒有錯誤,不可能找出全部...
軟體測試工程師書籍介紹 精華
軟體測試 第2版 英文 介紹 a1 bf dp b0011aebzs 軟體測試 第2版 中文 此2書是軟體測試入門中的入門書,新手必看,想去外企的要中英文結合看,企業級的培訓教材,太經典,太強大 軟體測試技術經典教程 p prodid zjbk556339 評價 經典的培訓教材,有實戰價值,畢竟是培...