1.1軟件測試行業基本介紹
一、為什么需要軟件測試
1.一款軟件從無到有會經歷很多的開發階段由不同的人來參與開發,所以最終產出的軟件功能可能會存在問題。因此為了保證軟件的功能是可用的,我們必須要進行測試。
2.當前的軟件件行業已經不在是功能為王了,用戶不僅僅只盯着軟件的功能是否滿足需求, 還會對軟件是否容易上手,執行效率是否 OK .....等一系列其它體驗都有了更高的要求,所以 這也需要我們對軟件進行大量的測試。
二、為什么選擇軟件測試
1. 國內的軟件行業對於專業的軟件測試人員需求是慢慢變大。
2. 有些人喜歡創造世界所以他們做了開發, 而我們就是希望這個世界變得更加美好所以做了測試。
三、為什么不讓開發自已做測試
1.當前行業有許多的測試從業人員本身之前都是開發崗。
2.專業度:軟件測試和軟件開發分別屬於軟件行業當中二個不同的技術方向。所以讓專人做專事對於質量更加有保證。
3.思維定式: 在軟件的開發周期中 對於程序員來說他們大多數的時間都是在思考如何實現具體的軟件功能,而不會去從用戶的角度考慮如何去"奇葩"的使用這些功能。
4.測試力度: 相對於開發來說,產器就相當於是他們的"孩子"。所以"下手"就不會那么狠。

1.2 軟件測試基本介紹
一、軟件測試定義
通過手工或者工具對 "被測對象"進行測試操作,從而驗證實際結與預期結果之間是否存在差異。
二、軟件測試的作用
1.通過測試工作可以發現並修復軟件當中存在的缺陷,從而提高用戶對產品的使用信心。
2.測試可以記錄軟件運行過程中產生的一些數據,從而為決策提供數據支持。
3.測試可以降低同類型產品開發遇到問題的風險。
三、測試原則:
所謂的測試原則指的就是我們在執行測試工作時必須要遵守的一些規則。
1.測試證明軟件存在缺陷:無論執行什么樣的測試操作都保能證明當前軟件是有缺陷的。
2.不能執行窮盡測試:有些功能是沒有辦法將所有的測試情況都邏列出來,所以任何的測試操作都有結束的時間。
3.缺陷存在群集現象:對於軟件功能說,核心功能占 20%,非核心是 80%。在實際工作中我們會集中測試 20%的核心功能,所以這個部分發現缺陷的幾率就會高於 80%。因此我們我們就會遇到缺陷都集中在 20% 功能模塊里的現象。
4.某些測試需要依賴特殊的環境
5.測試應盡早介入:為了更多的發現和更好的解決軟件中的缺陷,我們追求測試工作盡早的開展。
6.殺蟲劑現象:同樣的一個測試用例不能重的執行多次,因為軟件會對它產生免疫。
7.不存在缺陷謬論:任何軟件不可能是完美的。
1.3 測試對象介紹
對於當前的測試行業來說我們最經常測試的主體就是 軟件( 主體功能 ),但是需要我們明白是一個軟件也不僅僅只有功能需要測試。我們可以將軟件分為三個部分組成:功能集合+使用說明書 + 配置數據。
對於一款軟件來說從無到有需要不同的過程,我們可以將這個過程分為不同階段,然后每個階段都會相應有測試對象
1. 需求分析階段:各種需求規格說明書。
2. 軟件架構設計:API 接口文檔( 接口測試 )
3. 編碼實現階段:源代碼( 白盒測試、單元測試 )
4. 系統功能使用:軟件功能主體( 當前行業做的最多的一種測試 )
1.4 測試級別
軟件的開發都會依據相應的開發模型, 則測試級別指的就在這個模型當中我們人為定義的開發步驟。其中對於測試來說我們最常見的一種級別分類如下:
1.單元測試[ UT unit test ]:在軟件測試中單元指的就是組成軟件最小的底層代碼結構,
一般就是類、函數、組件( 當下的軟件測試行業,不會刻意要求測試人員對源代碼進行測試 )。
2.集成測試( IT system ingertaion test ):將多個單元模塊組合在一起,然后驗證它們之間溝通的"橋梁"是否能正常工作( 接口測試 )
3.系統測試( ST system test ):這是當前行業做的最多的一種測試。由測試人員充當用戶然后對軟件的功能主體進行測試。
4.驗收測試:
(1) a測試 ---- 內測
(2) b測試 -----公測
(3) UAT( user acceptance test )測試---- 由客戶派出對於業務非常精通的人員來使用該軟件,從而對功能進行測試。
(4) 驗收測試的核心就是讓用戶為當前軟件 "買單"
1.5 系統測試分類
1. 功能測試:驗證當前的軟件主體功能是否可用。
2. 兼容性測試:驗證當前軟件在不同的環境下是否還可以使用。
3. 安全測試:驗證軟件是否只是能授權用戶提供功能使用。
4. 性能測試:相對於當前軟件消耗的資源 它的產出能力。
1.6 常見的系統測試方法
一、按測試對象進行分類
1.白盒測試:這種測試的主體就是軟件的底層代碼,不會在意外在的界面是否 OK ,只要求底層功能實現,同時邏輯正確。
2.黑盒測試:這種測試就是指測試軟件外在主體功能是否可用。
3.灰盒測試:介於二者之間( 接口測試 )
4.上述三種方法當中的 "盒" 指的就是被測對象。
二、按測試對象是否執行分類
1.靜態測試:指的就是測試不執行。
2.動態測試:將軟件運行在真實的使用環境中進行測試。
三、按測試手段進行分類
1.手工測試:由測試人員手動的對被測對象進行驗證,優點就是可以靈活的改變測試操作及環境。
2.自動化測試:所謂自動化主要有二種形,一種是自已寫測試腳本,另外一種就是通過第三方的工具對被測對象進行測試。優點就是可以高效率的去執行一些人工無法實現的操作。
1.7 軟件質量
描述當前軟件是否好用,在當前的軟件行業里我們所采用的一套標准是基於 ISO 組織制定的。需要我們記憶的就是軟件質量的六大特性:
1. 功能性:軟件需要滿足用戶顯式或者穩式的功能。
2. 易用性:軟件易於學習 和上手使用。
3. 可靠性:指的就是軟件必須實現需求當中指明的具體功能。
4. 效率性:類似於軟件的性能。
5. 可維護性:要求軟件具有將某個功能修復之后繼續使用的能力。
6. 可移植性:當前軟件可以從一個平台移植到另一個平台上去使用的能力。
【 功能靠用,效率可"以" 】
1.8 軟件測試流程
1. 需求分析
(1) 當前階段的核心目的就是梳理清楚我們需要設計的點是什么。
(2) 需求的來源:需求規格說明書、API 文檔、竟品分析、個人經驗
2. 設計用例:
(1) 用例就是用戶為了測試軟件的某個功能而執行的操作過程。
(2) 設計用例是有方法的( 等價類、邊界值、判定表...... )
3. 評審用例:對當前的用例進行添加或者刪除。
4. 配置環境
(1) 環境:指的就是當前被測對象運行所需要的執行環境,做為測試人員需要具備配環境的能力。【 一般情況下都會使用一鍵安裝的集成環境 】
(2) 環境分類:操作系統 + 服務器軟件 + 數據庫 + 軟件底層代碼的執行環境。
5. 執行用例
(1) 一般在執行用例之前我們會做一個冒煙測試。 這種測試的核心就是快速的對當前軟件的核心功能或者主體執行流程進行驗證。如果冒煙測試階段有問題,則可以將此版本回退給開發。
(2) 如果冒煙測試通過那么才會開展示全面的測試。
6. 回歸測試及缺陷跟蹤
(1) 回歸測試指的就是當我們將某個缺陷提交給開發之后,由它們進行修復,修復完成之后需要測試認員再次對其進行測試【回歸測試】
(2) 缺陷跟蹤:指的就是當測試人員發現某個缺陷之后需要一直對其進行狀態的跟蹤。
7. 輸出測試報告
將當前的測試過程中產生的數據進行可視化的輸出。方便其它人去查看。
8. 測試結束
當將整個測試過程中產生的一些文檔進行整理歸檔,方便后續版本使用。
1.9 軟件架構
所謂的軟件架構我們可以理解為是用來指導我們軟件開發的一種思想。 目前來說最常見的二種架構模式就是 B/S C/S
B---browser 瀏覽器
C---clent 客戶端
S---server 服務端

一、二種架構的比較
1.標准:相對於 CS 架構來說 BS 架構的二端都是在使用現成的成熟產品。所以 BS 會顯示的標准一些。
2.效率:相對於 BS 架構來說 CS 中的客戶端可以分擔一些數據的處理,因此執行效率會高一些。
3.安全:B S 架構當中的數據傳輸都是以 HTTP 協議進行的輸出,而 HTTP 協議又是明文輸出。可以被抓包,所以相對於 CS 架構來說 BS 就顯得不那么安全【相對的】
4.升級: 架構只需要在服務器端將數據進地更新, 前台只需要刷新頁面就可以完成升級, BS CS 架構當中必須要將二端都進行更新。
5.開發成本:相對於 BS 架構來說 CS 當中的客戶端需要自已開發,所以相對於來說成本會高一些。
1.10 瀏覽器基本介紹
一、瀏覽器是什么
瀏覽器本質就是一款軟件,安裝在操作系統之上。一般給用戶提供瀏覽網頁的服務。目前來說我們會人為的將所有瀏覽器總結出一個所謂的五大生產廠商。【 對於瀏覽器來說最核心技術就是內核 】

如果對軟件測試有興趣,想了解更多的測試知識,解決測試問題,以及入門指導,幫你解決測試中遇到的困惑,我們這里有技術高手。如果你正在找工作或者剛剛學校出來,又或者已經工作但是經常覺得難點很多,覺得自己測試方面學的不夠精想要繼續學習的,想轉行怕學不會的, 都可以加入我們1079636098,群內可領取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學習資料!
二、五大瀏覽器生產廠商
1.IE( 微軟 )-----trident
2.Chrome ( 谷歌 )----blink
3.Firefox( 火狐 )-----gecko
4.Safari( 蘋果 )-----webkit
5.Opera( 歐朋 )----presto【 現在已經放棄自已東西完全向 chrome 】
1.11 常見的圖片類型
1. Jpg(jpeg) :這是一種可以高度保留圖片色彩信息的格式。
2. Png:該類型的圖片可以實現透明。
3. Gif:圖片所占體積小,可以實現動圖
4. Psd:它是一種分層的圖片。