軟件測試行業(yè)基本介紹
一浸须、為什么需要軟件測試
- (功能質量)一款軟件從無到有經歷很多的開發(fā)階段由不同的人參與開發(fā),所以最終產出的軟件功能可能會存在問題琉闪。因此為了保證軟件的功能是可用的迹炼,我們必須要進行測試。
- (用戶體驗)當前的軟件行業(yè)已經不在是以功能為王了颠毙,用戶不僅僅只盯著軟件的功能是否滿足需求斯入,還會對軟件是否容易上手,執(zhí)行效率是否OK.......等一系列其他體驗都有了更高的要求蛀蜜,所以這也需要我們對軟件進行大量的測試
二刻两、為什么選擇軟件測試
- 國內的軟件行業(yè)對于專業(yè)的軟件測試人員需求是慢慢變大的。
2.有些人喜歡創(chuàng)造世界所以他們做了開發(fā)滴某,而我們就是希望這個世界變得更加美好所以做了測試
三磅摹、為什么不讓開發(fā)自己做測試
- 當前行業(yè)有許多的測試從業(yè)人員本身之前都是開發(fā)崗。
- 專業(yè)度:軟件測試和軟件開發(fā)分別屬于軟件行業(yè)當中二個不同的技術方向霎奢。所以讓專業(yè)人做專事對于質量更加有保證户誓。
- 思維定式:在軟件的開發(fā)周期中,對于程序員來說他們大多數的時間都是在思考如何實現具體的軟件功能幕侠,而不會去從用戶的角度考慮如何去"奇葩"的使用這些功能帝美。
- 相對于開發(fā)來說,產品就相當于他們的"孩子",所以下手就不會那末狠橙依。
軟件測試基本介紹:
一证舟、軟件測試定義
通過手工或者工具對"被測對象"進行測試操作,從而驗證實際結果與預期結果之間是否存在差異
二窗骑、軟件測試的作用
- 通過測試工作可以發(fā)現并修復軟件當中存在的缺陷女责,從而提高用戶對產品的使用信心。
- 測試可以記錄軟件運行過程中產生的一些數據创译,從而為決策提供數據支持
- 測試可以降低同類型產品開發(fā)遇到問題的風險
三抵知、測試原則:
所謂的測試原則指的就是我們在執(zhí)行測試工作時必須遵守的一些規(guī)則。
- 測試證明軟件有缺陷:無論執(zhí)行什么樣的測試操作都保證能證明當前軟件是有缺陷的。
- 不能執(zhí)行窮盡測試:有些功能是沒有辦法將所有的測試情況都羅列出來刷喜,所以任何的測試操作都有結束的時間
- 缺陷有集群現象:對于軟件功能來說残制,核心功能大約占20%。非核心功能大約占80%掖疮,在實際工作中我們會集中測試20%的核心功能初茶,所以這個部分發(fā)現缺陷的幾率就會高于80%,因此我們就會遇到缺陷都集中在20%功能模塊的現象
- 某些測試需要依賴特殊的環(huán)境
- 測試應盡早介入:為了更多的發(fā)現和更好的解決軟件中的缺陷浊闪,我們追求測試工作盡早的開展
- 殺蟲劑現象:同樣的一個測試用例不能重復的執(zhí)行多次恼布,因為軟件會對他產生免疫
- 不存在缺陷謬論:任何軟件不可能是完美的。
測試對象介紹
對于當前的測試行業(yè)來說我們最經常測試的主體就是軟件(主體功能)搁宾,但是需要我們明白是一個軟件也不僅僅只有功能需要測試折汞。我們可以將軟件分為三個部分組成:功能集合+使用說明書+配置數據
- 對于一款軟件來說從無到有需要不同的過程,我們可以將這個過程分成不同階段盖腿,然后每個階段都會有相應的測試對象:
- 需求分析階段:各種需求規(guī)格說明書
- 軟件架構設計:API接口文檔(接口測試)
- 編碼實現階段:源代碼(白盒測試爽待、單元測試)
- 系統(tǒng)功能使用:軟件功能主體(當前行業(yè)做的最多的一種測試)
測試級別
軟件的開發(fā)都會依據相應的開發(fā)模型,則測試級別指的就在這個模型當中我們人為定義的開發(fā)步驟翩腐,其中對于測試來說我們最常見的一種級別分類如下:
- 單元測試(UT unit test):在軟件測試中單元指的是組成軟件最小的底層代碼結構鸟款,一般就是類、函數栗菜、組件(當下的軟件測試行業(yè)欠雌,不會刻意要求測試人員對源代碼進行測試)
- 集成測試(IT system Integration test):將多個單元模塊組合在一起,然后驗證他們之間溝通的"橋梁"是否能正常工作(接口測試)
- 系統(tǒng)測試(ST system test):這是當前行業(yè)做的最多的一種測試疙筹,由測試人員充當用戶然后對軟件的功能主體進行測試富俄。
- 驗收測試
(1)α測試---內測
(2)β測試---公測
(3)UAT(user acceptance test)測試:由客戶派出對業(yè)務非常精通的人來使用該軟件,從而對功能進行測試
(4)驗收測試的核心就是讓用戶為當前軟件"買單"
系統(tǒng)測試分類
- 功能測試:驗證當前的軟件主體功能是否可用
- 兼容性測試:驗證當前軟件在不同的環(huán)境下是否還可以使用
- 安全測試:驗證軟件是否只是能授權用戶提供功能使用
- 性能測試:相對于當前軟件消耗的資源而咆,它的產能力
常見的測試方法
一霍比、按測試對象進行分類
- 白盒測試:這種測試的主體就是軟件的底層代碼,不會在意外在的界面是否OK暴备,只要求底層功能實現悠瞬,同時邏輯正確
- 黑盒測試:這種測試就是指測試軟件外在主體功能是否可用
- 灰盒測試:介于二者之間(接口測試)
- 上述三種方法當中的“盒”指的就是被測對象
二、按測試對象是否執(zhí)行分類
- 靜態(tài)測試:指的是測試不執(zhí)行(比如測文檔涯捻,靜態(tài)頁面和設計圖對不對的上看看就行)
- 動態(tài)測試:將軟件運行在真實的使用環(huán)境中進行測試
三浅妆、按測試手段進行分類
- 手工測試:由測試人員手動的對被測對象進行驗證。優(yōu)點就是可以靈活的改變測試操作及環(huán)境
- 自動化測試:所謂的自動化主要有兩種形障癌,一種是自己寫測試腳本凌外,另外一種就是通過第三方的工具對被測對象進行測試。優(yōu)點就是可以提高效率的去執(zhí)行一些人工無法實現的操作涛浙。
軟件質量
描述當前軟件是否好用康辑,在當前的軟件行業(yè)里我們所采用的一套標準是基于ISO組織制定的摄欲。需要我們記憶的就是軟件質量的六大特性:
- 功能性:軟件需要滿足客戶顯示或隱式的功能
- 易用性:軟件要易于學習和上手使用
- 可靠性:指的就是軟件必須實現需求當中的具體功能
- 效率性:類似于軟件的性能
- 可維護性:要求軟件具有將某個功能修復之后繼續(xù)使用的能力
- 可移動性:當前軟件可以從一個平臺移植到另一個平臺使用的能力
【功能靠用,效率可“以”】
軟件測試流程
- 需求分析
(1) 當前階段的核心目的就是梳理清楚我們需要測試的點是什么
(2) 需求的來源:需求規(guī)格說明書(產品經理提出來的產品疮薇,有什么功能胸墙,想實現什么功能,用戶怎末用這個功能)按咒、API文檔迟隅、競品分析、個人經驗 - 設計用例
(1)用例就是用戶為了測試軟件的某個功能而執(zhí)行的操作過程
(2)設計用例是有方法的(等價類胖齐、邊界值玻淑、判定表......) - 評審用例:對當前的用例進行添加或者刪除(他人對自己設計的用例進行評審)
- 配置環(huán)境
(1)環(huán)境:指的是當前被測對象運行所需要的執(zhí)行環(huán)境嗽冒,做為測試人員需要具備配環(huán)境的能力呀伙。【一般情況下都會使用一鍵安裝的集成環(huán)境】
(2)環(huán)境分類:操作系統(tǒng)+服務器軟件+數據庫+軟件底層代碼的執(zhí)行環(huán)境 - 執(zhí)行用例
(1)一般在執(zhí)行用例之前我們會做一個冒煙測試添坊,這種測試的核心就是快速的對當前軟件的核心功能或者主體執(zhí)行流程進行驗證剿另,如果冒煙測試階段有問題,則可以將此版本回退給開發(fā)
(2)如果冒煙測試通過才會開展全面的測試 - 回歸測試及缺陷跟蹤
(1)回歸測試指的就是當我們將某個缺陷提交給開發(fā)之后贬蛙,由他們進行修復雨女,修復完成之后需要測試人員再次對其進行測試【回歸測試】
(2)缺陷跟蹤:指的就是當測試人員發(fā)現某個缺陷之后需要一直對其進行狀態(tài)的跟蹤 - 輸出測試報告
將當前的測試過程中產生的數據進行可視化的輸出。方便其他人去查看 - 測試結束
將整個測試過程中產生的一些文檔進行整理歸檔阳准,方便后續(xù)版本使用氛堕。
常見軟件架構
所謂的軟件架構我們可以理解為是用來指導我們軟件開發(fā)的一種思想。目前來說最常見的兩種框架模式就是 B/S野蝇、C/S
B---Browser---瀏覽器
C---Client----客戶端
S---Server----服務端
二讼稚、二種架構的比較
- 標準:相對于CS架構來說BS架構的二端都是在使用現成的成熟產品。所以BS會顯示的標準一些绕沈。
- 效率:相對于BS架構來說CS中的客戶端可以分擔一些數據的處理锐想,因此執(zhí)行效率會高一些。
- 安全:BS架構當中的數據傳輸都是以HTTP協(xié)議進行的輸出乍狐,而HTTP協(xié)議有事明文輸出赠摇。可以被抓包浅蚪,所以相對于CS架構來說BS就顯得不那么安全【相對的】
- 升級:BS架構只需要在服務器端將數據進行更新藕帜,前臺只需要刷新頁面就可以完成升級,而CS架構當中必須要將二端都進行更新惜傲。
- 開發(fā)成本:相對于BS架構來說CS當中的客戶端需要自己開發(fā)洽故,所以相對于來說成本會高一些(BS兩端,CS服務端不需要自己開發(fā))
瀏覽器基本介紹
一操漠、瀏覽器是什莫
瀏覽器本質就是一款軟件收津,安裝在操作系統(tǒng)之上饿这,一般給用戶提供瀏覽頁面的服務。目前來說我們會人為的將所有瀏覽器總結出一個所謂的五大生產廠商撞秋〕づ酰【對于瀏覽器來說最核心技術就是內核】
二、五大瀏覽器生產廠商
- IE(微軟)----trident
- Chrome(谷歌)----blink
- Firefox(火狐)----gecko
- Safari(蘋果)----webkit
- Opera(歐朋)----presto【現在已經放棄自己的東西完全向chrome】
常見的圖片類型
- jpg[jpeg]:這是一種可以高度保留圖片色彩信息的格式
- png:該類型的圖片可以實現透明
- Gif:圖片所占體積小吻贿,可以實現動圖
- psd:他是一種分層的圖片(比如網頁的設計圖)