软件测试 | 测试开发 | 做为测试,那些必须掌握的测试技术体系
軟件測(cè)試技術(shù)是軟件開(kāi)發(fā)過(guò)程中的一個(gè)重要組成部分,是貫穿整個(gè)軟件開(kāi)發(fā)生命周期、對(duì)軟件產(chǎn)品(包括階段性產(chǎn)品)進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過(guò)程。其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問(wèn)題,與用戶(hù)需求、預(yù)先定義的不一致性。檢查軟件產(chǎn)品中可能存在的 Bug,并且編寫(xiě)缺陷報(bào)告,交于開(kāi)發(fā)人員修改。軟件測(cè)試人員的基本目標(biāo)是發(fā)現(xiàn)軟件中的錯(cuò)誤。
軟件測(cè)試技術(shù)就相當(dāng)于是軟件測(cè)試人員的武器。作為軟件測(cè)試人員,必須要清楚了解可以通過(guò)哪些手段去保障產(chǎn)品的質(zhì)量。只有知道了這些,才能更好的完成測(cè)試的工作。
軟件測(cè)試分類(lèi)
軟件測(cè)試的分類(lèi)可以按照不同的維度去劃分,一般來(lái)說(shuō)可以按照下面的這些維度去劃分。
按開(kāi)發(fā)階段分類(lèi)
- 單元測(cè)試
- 集成測(cè)試
- 冒煙測(cè)試
- 系統(tǒng)測(cè)試
- 驗(yàn)收測(cè)試
按測(cè)試實(shí)施組織分類(lèi)
- α 測(cè)試:非正式驗(yàn)收測(cè)試
- β 測(cè)試:內(nèi)測(cè)后的公測(cè)
按測(cè)試執(zhí)行方式分類(lèi)
- 靜態(tài)測(cè)試:不啟動(dòng)被測(cè)對(duì)象的測(cè)試,比如代碼走讀,代碼評(píng)審,文檔評(píng)審,需求評(píng)審等。
- 動(dòng)態(tài)測(cè)試:啟動(dòng)被測(cè)試對(duì)象的測(cè)試,比如白盒測(cè)試,黑盒測(cè)試等。
按是否查看代碼分類(lèi)
- 黑盒測(cè)試:指的是把被測(cè)的軟件看作是一個(gè)黑盒子,不去關(guān)心盒子里面的結(jié)構(gòu)是什么樣子的,只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。
- 白盒測(cè)試:指的是把盒子蓋子打開(kāi),去研究里面的源代碼和程序結(jié)果。
按是否手工執(zhí)行分類(lèi)
- 手工測(cè)試:由人去一個(gè)一個(gè)的去執(zhí)行測(cè)試用例,通過(guò)鍵盤(pán)鼠標(biāo)等輸入一些參數(shù),查看返回結(jié)果是否符合預(yù)期結(jié)果。通常用于黑盒測(cè)試方法或系統(tǒng)測(cè)試階段。
- 自動(dòng)化測(cè)試:把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過(guò)程。
按測(cè)試對(duì)象分類(lèi)
- 性能測(cè)試:檢查系統(tǒng)是否滿(mǎn)足需求規(guī)格說(shuō)明書(shū)中規(guī)定的性能。
- 安全測(cè)試:各種的攻擊手段,例如 SQL 注入、XSS 等。
- 兼容性測(cè)試:軟件和硬件之間是否能夠發(fā)揮很好的效率工作,會(huì)不會(huì)影響導(dǎo)致系統(tǒng)的崩潰。
- 文檔測(cè)試:測(cè)試軟件產(chǎn)品中的各類(lèi)文檔。
- 易用性測(cè)試:用戶(hù)體驗(yàn)測(cè)試。
- 業(yè)務(wù)測(cè)試:測(cè)試人員將系統(tǒng)的各個(gè)模塊串接起來(lái)運(yùn)行、模擬真實(shí)用戶(hù)實(shí)際的工作流程,滿(mǎn)足永續(xù)需求定義的功能進(jìn)行測(cè)試的過(guò)程。
- 界面測(cè)試:也稱(chēng)為 UI 測(cè)試。測(cè)試用戶(hù)界面的功能模塊的布局是否合理,整體風(fēng)格是否一致、各個(gè)控件的放置位置是否符合客戶(hù)的使用習(xí)慣,還要測(cè)試操作界面操作便捷性、導(dǎo)航簡(jiǎn)單易懂性、頁(yè)面元素的可用性,頁(yè)面元素的可用性、界面中文字是否正確,命名是否統(tǒng)一,頁(yè)面是否美觀、文字、圖片組合是否完美。
- 安裝測(cè)試:測(cè)試程序的安裝、卸載。
其他分類(lèi)
- 回歸測(cè)試:修改了舊代碼后,重新執(zhí)行測(cè)試以確認(rèn)修改后沒(méi)有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤。
- 隨機(jī)測(cè)試:指測(cè)試中的所有輸入數(shù)據(jù)都是隨機(jī)生成的,其目的是模擬用戶(hù)的真實(shí)操作,并發(fā)現(xiàn)一些邊緣性的錯(cuò)誤。
- 探索性測(cè)試:試可以說(shuō)是一種測(cè)試思維技術(shù)。它沒(méi)有很多實(shí)際的測(cè)試方法、技術(shù)和工具,但是卻是所有測(cè)試人員都應(yīng)該掌握的一種測(cè)試思維方式。探索性強(qiáng)調(diào)測(cè)試人員的主觀能動(dòng)性,拋棄繁雜的測(cè)試計(jì)劃和測(cè)試用例設(shè)計(jì)過(guò)程,強(qiáng)調(diào)在碰到問(wèn)題時(shí)及時(shí)改變測(cè)試策略。
黑盒測(cè)試
黑盒測(cè)試又叫功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于需求規(guī)格說(shuō)明書(shū)的功能測(cè)試。該類(lèi)測(cè)試注重于測(cè)試軟件的功能性需求。
采用這種測(cè)試方法,測(cè)試工程師把測(cè)試對(duì)象看作一個(gè)黑盒子,完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求文檔,檢查程序的功能是否符合它的功能說(shuō)明。測(cè)試工程師無(wú)需了解程序代碼的內(nèi)部構(gòu)造,完全模擬軟件產(chǎn)品的最終用戶(hù)使用該軟件,檢查軟件產(chǎn)品是否達(dá)到了用戶(hù)的需求。
黑盒測(cè)試方法能更好、更真實(shí)地從用戶(hù)角度來(lái)考察被測(cè)系統(tǒng)的功能性需求實(shí)現(xiàn)情況。在軟件測(cè)試的各個(gè)階段,如單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試及驗(yàn)收測(cè)試等階段中,黑盒測(cè)試都發(fā)揮著重要作用,尤其在系統(tǒng)測(cè)試和確認(rèn)測(cè)試中,其作用是其他測(cè)試方法無(wú)法取代的。
白盒測(cè)試
白盒測(cè)試又稱(chēng)結(jié)構(gòu)測(cè)試、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試。白盒法可以全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。
白盒測(cè)試常用的方法有代碼檢查法、靜態(tài)結(jié)構(gòu)分析法、靜態(tài)質(zhì)量度量法、邏輯覆蓋法、基本路徑測(cè)試法。
分層測(cè)試體系
其中 Unit 代表單元測(cè)試,API 代表接口測(cè)試,UI 代表頁(yè)面級(jí)的系統(tǒng)測(cè)試。分層的自動(dòng)化測(cè)試倡導(dǎo)產(chǎn)品的不同層次都需要自動(dòng)化測(cè)試,這個(gè)金字塔也正表示不同層次需要投入的精力和工作量。對(duì)于測(cè)試金字塔,越靠下越容易自動(dòng)化,越靠下成本越低,越靠下效率越高。
分層測(cè)試顧名思義就是分多個(gè)層次一個(gè)層次一個(gè)層次的測(cè)試,比如先測(cè)完中間接口層,再測(cè)最上層的界面。當(dāng)然了,也可以同時(shí)測(cè)試。
分層測(cè)試的測(cè)試方法還是原來(lái)的測(cè)試方法,但對(duì)測(cè)試人員的代碼能力還有自動(dòng)化測(cè)試水平有較高要求,同時(shí)要求測(cè)試人員和開(kāi)發(fā)團(tuán)隊(duì)真正的理解敏捷開(kāi)發(fā)和敏捷測(cè)試,甚至要求開(kāi)發(fā)團(tuán)隊(duì)達(dá)到開(kāi)發(fā)即測(cè)試、測(cè)試即開(kāi)發(fā)的能力。
單元測(cè)試
對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢查和驗(yàn)證。具體的說(shuō)就是開(kāi)發(fā)者編寫(xiě)的一小段代碼,用于檢驗(yàn)被測(cè)代碼的一個(gè)很小的、很明確的功能是否正確。通常而言,一個(gè)單元測(cè)試是用于判斷某個(gè)特定條件(或者場(chǎng)景)下某個(gè)特定函數(shù)的行為。
接口測(cè)試
接口測(cè)試是測(cè)試系統(tǒng)組件間接口的一種測(cè)試,主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。
測(cè)試的重點(diǎn)是要檢查接口參數(shù)傳遞的正確性,接口功能實(shí)現(xiàn)的正確性,輸出結(jié)果的正確性,以及對(duì)各種異常情況的容錯(cuò)處理的完整性和合理性。
接口測(cè)試可以更早介入,介入越早越能更早的發(fā)現(xiàn)問(wèn)題,還可以縮短項(xiàng)目周期,能夠發(fā)現(xiàn)更底層的 Bug,減少開(kāi)發(fā)成本。
因?yàn)椴煌?#xff08;前端,后端)的工作進(jìn)度不一樣,所以要針對(duì)最開(kāi)始出來(lái)的接口,以及需要調(diào)用其他公司的(銀行,支付寶,微信,QQ 等)一些接口進(jìn)行接口測(cè)試及驗(yàn)證數(shù)據(jù),從安全層面來(lái)說(shuō),只依賴(lài)前端進(jìn)行限制已經(jīng)完全不能滿(mǎn)足系統(tǒng)的安全要求(繞過(guò)前面實(shí)在太容易),需要后端同樣進(jìn)行控制,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。前后端傳輸、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶(hù)的隱私信息,如身份證,銀行卡等。
UI 測(cè)試
UI 測(cè)試測(cè)的是應(yīng)用中的用戶(hù)界面是否如預(yù)期工作。比如,用戶(hù)的輸入需要觸發(fā)正確的動(dòng)作,數(shù)據(jù)需要能展示給用戶(hù)看,UI 的狀態(tài)需要發(fā)生正確變化等。
對(duì)于 UI 測(cè)試,可以采用靜態(tài)測(cè)試方法,也可以采用動(dòng)態(tài)測(cè)試方法。
對(duì)于用戶(hù)界面的布局,風(fēng)格,字體,圖片等與顯示相關(guān)的部分測(cè)試應(yīng)該采用靜態(tài)測(cè)試,比如點(diǎn)檢表測(cè)試,即將測(cè)試必須通過(guò)的項(xiàng)用點(diǎn)檢表一條一條列舉出,然后通過(guò)觀察確保每項(xiàng)是否通過(guò)。
對(duì)用戶(hù)界面中各個(gè)類(lèi)別的控件應(yīng)該采用動(dòng)態(tài)測(cè)試,即編寫(xiě)測(cè)試用例或者點(diǎn)檢表,對(duì)每個(gè)按鈕的響應(yīng)情況進(jìn)行測(cè)試,是否符合概要設(shè)計(jì)所規(guī)定的條件,還可以對(duì)用戶(hù)界面在不同環(huán)境下的顯示情況進(jìn)行測(cè)試。
UI 測(cè)試需要關(guān)注的內(nèi)容包括通過(guò)瀏覽測(cè)試對(duì)象可正確反映業(yè)務(wù)的功能和需求,這種瀏覽包括窗口與窗口之間、字段與字段之間的瀏覽。各種訪問(wèn)方法 (Tab 鍵、鼠標(biāo)移動(dòng)和快捷鍵)是否支持。還有窗口的對(duì)象和特征,比如菜單、大小、位置、狀態(tài)和中心等都符合標(biāo)準(zhǔn)。
總結(jié)
以上是生活随笔為你收集整理的软件测试 | 测试开发 | 做为测试,那些必须掌握的测试技术体系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 解决 Mac 插上耳机输出(也适用于外接
- 下一篇: 批量删除实现