作者:IT小學(xué)生蔡坨坨
備注:未經(jīng)允許,不得轉(zhuǎn)載羽德!
(一)軟件測(cè)試的定義
在規(guī)定的條件
下對(duì)程序進(jìn)行操作几莽,以發(fā)現(xiàn)程序錯(cuò)誤
,衡量軟件質(zhì)量
宅静,并對(duì)其是否能滿足設(shè)計(jì)要求
進(jìn)行評(píng)估的過程章蚣。
(二)軟件測(cè)試方法的分類
按開發(fā)階段劃分:
-
單元測(cè)試(Unit Testing)
又稱
模塊
測(cè)試。對(duì)軟件的組成單位進(jìn)行測(cè)試,其目的是檢驗(yàn)軟件基本組成單位的正確性
纤垂。測(cè)試的對(duì)象是軟件測(cè)試的最小單位:模塊矾策。【例如:登錄測(cè)試】 -
集成測(cè)試(Integration Testing)
集成測(cè)試也稱
聯(lián)合測(cè)試(聯(lián)調(diào))峭沦、組裝測(cè)試
:將程序模塊采用適當(dāng)?shù)募刹呗越M裝起來贾虽,對(duì)系統(tǒng)的接口及集成后的功能進(jìn)行正確性檢測(cè)
的測(cè)試工作。集成主要目的是檢查軟件單位之間的接口是否正確吼鱼∨罨恚【例如:京東購物用微信支付】 -
系統(tǒng)測(cè)試(System Testing)
將軟件系統(tǒng)看成是一個(gè)系統(tǒng)的測(cè)試。包括
對(duì)功能菇肃、性能以及軟件所運(yùn)行的軟硬件環(huán)境進(jìn)行測(cè)試
地粪。時(shí)間大部分在系統(tǒng)測(cè)試執(zhí)行階段,包括回歸測(cè)試和冒煙測(cè)試琐谤。【例如:房子能不能住人(功能) 房子抗不抗臺(tái)風(fēng)(性能)蟆技;QQ能不能注冊(cè),能不能登錄斗忌,能不能聊天發(fā)消息(功能) 人數(shù)太多會(huì)不會(huì)卡頓(性能)】
Tips:系統(tǒng)測(cè)試如何開展质礼?
需求評(píng)審(功能需求、性能需求织阳、接口需求) - 測(cè)試計(jì)劃 - 測(cè)試用例 - 用例評(píng)審 - 測(cè)試環(huán)境搭建(平臺(tái)眶蕉、架構(gòu)、web服務(wù)器唧躲、數(shù)據(jù)庫) - 執(zhí)行用例 - 提交問題 - 缺陷的跟蹤和回歸測(cè)試 - 測(cè)試報(bào)告
-
驗(yàn)收測(cè)試(Acceptance Testing)
是部署軟件前的最后一個(gè)測(cè)試操作妻坝。它是技術(shù)測(cè)試的最后一個(gè)階段,也稱為
交付測(cè)試
惊窖。向軟件購買者展示該軟件系統(tǒng)滿足原始需求
。實(shí)施驗(yàn)收測(cè)試的策略有三種:
正式驗(yàn)收測(cè)試
- 非正式驗(yàn)收測(cè)試或
α測(cè)試
β測(cè)試
按是否手工執(zhí)行劃分:
-
手工測(cè)試(Manual Testing)
手工測(cè)試是
由人一個(gè)一個(gè)的輸入用例厘贼,然后觀察結(jié)果
界酒,和機(jī)器測(cè)試(指使用機(jī)器去測(cè)試,例如:手機(jī)嘴秸、電腦)相對(duì)應(yīng)毁欣,屬于比較原始但是必須的一種
。 -
自動(dòng)化測(cè)試(Automation Testing)
所謂自動(dòng)化測(cè)試岳掐,就是
在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序凭疮,評(píng)估運(yùn)行結(jié)果
。(預(yù)先條件包括:正常條件和異常條件)串述。簡(jiǎn)單來說执解,自動(dòng)化測(cè)試就是把人為驅(qū)動(dòng)的測(cè)試行為蹦锋,轉(zhuǎn)化為機(jī)器執(zhí)行
的一種過程。
按是否查看代碼劃分:
-
黑色測(cè)試(Black-Box Testing)
黑盒測(cè)試也是功能測(cè)試霍狰,測(cè)試中把被測(cè)的軟件當(dāng)做一個(gè)黑盒子勘天,不關(guān)心盒子的內(nèi)部結(jié)構(gòu)是什么,只關(guān)心軟件的
輸入
數(shù)據(jù)和輸出
數(shù)據(jù)右蕊。 -
白盒測(cè)試(White-Box Testing)
白盒測(cè)試又稱結(jié)構(gòu)測(cè)試琼稻、透明盒測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于代碼的測(cè)試饶囚。白盒測(cè)試是指打開盒子帕翻,去研究里面的
源代碼和程序
結(jié)果。 -
灰盒測(cè)試(Gray-Box Testing)
灰盒測(cè)試是介于白盒測(cè)試和黑盒測(cè)試之間的一種萝风,灰盒測(cè)試多用于集成測(cè)試階段嘀掸,
不僅關(guān)注輸入、輸出的正確性闹丐,同時(shí)也關(guān)注程序內(nèi)部的情況
横殴。
按是否運(yùn)行劃分:
-
靜態(tài)測(cè)試(Static Testing)
靜態(tài)方法是指
不運(yùn)行被測(cè)程序本身
,僅通過分析或檢查源程序的語法卿拴、結(jié)構(gòu)衫仑、過程、接口等來檢查程序的正確性堕花,對(duì)需求規(guī)格說明書文狱、軟件設(shè)計(jì)說明書、源程序做結(jié)構(gòu)分析缘挽、流程圖分析瞄崇、符號(hào)執(zhí)行來找錯(cuò)『韭【靜態(tài)測(cè)試屬于白盒測(cè)試】 -
動(dòng)態(tài)測(cè)試(Dynamic Testing)
動(dòng)態(tài)測(cè)試是指通過
運(yùn)行被測(cè)程序
苏研,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異∪迹【黑盒測(cè)試屬于動(dòng)態(tài)測(cè)試】
按測(cè)試對(duì)象劃分:
(一)非功能測(cè)試
-
性能測(cè)試(Performance Testing)
檢查系統(tǒng)是否滿足需求規(guī)格說明書中規(guī)定的性能摹蘑。
通常表現(xiàn)在以下方面:
- 穩(wěn)定性【例如:一萬人的時(shí)候和十萬人的時(shí)候,甚至一百萬的時(shí)候系統(tǒng)會(huì)不會(huì)卡頓】
- 響應(yīng)時(shí)間【例如:等待相應(yīng)的時(shí)間是否過慢】
- 吞吐量(TPS)
-
安全測(cè)試(Safety Testing)
安全測(cè)試是一個(gè)相對(duì)獨(dú)立的領(lǐng)域轧飞,需要更多的專業(yè)知識(shí)衅鹿。
如:WEB的安全測(cè)試、需要熟悉各種網(wǎng)絡(luò)協(xié)議过咬、防火墻大渤、CDN、熟悉各種操作系統(tǒng)的漏洞掸绞、熟悉路由器等泵三。
-
兼容性測(cè)試(Compatibility Testing)
兼容性測(cè)試主要指軟件之間能否很好的運(yùn)作,會(huì)不會(huì)有影響、軟件和硬件之間能否發(fā)揮很好的效率工作切黔,會(huì)不會(huì)影響導(dǎo)致系統(tǒng)的崩潰砸脊。
- 平臺(tái)測(cè)試【例如:各種不同品牌型號(hào)、不同操作系統(tǒng)(如:android纬霞、iOS)的手機(jī)是否兼容】
- 瀏覽器測(cè)試【例如:不同瀏覽器兼容性測(cè)試(火狐凌埂、谷歌、360等)】
- 軟件本身是否向前或向后兼容【例如:本版本和上一版本是否兼容】
- 測(cè)試軟件是否與其他相關(guān)軟件兼容【例如:同時(shí)下載兩款軟件是否都能正常使用】
- 數(shù)據(jù)兼容性測(cè)試【數(shù)據(jù)之間有一定的隔離性诗芜,兩個(gè)軟件里面的數(shù)據(jù)不會(huì)串瞳抓、相互隔離、兼容】
-
文檔測(cè)試(Document Testing)
- 開發(fā)文件:可行性研究報(bào)告伏恐、
軟件需求說明書
孩哑、數(shù)據(jù)要求說明書、概要設(shè)計(jì)說明書翠桦、詳細(xì)設(shè)計(jì)說明書横蜒、數(shù)據(jù)庫設(shè)計(jì)說明書、模塊開發(fā)卷宗销凑。 - 用戶文件:用戶手冊(cè)丛晌、操作手冊(cè),用戶文檔的作用:改善易安裝性斗幼;改善軟件的易學(xué)性與易用性澎蛛;改善軟件可靠性;降低技術(shù)支持成本蜕窿。
- 管理文件:項(xiàng)目開發(fā)計(jì)劃谋逻、測(cè)試計(jì)劃、測(cè)試分析報(bào)告桐经、開發(fā)進(jìn)度月報(bào)毁兆、項(xiàng)目開發(fā)總結(jié)報(bào)告。
==在實(shí)際的測(cè)試中阴挣,最常見的就是用戶文件的測(cè)試荧恍,例如:用戶操作說明書等。==
文檔測(cè)試關(guān)注的點(diǎn):
- ? 文檔的術(shù)語
- ? 文檔的正確性
- ? 文檔的完整性
- ? 文檔的一致性
- ? 文檔的易用性
- 開發(fā)文件:可行性研究報(bào)告伏恐、
-
易用性(用戶體驗(yàn)性測(cè)試)(User Ability Testing)
易用性是
交互的適應(yīng)性屯吊、功能性和有效性
的集中體現(xiàn)。又叫用戶體驗(yàn)測(cè)試摹菠。 -
界面測(cè)試(User Interface Testing)
界面測(cè)試(簡(jiǎn)稱UI測(cè)試)盒卸,測(cè)試用戶界面的功能模塊的布局是否合理、整體風(fēng)格是否一致次氨、各個(gè)控件的放置位置是否符合客戶使用習(xí)慣蔽介,此外還要測(cè)試界面操作便捷性、導(dǎo)航簡(jiǎn)單易懂性,頁面元素的可用性虹蓄,界面中文字是否正確犀呼,命名是否統(tǒng)一,頁面是否美觀薇组,文字外臂、圖片組合是否完美等。
-
安裝測(cè)試(Installation Testing)
安裝測(cè)試是指:測(cè)試程序的安裝律胀、卸載宋光。最經(jīng)典的就是APP的安裝、卸載炭菌。
(二)功能測(cè)試(Functional Testing)
按測(cè)試實(shí)施的組織劃分:
α測(cè)試(Alpha Testing)
-
β測(cè)試(Beta Testing)
:monkey:α測(cè)試與β測(cè)試區(qū)別:
測(cè)試的
場(chǎng)所不同
:Alpha測(cè)試是指把用戶請(qǐng)到開發(fā)方的場(chǎng)所來測(cè)試罪佳,Beta測(cè)試是指在一個(gè)或多個(gè)用戶的場(chǎng)所進(jìn)行的測(cè)試『诘停【例如:游戲內(nèi)測(cè)版本】-
Alpha測(cè)試的
環(huán)境是受開發(fā)方控制
的赘艳,用戶的數(shù)量相對(duì)比較少
,時(shí)間比較集中
克握。Beta測(cè)試的
環(huán)境是不受開發(fā)方控制
的蕾管,用戶數(shù)量相對(duì)比較多
,時(shí)間不集中
玛荞。 Alpha測(cè)試
先于
Beta測(cè)試執(zhí)行娇掏。通用的軟件產(chǎn)品需要較大規(guī)模的Beta測(cè)試
,測(cè)試周期比較長(zhǎng)
勋眯。
-
第三方測(cè)試(Third-party Testing)
介于開發(fā)方和用戶之前的測(cè)試組織婴梧。【例如:眾測(cè)網(wǎng)】
按測(cè)試地域劃分:
-
國(guó)際化測(cè)試(International Testing)
軟件的國(guó)際化和軟件的本地化是開發(fā)面向全球不同地區(qū)用戶使用的軟件系統(tǒng)的兩個(gè)過程客蹋。而本地化測(cè)試和國(guó)際化測(cè)試則是針對(duì)這類軟件產(chǎn)品進(jìn)行的測(cè)試塞蹭。由于軟件的全球化普及,還有軟件外包行業(yè)的興起讶坯,軟件的本地化和國(guó)際化測(cè)試儼然成為一個(gè)獨(dú)特的測(cè)試專門領(lǐng)域番电。
-
本地化測(cè)試(Localization Testing)
本地化測(cè)試的對(duì)象是軟件的本地化版本。
[圖片上傳失敗...(image-13b26c-1611161011747)]
(三)軟件測(cè)試的原則
測(cè)試應(yīng)該
盡早進(jìn)行
辆琅,最好在需求階段就開始介入漱办,因?yàn)樽顕?yán)重的錯(cuò)誤不外乎是系統(tǒng)不能滿足用戶的需求。程序員
(開發(fā))應(yīng)該避免檢查自己的程序
婉烟,軟件測(cè)試應(yīng)該由第三方(測(cè)試人員)來負(fù)責(zé)娩井。設(shè)計(jì)測(cè)試用例時(shí)應(yīng)考慮到
合法的輸入和不合法的輸入
。在測(cè)試程序時(shí)似袁,不僅要檢驗(yàn)程序是否做了該做的事洞辣,
還要檢驗(yàn)程序是否做了不該做的事
咐刨,多余的工作會(huì)帶來副作用,影響程序的效率扬霜,有時(shí)會(huì)帶來潛在的危害或錯(cuò)誤定鸟。應(yīng)
長(zhǎng)期保留所有測(cè)試用例
,保留測(cè)試用例有助于以后修改程序后的回歸測(cè)試著瓶。
(四)軟件測(cè)試策略
選擇測(cè)試方法:選擇
最合適當(dāng)前項(xiàng)目
的測(cè)試方法(比如項(xiàng)目緊急的時(shí)候联予?項(xiàng)目頻繁發(fā)版)(例如:重復(fù)測(cè)試的工作可以采用自動(dòng)化測(cè)試)角色和職責(zé):需要在測(cè)試策略里面
明確定義各個(gè)角色
,以及該角色的職責(zé)
蟹但。比如項(xiàng)目經(jīng)理躯泰、測(cè)試組長(zhǎng)、測(cè)試工程師华糖。環(huán)境需求:這一點(diǎn)非常重要麦向,它將描述測(cè)試時(shí)需要的系統(tǒng)環(huán)境(軟件,服務(wù)器Linux客叉,windows诵竭,數(shù)據(jù)庫MySQL),包括
軟硬件以及網(wǎng)絡(luò)環(huán)境
等等兼搏。在澄清環(huán)境需求的時(shí)候卵慰,測(cè)試組織可以識(shí)別出資源方面的風(fēng)險(xiǎn)。風(fēng)險(xiǎn)分析:影響測(cè)試過程的風(fēng)險(xiǎn)都應(yīng)該盡早被識(shí)別出來佛呻,而且必須有相應(yīng)的解決辦法以便消除或減輕這些風(fēng)險(xiǎn)裳朋。(例如:人員休假、軟件是否完成)
測(cè)試進(jìn)度評(píng)估:測(cè)試進(jìn)度將會(huì)評(píng)估完成測(cè)試
所需要的時(shí)間
吓著。在設(shè)定進(jìn)度的時(shí)候鲤嫡,首先需要明測(cè)試范圍(比如說這次增加一個(gè)D模塊,部分功能會(huì)影響原來已經(jīng)上線的B模塊的功能)然后根據(jù)測(cè)試資源的多少來指定能被各方面認(rèn)可的測(cè)試進(jìn)度計(jì)劃绑莺。回歸測(cè)試(Regression Testing)策略:回歸測(cè)試用來保證之前fix bug的代碼不會(huì)影響軟件的其他部分暖眼,這樣需要我們選擇已經(jīng)執(zhí)行過的測(cè)試用例重新運(yùn)行。測(cè)試人員需要找到一個(gè)方法來確定哪些測(cè)試用例應(yīng)該在回歸測(cè)試中運(yùn)行纺裁,用例不能太多诫肠,因?yàn)橘Y源有限,用例也不能太少欺缘,否則會(huì)達(dá)不到必須的測(cè)試強(qiáng)度栋豫。
優(yōu)先級(jí):測(cè)試范圍內(nèi)的東西不會(huì)都是一樣重要的,加上測(cè)試資源各種有限谚殊,所以為測(cè)試的模塊排定優(yōu)先級(jí)是十分的必要笼才。
(五)軟件測(cè)試模型
-
瀑布模型
瀑布模型適合于結(jié)構(gòu)化方法。
軟件項(xiàng)目或產(chǎn)品選擇瀑布模型必須滿足下列條件:
- 在開發(fā)時(shí)間內(nèi)需求沒有或很少變化
- 分析設(shè)計(jì)人員應(yīng)對(duì)應(yīng)用領(lǐng)域很熟悉
- 低風(fēng)險(xiǎn)項(xiàng)目(對(duì)目標(biāo)络凿、環(huán)境很熟悉)
- 用戶使用環(huán)境很穩(wěn)定
- 用戶除提出需求以外骡送,很少參答與開發(fā)工作
image -
V模型
優(yōu)點(diǎn):包含了底層測(cè)試(單元測(cè)試)和高層測(cè)試(系統(tǒng)測(cè)試);清楚的標(biāo)識(shí)了開發(fā)和測(cè)試的各個(gè)階段絮记;自上而下逐步求精摔踱,每個(gè)階段分工明確,便于整體項(xiàng)目的把控怨愤。
-
缺點(diǎn):自上而下的順序?qū)е聹y(cè)試工作在編碼后派敷,不能及時(shí)的進(jìn)行修改;實(shí)際工作中撰洗,需求經(jīng)常變化篮愉,導(dǎo)致V模型步驟反復(fù)執(zhí)行,返工量很大差导,靈活度較低试躏。
imageV模型和瀑布模型有一些共同的特性,V模型中的過程從左到右设褐,描述了基本的開發(fā)過程和測(cè)試行為颠蕴。
- 優(yōu)點(diǎn):V模型的價(jià)值在于它非常明確地標(biāo)明了測(cè)試過程中存在的不同級(jí)別,并且清楚地描述了這些測(cè)試階段和開發(fā)過程期間各個(gè)階段的對(duì)應(yīng)關(guān)系助析。 - 局限性:(測(cè)試介入太晚)把測(cè)試作為編碼之后的最后一個(gè)活動(dòng)犀被,需求分析等前期產(chǎn)生的錯(cuò)誤知道后期的驗(yàn)收測(cè)試才能發(fā)現(xiàn)。
-
敏捷模型
image -
W模型
定義:開發(fā)一個(gè)v外冀,測(cè)試一個(gè)v寡键,組合起來的模型(w模型也叫雙v模型)。
image -
H模型
相對(duì)于V模型和W模型雪隧,H模型將測(cè)試活動(dòng)完全獨(dú)立出來西轩,形成了一個(gè)完全獨(dú)立的流程,將測(cè)試準(zhǔn)備活動(dòng)和測(cè)試執(zhí)行活動(dòng)清晰地體現(xiàn)出來膀跌。
image -
探索性測(cè)試
探索性測(cè)試可以說是
一種測(cè)試思維模式
遭商。他沒有很多實(shí)際的測(cè)試方法、技術(shù)和工具捅伤,但是卻是所有測(cè)試人員都應(yīng)該掌握的一種測(cè)試思維方式劫流。
探索性測(cè)試強(qiáng)調(diào)測(cè)試人員的主觀能動(dòng)性,拋棄繁雜的測(cè)試計(jì)劃和測(cè)試用例設(shè)計(jì)過程丛忆,強(qiáng)調(diào)在碰到問題時(shí)及時(shí)改變測(cè)試策略祠汇。