1.軟件的分類
1.軟件的定義
特定循序組織的計算機(jī)數(shù)據(jù)和指令的集合 軟件 = 數(shù)據(jù) + 指令 + 文檔(一般前兩個)
2.應(yīng)用場景分類
工具類軟件、游戲型軟件碑韵、媒體型軟件温鸽、電商型軟件等
3.軟件架構(gòu)分類
單機(jī)版:office、紅警等
分布式:C/S架構(gòu)軟件:是需安裝的,如QQ爱葵,微信等
B/S結(jié)構(gòu)軟件:為瀏覽器嗡呼,如百度等
2.軟件測試的定義與原則
1.軟件測試的定義
驗證軟件的實際結(jié)果與用戶需求是否一致
2.軟件測試的原則
1.測試顯示軟件存在缺陷:測試只能證明軟件中存在缺陷纸俭,并不能證明軟件中不存在缺陷,減低了存在缺陷的可能性南窗,如沒找到缺陷揍很,也不能證明軟件是完美的
2.窮盡測試是不可能的:軟件規(guī)模越來越大,復(fù)雜度越來越高万伤,想做到完全性的測試是不可能的
3.測試盡早介入:就是保證軟件質(zhì)量窒悔,降低風(fēng)險和成本
4.缺陷集群性(2/8原則):缺陷集群性表明小部分模塊包含大部分的缺陷,80%的缺陷發(fā)現(xiàn)在20%的模塊中
5.殺蟲劑悖論:如果一直使用相同的測試方法或手段敌买,可能無法發(fā)現(xiàn)新的bug
6.測試活動依賴于測試內(nèi)容:軟件測試的活動開展依賴于所測試的內(nèi)容
7.沒有錯誤是好是謬論:是好也是謬論
3.測試模型
V模型:用戶需求-需求分析-概要設(shè)計-詳細(xì)設(shè)計-編碼-單元測試-集成測試-系統(tǒng)測試-驗收測試
4.軟件測試的流程
階段名 | 工作內(nèi)容 | 產(chǎn)出物 |
---|---|---|
測試準(zhǔn)備階段 | 項目立項简珠、需求分析、需求評審 | 需求文檔虹钮、產(chǎn)品PRD |
測試計劃階段 | 編寫測試計劃北救、計劃評審 | 測試計劃 |
測試設(shè)計階段 | 提取測試點荐操、編寫測試用例、用例評審 | 測試用例 |
測試執(zhí)行階段 | 冒煙測試珍策、執(zhí)行測試用例托启、提bug、回歸測試 | 缺陷報告 |
測試完成階段 | 驗收測試攘宙、編寫測試報告屯耸、項目上線 | 測試報告 |
1、我們在測試準(zhǔn)備階段蹭劈,和項目經(jīng)理疗绣,開發(fā)人員等進(jìn)行共同的分析,評審用戶的需求铺韧,然后項目經(jīng)理總結(jié)出一份PRD多矮;
2、然后在計劃階段哈打,我們測試人員憑著PRD編寫測試計劃塔逃,然后評審計劃是否具有合理性,最后寫出測試計劃料仗;
3湾盗、隨后在設(shè)計階段提取測試點,編寫測試用例立轧,隨后評審用例是否符合要求格粪,最終獲得測試用例;
4氛改、在執(zhí)行階段中帐萎,要進(jìn)行冒煙測試,并且執(zhí)行測試用例胜卤,提取過程中存在bug,最后進(jìn)行回歸測試疆导,寫出缺陷報告;
5瑰艘、在完成階段是鬼,我們要進(jìn)行驗收測試肤舞,編寫測試報告紫新,最后項目上線。
5.軟件測試的分類
1.按技術(shù)分類
黑盒測試(Black Box -Test):把被測試的軟件看做一個黑盒子李剖,我們不去關(guān)心盒子里邊的結(jié)構(gòu)是什么樣子芒率,只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果
白盒測試:是一種按照程序內(nèi)部邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計測試數(shù)據(jù)并完成測試的測試方法
灰盒測試:一種基于程序運行時的外部表現(xiàn)同時又結(jié)合程序內(nèi)部結(jié)構(gòu)來設(shè)計測試數(shù)據(jù)的測試方法
2.按階段分類
單元測試:對一個模塊、一個函數(shù)或者一個類來進(jìn)行正確性檢驗的測試方法
集成測試:單元測試后篙顺,將單獨的模塊按照設(shè)計要求組裝成為子系統(tǒng)或系統(tǒng)偶芍,作為整體進(jìn)行測試的測試方法
系統(tǒng)測試:集成測試后充择,將硬件、軟件看作一個整體,對系統(tǒng)的功能及性能的總體測試
驗收測試:系統(tǒng)測試后以用戶測試為主匪蟀,或有測試人員共同參與檢驗軟件質(zhì)量的測試方法
測試名稱 | 測試對象 | 人員 | 測試方法 |
---|---|---|---|
單元測試 | 最小模塊椎麦,如函數(shù),類等 | 白盒測試工程師或開發(fā)人員 | 主要采用白盒測試 |
集成測試 | 模塊間的接口材彪,如參數(shù)傳遞 | 白盒測試工程師或開發(fā)人員 | 黑盒和白盒測試相結(jié)合 |
系統(tǒng)測試 | 整個系統(tǒng)观挎,包括軟硬件 | 黑盒測試工程師 | 黑盒測試 |
驗收測試 | 整個系統(tǒng),包括軟硬件 | 主要為用戶段化,還可能有測試工程師等 | 黑盒測試 |
3.按內(nèi)容分類兼容性測試
1.功能測試
界面測試嘁捷、冒煙測試、回歸測試显熏、業(yè)務(wù)邏輯測試雄嚣、易用性測試
功能測試:根據(jù)產(chǎn)品操作描述和需求文檔,測試一個產(chǎn)品的特性和可操作行為是否滿足用戶需求的測試方法
界面測試:測試用戶界面的功能模塊的布局是否符合客戶使用習(xí)慣喘蟆,界面操作便捷性缓升、導(dǎo)航簡單易懂性的測試
冒煙測試:驗證系統(tǒng)的核心功能是否能夠正常運行的測試方法
回歸測試:指修改了舊代碼后,重新進(jìn)行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤的測試方法
業(yè)務(wù)邏輯測試:在基本的功能點都已合格的基礎(chǔ)上履肃,準(zhǔn)備多種測試數(shù)據(jù)仔沿,來驅(qū)動各種約束條件下業(yè)務(wù)流程,確定最終輸出的結(jié)果是否符合預(yù)期的測試
易用性測試:指用戶使用軟件時是否感覺方便的測試
2.性能測試
性能測試:通過自動化的測試工具模擬多種正常尺棋、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行校驗的測試方法
壓力測試:通過逐步增加系統(tǒng)負(fù)載封锉,測試系統(tǒng)性能的變化,并確定在什么條件下系統(tǒng)性能處于失效狀態(tài)
負(fù)載測試:通過逐步增加系統(tǒng)負(fù)載膘螟,測試系統(tǒng)性能的變化成福,在滿足性能指標(biāo)的情況下,系統(tǒng)所能承受的最大負(fù)載量的測試
并發(fā)測試:是一個負(fù)載測試和壓力測試的過程荆残,即逐漸增加并發(fā)用戶數(shù)負(fù)載直到系統(tǒng)的瓶頸奴艾,通過分析資源監(jiān)控指標(biāo)等來確定系統(tǒng)并發(fā)性能
3.兼容性測試
app
Android/IOS版本
廠商
型號
分辨率
屏幕:全屏、水滴屏内斯、劉海屏蕴潦、曲面屏、折疊屏俘闯、雙面屏
web
瀏覽器:四類潭苞,根據(jù)瀏覽器內(nèi)核(面試題第78題)
4.按其他分類
冒煙測試、隨機(jī)測試真朗、安全性測試此疹、探索性測試、回歸測試、Alpha測試蝗碎、Beta測試
隨機(jī)測試:隨機(jī)測試主要是根據(jù)測試者的經(jīng)驗無需測試用例對軟件進(jìn)行功能和性能抽查的測試方法
安全性測試:通過不同的測試方法湖笨,檢驗程序、網(wǎng)絡(luò)蹦骑、數(shù)據(jù)庫安全性的測試方法
探索性測試:碰到問題時能隨機(jī)應(yīng)變慈省,強(qiáng)調(diào)測試人員的主觀能動性明確整體的測試計劃的測試方法
Alpha測試:俗稱內(nèi)測,α測試眠菇。內(nèi)部環(huán)境下的測試辫呻;開發(fā)人員或測試人員在現(xiàn)場
Beta測試:俗稱外測、公測琼锋,β測試放闺。生產(chǎn)環(huán)境下的測試;開發(fā)人員和測試人員都不在現(xiàn)場
面試題第二十四題
開發(fā)環(huán)境與測試環(huán)境有什么區(qū)別缕坎?
開發(fā)環(huán)境:是在編碼階段怖侦,一般我們的代碼基本上都是在開發(fā)環(huán)境中,不會再生產(chǎn)與測試環(huán)境谜叹,如操作
系統(tǒng)匾寝,web服務(wù)器,語言環(huán)境荷腊,php,數(shù)據(jù)庫等等艳悔。
測試環(huán)境:項目完成后,找Bug,以及修改Bug女仰。
生產(chǎn)環(huán)境: 項目數(shù)據(jù)前后端已經(jīng)疏通猜年,部署到阿里云上有客戶去使用以及訪問,網(wǎng)絡(luò)正常運行就好了疾忍。
面試題第七十八題
瀏覽器的兼容性測試是怎么測試的乔外?
大型的、用戶群體多的網(wǎng)站都需要做瀏覽器兼容性測試一罩,需要測試主流的瀏覽器(除特定要求的瀏覽器以外)
測試的內(nèi)容:一般是頁面的排版杨幼,頁面格式,字體聂渊,顏色差购,下拉菜單,復(fù)選框等測試(UI:CSS汉嗽,HML欲逃,Js在不同瀏覽器下的表現(xiàn))
再就是對功能進(jìn)行檢查
為什么選擇這幾個瀏覽器?
原因:以瀏覽器內(nèi)核分類瀏覽器進(jìn)行測試
常見瀏覽器及四大內(nèi)核:
IE诊胞、360(兼容模式)暖夭、搜狗(兼容模式)(Trident內(nèi)核)
Firefox(Gecko內(nèi)核)
Chrome、360(極速模式)撵孤、搜狗(極速模式)(Blink內(nèi)核)
Apple Safari(WebKit內(nèi)核)