軟件測試基礎(chǔ)筆記
測試對象
一款軟件從無到有阿蝶,需要不同的過程,不同的階段都有對應(yīng)的測試對象
1.需求分析階段:需求說明書
2.軟件架構(gòu)設(shè)計:API接口文檔
3.編碼實現(xiàn)階段:源代碼(白盒測試槽奕、單元測試)
4.系統(tǒng)功能使用:軟件功能主體
測試級別
軟件開發(fā)都會依據(jù)相應(yīng)的開發(fā)模型瘟判,則測試級別指的就是在這個模型中人為定義的測試步驟狸页,常用的一種級別分類是:
1.單元測試(UT:unit test):在軟件測試中單元是指組成軟件最小的低層代碼結(jié)構(gòu)路捧,一般就是類撒顿、函數(shù)丑罪、組件(當(dāng)下的軟件測試行業(yè),不會要求測試人員對源代碼進行測試凤壁,一般由開發(fā)自測)
2.集成測試(IT:Integration Test):將多個單元模塊組合在一起吩屹,然后驗證它們之間溝通的橋梁是否能正常工作(接口測試)
3.系統(tǒng)測試(ST:system test):當(dāng)前行業(yè)做的最多的測試。由測試人員充當(dāng)用戶角色拧抖,對軟件功能主體進行測試煤搜。
4.驗收測試:讓真實的用戶、使用者為系統(tǒng)“買單”唧席,此階段實際上不想讓用戶發(fā)現(xiàn)bug
- α測試:內(nèi)測擦盾,內(nèi)部測試
- β測試:公測嘲驾,讓別人測試,鼓勵別人提bug
- UAT(user acceptance test)測試:由甲方派出對于業(yè)務(wù)精通的人進行功能測試
系統(tǒng)測試分類
1.功能測試:驗證當(dāng)前軟件主體功能是否可用
2.兼容性測試:驗證當(dāng)前軟件在不同環(huán)境下是否還可以使用
3.安全測試:驗證軟件是否只是對授權(quán)用戶提供功能使用
4.性能測試:相對于軟件消耗的資源迹卢,它的產(chǎn)出能力
常見的系統(tǒng)測試方法
一辽故、按測試對象進行分類
1.白盒測試:測試主體是軟件底層代碼,不在意外在界面腐碱,只要底層代碼功能實現(xiàn)誊垢,同時邏輯正確。
2.黑盒測試:測試主體是軟件外在主體功能是否可用
3.灰盒測試:介于兩者之間(1.保證功能可用 2.接口測試進行模塊化測試)
二症见、按測試對象是否執(zhí)行
1.靜態(tài)測試:測試不執(zhí)行喂走,一般用于文檔、UI設(shè)計稿測試
2.動態(tài)測試:將軟件運行在真實的使用環(huán)境中
三谋作、按測試手段分類
1.手工測試:由測試人員手工被測對象進行驗證芋肠,優(yōu)點是靈活改變測試操作及環(huán)境
2.自動化測試:分為兩種,一種是自己寫測試腳本遵蚜,一種是通過第三方工具對被測對象進行測試帖池,優(yōu)點是高效率執(zhí)行人工無法實現(xiàn)的操作,比如高并發(fā)谬晕、批量操作
軟件質(zhì)量
描述當(dāng)前軟件是否好用碘裕,在當(dāng)前的軟件行業(yè)里我們所采用的一套標(biāo)準(zhǔn)是機遇ISO組織制定的,軟件質(zhì)量的六大特性:
1.功能性:軟件需要滿足用戶顯式隱式的功能
2.易用性:軟件易于學(xué)習(xí)和上手使用
3.可靠性:軟件必須實現(xiàn)需求當(dāng)中指明的具體功能
4.效率性:類似于軟件的性能
5.可維護性:要求軟件具有將某個功能修復(fù)后能繼續(xù)使用的能力
6.可移植性:當(dāng)前軟件可以從一個平臺移植到另一個平臺上使用
軟件測試流程
1.需求分析
- 當(dāng)前階段核心目的是梳理清楚測試點
- 需求的來源:需求規(guī)格說明書攒钳、API文檔帮孔、競品分析、個人經(jīng)驗
2.設(shè)計用例
- 用例就是用戶為了測試軟件的某個功能而執(zhí)行的操作過程
3.評審用例
- 對用例進行添加或刪除
4.配置環(huán)境
- 環(huán)境:當(dāng)前被測對象運行的環(huán)境不撑,作為測試人員需要具備配環(huán)境的能力文兢。(一般情況下都會使用一鍵安裝的集成環(huán)境)
- 環(huán)境分類:操作系統(tǒng)+服務(wù)器軟件+數(shù)據(jù)庫+軟件底層代碼的執(zhí)行環(huán)境
5.執(zhí)行用例
- 用例執(zhí)行之前我們會做一個冒煙測試』烂剩快速對當(dāng)前軟件的核心功能或主體進行驗證姆坚,如果冒煙測試階段有問題,則可以將此版本返回給開發(fā)实愚。
- 如果冒煙測試通過兼呵,那么才會開展全面的測試
6.回歸測試及缺陷跟蹤
- 將bug提給開發(fā),開發(fā)修復(fù)后腊敲,需要再次對齊測試---回歸測試
- 缺陷跟蹤击喂,從測試人員發(fā)現(xiàn)缺陷到缺陷被關(guān)閉,需要一直對其狀態(tài)進行跟蹤碰辅。
7.輸出測試報告
- 將當(dāng)前測試過程產(chǎn)生的數(shù)據(jù)進行可視化輸出懂昂,方便其他人去查看
8.測試結(jié)束
- 整個測試過程中產(chǎn)生的文檔、測試數(shù)據(jù)進行整理没宾、歸檔凌彬,方便后續(xù)使用沸柔。
常用軟件架構(gòu)
用來指導(dǎo)我們軟件開發(fā)的一種思想。目前最常見的兩種架構(gòu)模式就是B/S铲敛、C/S褐澎。
B-brower 瀏覽器
C-client 客戶端
S-server 服務(wù)端
兩種架構(gòu)的比較
1.標(biāo)準(zhǔn):相對于C/S架構(gòu)來說,B/S架構(gòu)的兩端都在使用現(xiàn)成的成熟產(chǎn)品原探,所以BS會顯示得標(biāo)準(zhǔn)一些乱凿。
2.效率:相對于BS架構(gòu)來說CS中的客戶端可以分擔(dān)一些數(shù)據(jù)的處理,因此執(zhí)行效率會高一些
3.安全:BS架構(gòu)當(dāng)中的數(shù)據(jù)傳輸都是以HTTP協(xié)議進行傳輸?shù)难氏遥鳫TTP協(xié)議又是明文傳輸,相對于CS架構(gòu)顯得不安全胁出。
4.升級:BS架構(gòu)只需要在服務(wù)器端將數(shù)據(jù)進行更新型型,前端只需要刷新就完成升級。而CS架構(gòu)必須要兩端都進行更新全蝶。
5.開發(fā)成本:BS的瀏覽器和服務(wù)器不需要自己開發(fā)闹蒜。CS的客戶端需要自己開發(fā),成本較高些抑淫。
瀏覽器
本質(zhì)是一款軟件绷落,安裝在操作系統(tǒng)上,給用戶提供瀏覽網(wǎng)頁的服務(wù)始苇。目前人為的將所有的瀏覽器總結(jié)出所謂的五大廠商砌烁,對于瀏覽器來說,最核心的技術(shù)就是內(nèi)核催式。
五大瀏覽器生產(chǎn)廠商
1.IE(微軟) ---trident
2.Chrome(谷歌)---blink
3.Firefox(火狐)---gecko
4.Opera(歐朋)---webkit
5.Safiri(蘋果)---presto 現(xiàn)在已經(jīng)放棄自己的產(chǎn)品函喉,完全向Chrome
常見的圖片類型
1.jpg /jpeg :可以高度保留圖片色彩信息的格式
2.png : 可以實現(xiàn)透明背景
3.gif :圖片所占體積小
4.psd:分層圖片