軟件測試基礎(chǔ)篇(上)

一圾浅、軟件缺陷的定義

對于軟件缺陷的精確定義,通常有下列5條描述:

1. 軟件未達到產(chǎn)品說明書的功能???《需求文檔》

2. 軟件出現(xiàn)了產(chǎn)品說明書指明不會出現(xiàn)的錯誤

3. 軟件功能超出產(chǎn)品說明書指明范圍

4. 軟件未達到產(chǎn)品說明書雖未指出但應(yīng)達到的目標

5. 軟件測試員認為難以理解憾朴、不易使用狸捕、運行速度緩慢、或者最終用戶認為不好

二众雷、軟件缺陷的特征

1. 軟件的特殊性決定了缺陷不易看到,即“看不到”灸拍;

2. 發(fā)現(xiàn)了缺陷,但不易找到問題發(fā)生的原因所在,即“看到但是抓不到”。

三砾省、面試題:

測試發(fā)現(xiàn)bug 而開發(fā)不認為是bug的時候:

?? 1.測試人員在根據(jù)需求文檔或者是規(guī)格說明書/原型圖來進行匹配

?? 2.測試人員根據(jù)不同的測試環(huán)境來進行多測嘗試來確認bug 并將bug的復(fù)現(xiàn)步驟進行記錄

?? 3.如果開發(fā)仍舊認為不是bug 需要的測試主管來進行討論 確認是否bug

?? 4.需要找產(chǎn)品經(jīng)理和項目經(jīng)理進行討論是否bug

?? 5.如果認為是bug測試人員將bug進行記錄并提交測試總結(jié)中

四株搔、程序測試包含的內(nèi)容

程序測試包括程序邏輯功能,界面纯蛾,性能,易用性纵隔,兼容性翻诉,安裝等測試,當然文檔測試也算捌刮,排版碰煌,字體大小,也算程序測試的內(nèi)容

五绅作、測試環(huán)境

測試環(huán)境=硬件+軟件+網(wǎng)絡(luò)

硬件環(huán)境:pc機還是筆記本

軟件環(huán)境:不同的操作系統(tǒng)windows10 ?windows8 ?windows7 Linux Mac芦圾,

不同瀏覽器firefox ?chrom

網(wǎng)絡(luò):局域網(wǎng)還是互聯(lián)網(wǎng)

六、測試流程

需求評審---->測試計劃制定---->測試計劃執(zhí)行---->發(fā)布與測試報告總結(jié)

1.需求評審:

(1).從用戶體驗角度提供設(shè)計建議

(2).從開發(fā)經(jīng)驗角度俄认,分析設(shè)計是否存在風險个少,是否能夠?qū)崿F(xiàn)

(3).聯(lián)合其他模塊分析,設(shè)計是否存在漏洞眯杏,邏輯功能存在缺陷

2.測試計劃制定:

(1).測試用例設(shè)計

(2).測試用例評審夜焦,和測試時間估計

(3).測試資源申請

3.測試計劃執(zhí)行:

(1).用例執(zhí)行

(2).Bug修復(fù)驗證和推動版本進度

(3).性能監(jiān)控,壓力測試岂贩,兼容測試

4.發(fā)布與測試報告總結(jié):

(1).版本發(fā)布和線上質(zhì)量監(jiān)控茫经,用戶反饋實時響應(yīng)

(2).測試用例更新整合,測試計劃評估

(3).提供版本最終測試報告萎津,包括用例覆蓋率卸伞,bug數(shù)據(jù)分析等

概括:

項目發(fā)布立項會的時候測試人員進行參與需求討論并生成《需求文檔》?測試會在根據(jù)需求文檔編寫測試計劃,然后UI人員會根據(jù)需求文檔進行設(shè)計原型圖锉屈,后臺開發(fā)對數(shù)據(jù)庫的設(shè)計荤傲,然后后臺開發(fā)會通過需求文檔和原型圖進行編碼,同事部念,測試人員進行編寫測試用例弃酌,了開發(fā)編碼結(jié)束后測試對主要功能進行冒煙測試氨菇。如果冒煙測試執(zhí)行通過,根據(jù)編寫好的測試用例進行執(zhí)行妓湘。發(fā)現(xiàn)bug后進行提交bug作彤,開發(fā)進行修改bug,修改后的bug進行回歸測試肪虎,上線后需要對項目的進行《測試總結(jié)》

七糯笙、測試分類

圖一、

一唬党、按開發(fā)階段劃分

1.單元測試(Unit Testing)

單元測試鹃共,又稱模塊測試。對軟件的組成單位進行測試驶拱,其目的是檢驗軟件基本組成單位的正確性霜浴。測試的對象的是軟件你測試的最小單位:模塊。

測試階段:編碼后或者編碼前

測試對象:模塊

測試人員:白盒測試工程師或開發(fā)人員

測試依據(jù):代碼和注釋+詳細文檔

測試方法:白盒測試

測試內(nèi)容:模塊接口測試蓝纲、局部數(shù)據(jù)測試阴孟、路徑測試、錯誤處理測試税迷、邊界測試

補充說明:

(1)學習測試依據(jù)時永丝,我們可以對比軟件測試的“V”模型結(jié)合記憶

(2)白盒測試不是單元測試,單元測試是白盒測試

(3)測試驅(qū)動開發(fā):測試人員先編寫測試用例箭养,開發(fā)人員根據(jù)測試用例寫程序

2.集成測試(Integration Testing)

集成測試也稱聯(lián)合測試(聯(lián)調(diào))慕嚷、組裝測試:將程序模塊采用適當?shù)募刹呗越M裝起來,對系統(tǒng)的接口及集成后的功能進行正確性檢測的測試工作毕泌。集成主要目的是檢查軟件單位之間的接口是否正確喝检。

測試階段:一般是單元測試之后

測試對象:模塊間的接口

測試人員:白盒測試工程師或開發(fā)工程師

測試依據(jù):單元測試的文檔+概要設(shè)計文檔

測試方法:黑盒測試與白盒測試(灰盒測試)

測試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突懈词、模塊組裝功能的正確性蛇耀、全局數(shù)據(jù)結(jié)構(gòu)、單模塊缺陷對系統(tǒng)的影響

補充說明:

單元測試是一個模塊內(nèi)部的測試坎弯,集成測試是在模塊之間進行測試(至少兩個)

3.系統(tǒng)測試(System Testing)

系統(tǒng)測試:將軟件系統(tǒng)看成是一個系統(tǒng)的測試纺涤。包括對功能、性能以及軟件所運行的軟硬件環(huán)境進行測試抠忘。時間大部分在系統(tǒng)測試執(zhí)行階段撩炊,包括回歸測試和冒煙測試。

測試階段:集成測試階段之后

測試對象:整個系統(tǒng)(軟件崎脉、硬件)

測試人員:黑盒測試工程師

測試依據(jù):需求規(guī)格說明文檔

測試方法:黑盒測試

測試內(nèi)容:功能拧咳、界面、可靠性囚灼、易用性骆膝、性能祭衩、兼容性、安全性等

補充說明:

(1)系統(tǒng)測試是從完整的角度阅签,廣面去看待問題掐暮,不再看模塊

(2)雖然系統(tǒng)測試包括冒煙測試和回歸測試,但三者之間是有嚴格的先后順序的政钟,即:先冒煙路克、再系統(tǒng)、后回歸养交。

(1)回歸測試(Regression Testing):指修改了舊的代碼之后精算,重新進行測試以確認修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。(自動回歸測試將大幅度降低系統(tǒng)測試碎连、維護升級等階段的成本)灰羽。

在整個軟件測試過程中占有很大的工作比重,軟件開發(fā)的各個階段都會進行多次回歸測試鱼辙。隨著系統(tǒng)的龐大谦趣,回歸測試的成本越來越大,通過正確的回歸測試策略來改進回歸測試的效率和有效性是很有意義的座每。

(2)冒煙測試(smoke testing):該術(shù)語來自硬件,指對一個硬件或一組硬件進行更改或修復(fù)后摘悴,直接給設(shè)備加電峭梳。如果沒有冒煙,則該組件就通過了測試蹂喻,也可以理解為該種測試耗時短葱椭,僅用一袋煙的功夫就足夠了。

冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本口四,目的是確認軟件基本功能正常孵运,可以進行后續(xù)正式的測試工作。

冒煙測試的執(zhí)行者是版本編譯人蔓彩。

冒煙測試一般在開發(fā)人員開發(fā)完畢后送給測試人員來進行測試時治笨,測試人員會先進行冒煙測試,保證基本功能正常赤嚼,不阻礙后續(xù)測試旷赖。

4.驗收測試(Acceptance Testing)

驗收測試(交付測試):是部署軟件之前的最后一個測試操作。它是技術(shù)測試的最后一個階段更卒,也稱為交付測試等孵。驗收測試的目的是確保軟件準備就緒,按照項目合同蹂空、任務(wù)書俯萌、雙方約定的驗收依據(jù)文檔果录,向軟件購買都展示該軟件系統(tǒng)滿足原始需求。

測試階段:系統(tǒng)測試通過后

測試對象:整個系統(tǒng)(包括軟硬件)

測試人員:主要是最終用戶或者需求方

測試依據(jù):用戶需求咐熙、驗收標準

測試方法:黑盒測試

測試內(nèi)容:同系統(tǒng)測試(功能弱恒、各類文檔文檔等)

下面,我們以手機為例糖声,舉個例子:

針對買回來的新手機以及它的美顏功能來進行測試斤彼。

(1)當買回來的手機,它的美顏功能有問題時蘸泻,我們只針對美顏功能的代碼進行測試琉苇,就是單元測試。

(2)對于新買回來的手機悦施,檢測手機通訊錄是否可以增添并扇、刪除、更改手機號碼抡诞,打電話時需要手動的輸入電話穷蛹,也可以在手機中查找,這就是集成測試昼汗。

(3)新手機都會有一個合格標簽肴熏,原因是出廠前手機廠商會對某一個型號的手機功能全部測試一遍,包括手機硬件本身顷窒,手機自帶的APP等蛙吏,這個叫系統(tǒng)測試。

(4)當修好新買回來的手機的美顏功能以后鞋吉,用戶除了會查看美顏功能是否完好鸦做,還會查看其他功能是否也完好,這個叫回歸測試谓着。

(5)對于新買回來的手機泼诱,我們做的第一件事是將常用的手機功能試一遍,第二件事情就是講所有功能都試一遍赊锚,這個叫冒煙測試治筒。

(6)對于新買回來的手機,一般都有7天包退舷蒲,30天包換矢炼,我們一般都是在7天內(nèi)把手機的所有功能都試一遍,這叫驗收測試阿纤。

二句灌、按是否查看代碼劃分

1.黑盒測試(Black-box Testing)

黑盒測試也是功能測試,測試中把被測的軟件當成一個黑盒子,不關(guān)心盒子的內(nèi)部結(jié)構(gòu)是什么胰锌,只關(guān)心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)骗绕。

2.白盒測試(White-box Testing)

白盒測試又稱結(jié)構(gòu)測試、透明盒測試资昧、邏輯驅(qū)動測試或基于代碼的測試酬土。白盒測試是指打開盒子,去研究里面的源代碼和程序結(jié)果格带。

白盒測試也是接口測試的一種撤缴。

3.灰盒測試(Gray-Box Testing)

灰盒測試是介于白盒測試和黑盒測試之間的一種,灰盒測試多用于集成測試階段叽唱,不僅關(guān)注輸入屈呕、輸出的正確性,同時也關(guān)注程序內(nèi)部的情況棺亭。

灰盒測試:功能+接口

三虎眨、按是否運行劃分

1.靜態(tài)測試(Static testing)

靜態(tài)方法是指不運行被測程序本身,僅通過分析或檢查源程序的語法镶摘、結(jié)構(gòu)嗽桩、過程、接口等來檢查程序的正確性凄敢,對需求規(guī)格說明書碌冶、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析涝缝、流程圖分析种樱、符號執(zhí)行來找錯。分析如下:

檢查項:代碼風格和規(guī)則審核俊卤;程序設(shè)計和結(jié)構(gòu)的審核;業(yè)務(wù)邏輯的審核害幅;走查消恍、審查與技術(shù)復(fù)審手冊。

靜態(tài)質(zhì)量:度量所依據(jù)的標準是ISO9126以现。在該標準中狠怨,軟件的質(zhì)量用以下幾個方面來衡量,即功能性(Functionality)邑遏、可靠(Reliability)佣赖、可用性(Usability)、有效性(Efficiency)记盒、可維護性(Maintainability)憎蛤、可移植性(Portability)。

靜態(tài)測試:代碼靜態(tài)分析和文檔測試都屬于靜態(tài)測試。

2.動態(tài)測試(Dynamic testing)

動態(tài)測試是指通過運行被測程序俩檬,檢查運行結(jié)果與預(yù)期結(jié)果的差異萎胰,并分析運行效率、正確性棚辽、健壯性技竟、等性能。

(1)動態(tài)測試有三部分組成:構(gòu)造測試用例屈藐、執(zhí)行程序榔组、分析程序的輸出結(jié)果。

(2)大多數(shù)軟件測試都屬于動態(tài)測試联逻。

四搓扯、按測試對象劃分

1.性能測試

檢查系統(tǒng)是否滿足需求規(guī)格說明書中規(guī)定的性能。

通常表現(xiàn)在以下幾個方面:

對資源利用(如內(nèi)存遣妥、處理機周期等)進行的精確度量

對執(zhí)行間隔

日志事件(如中斷擅编,報錯)

響應(yīng)時間

吞吐量(TPS)

輔助存儲區(qū)(例如緩沖區(qū)、工作區(qū)的大小等)

處理精度等進行的監(jiān)測

2.安全測試

安全測試是一個相對獨立的領(lǐng)域箫踩,需要更多的專業(yè)知識爱态。如:WEB的安全測試、需要熟悉各種網(wǎng)絡(luò)協(xié)議境钟、防火墻锦担、CDN、熟悉各種操作系統(tǒng)的漏洞慨削、熟悉路由器等洞渔。

安全測試這個領(lǐng)域感覺也是很有意思的,希望以后有機會學習學習8刻4沤贰!

3.兼容性測試

兼容性測試主要是指玫芦,軟件之間能否很好的運作浆熔,會不會有影響、軟件和硬件之間能否發(fā)揮很好的效率工作桥帆,會不會影響導致系統(tǒng)的崩潰医增。

平臺測試

瀏覽器測試

軟件本身能否向前或向后兼容

測試軟件能否與其它相關(guān)軟件兼容

數(shù)據(jù)兼容性測試

最常見的兼容性測試就是瀏覽器的兼容性測試,不同瀏覽器在css老虫,js解析上的不同會導致頁面顯示不同叶骨。

常見的IE8的兼容性。

4.文檔測試

國家有關(guān)計算機軟件產(chǎn)品開發(fā)文件編制指南中共有14種文件祈匙,可分為3大類忽刽。

開發(fā)文件:可行性研究報告、軟件需求說明書、數(shù)據(jù)要求說明書缔恳、概要設(shè)計說明書宝剖、詳細設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書歉甚、模塊開發(fā)卷宗万细。

用戶文件:用戶手冊、操作手冊纸泄,用戶文檔的作用:改善易安裝性赖钞;改善軟件的易學性與易用性;改善軟件可靠性聘裁;降低技術(shù)支持成本雪营。

管理文件:項目開發(fā)計劃、測試計劃衡便、測試分析報告献起、開發(fā)進度月報、項目開發(fā)總結(jié)報告镣陕。

在實際的測試中谴餐,最常見的就是用戶文件的測試,例如:手冊說明書等呆抑。

文檔測試關(guān)注的點:

文檔的術(shù)語

文檔的正確性

文檔的完整性?

文檔的一致性

文檔的易用性

5.易用性測試(用戶體驗測試)

易用性(Useability)是交互的適應(yīng)性岂嗓、功能性和有效性的集中體現(xiàn)。又叫用戶體驗測試鹊碍。

6.業(yè)務(wù)測試

業(yè)務(wù)測試是指:測試人員將系統(tǒng)的整個模塊串接起來運行厌殉、模擬真實用戶實際的工作流程。滿足用戶需求定義的功能來進行測試的過程侈咕。

7.界面測試

界面測試(簡稱UI測試)公罕,測試用戶界面的功能模塊的布局是否合理、整體風格是否一致耀销、各個控件的放置位置是否符合客戶使用習慣楼眷,此外還要測試界面操作便捷性、導航簡單易懂性树姨,頁面元素的可用性,界面中文字是否正確桥状,命名是否統(tǒng)一帽揪,頁面是否美觀,文字辅斟、圖片組合是否完美等转晰。

8.安裝測試

安裝測試是指:測試程序的安裝、卸載。最典型的就是APP的安裝查邢、卸載蔗崎。

9.內(nèi)存泄漏測試

內(nèi)存泄漏的檢測: 1、對于不同的程序可以使用不同的方法來進行內(nèi)存泄露的檢查扰藕,還可以使用一些專門的工具來進行內(nèi)存問題的檢查缓苛,例如MemProof. AQTime、Purify邓深、BundsChecker等未桥。 有些開發(fā)工具本身就帶有內(nèi)存問題檢查機制.要確保程序員在編寫程序和編譯程序的時候打開這些功能。

2芥备、通過代碼掃描分析工具來檢查

五冬耿、按測試實施的組織

1.α測試(Alpha Testing)

α測試是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進行的測試萌壳。

α測試的目的是評價軟件產(chǎn)品的FLURPS(即功能亦镶、局域化、可使用性袱瓮、可靠性缤骨、性能和支持)。

2.β測試(Beta Testing)

Beta測試是一種驗收測試懂讯。Beta測試由軟件的最終用戶們在一個或多個客房場所進行荷憋。

α測試與Beta測試的區(qū)別:

(1)測試的場所不同:Alpha測試是指把用戶請到開發(fā)方的場所來測試,beta測試是指在一個或多個用戶的場所進行的測試。

(2)Alpha測試的環(huán)境是受開發(fā)方控制的,用戶的數(shù)量相對比較少,時間比較集中褐望。beta測試的環(huán)境是不受開發(fā)方控制的,用戶數(shù)量相對比較多,時間不集中勒庄。

(3)alpha測試先于beta測試執(zhí)行。通用的軟件產(chǎn)品需要較大規(guī)模的beta測試,測試周期比較長瘫里。

3.第三方測試

介于開發(fā)方和用戶方之間的組織測試实蔽。

六、按是否手工執(zhí)行劃分

1.手工測試(Manual testing)

手工測試是由人一個一個的輸入用例谨读,然后觀察結(jié)果局装,和機器測試相對應(yīng),屬于比較原始但是必須的一種劳殖。

優(yōu)點:自動化測試無法代替探索性測試铐尚、發(fā)散思維類無既定結(jié)果的測試。

缺點:執(zhí)行效率慢哆姻,量大易錯宣增。

2.自動化測試(Automation Testing)

所謂自動化測試,就是在預(yù)設(shè)條件下運行系統(tǒng)或應(yīng)用程序矛缨,評估運行結(jié)果爹脾。(預(yù)先條件包括:正常條件和異常條件)帖旨。簡單來說,自動化測試就是是把人為驅(qū)動的測試行為灵妨,轉(zhuǎn)化為機器執(zhí)行的一種過程解阅。

自動化測試有:測試自動化、性能測試自動化泌霍、安全測試自動化货抄。(一般情況下,我們說的自動化是指功能測試的自動化)

自動化測試按照測試對象來分烹吵,還可以分為接口測試碉熄、UI測試等。接口測試的ROI(產(chǎn)出投入比)要比UI測試高肋拔。

自動化實施的步驟:

(1)完成功能測試锈津,版本基本穩(wěn)定

(2)根據(jù)項目特性,選擇適合項目的自動化工具凉蜂,并搭建環(huán)境

(3)提取手工測試的測試用例轉(zhuǎn)換為自動化測試的用例

(4)通過工具琼梆、代碼實現(xiàn)自動化的構(gòu)造輸入、自動檢測輸出結(jié)果是否符合預(yù)期

(5)生成自動測試報告

(6)持續(xù)改進窿吩、腳本優(yōu)化

七茎杂、按測試地域劃分

1.國際化測試

軟件的國際化和軟件的本地化是開發(fā)面向全球不同地區(qū)用戶使用的軟件系統(tǒng)的兩個過程。而本地化測試和國際化測試則是針對這類軟件產(chǎn)品進行的測試纫雁。由于軟件的全球化普及煌往,還有軟件外包行業(yè)的興起,軟件的本地化和國際化測試儼然成為了一個獨特的測試專門領(lǐng)域轧邪。

本地化和國際化測試與其他類型的測試存在很多不同之處刽脖。下面是本地化和國際化測試 的一些要點。

1忌愚、本地化后的軟件在外觀上與原來版本是否存在很大的差異曲管,外觀是否墼齊、不走樣硕糊。

2院水、是否對所有界面元素都進行了本地化處理,包括對話框简十、菜單檬某、工具欄、狀態(tài)欄螟蝙、提示信息(包括聲音的提示)恢恼、日志等。

3胶逢、在不同的屏幕分辨率下界面是否正常顯示厅瞎。

4、是否存在不同的字體大小初坠,字體設(shè)置是否恰當和簸。

5、日期碟刺、數(shù)字格式锁保、貨幣等是否能適應(yīng)不同國家的文化習俗。例如半沽,中文是年月日爽柒,而英文是月日年。

6者填、排序的方式是否考慮了不同語言的特點浩村。例如,中文按照第一個字的漢語拼音順序排序占哟,而英文按照首字母排序心墅。

7、在不同的國家采用不同的度量單位榨乎,軟件是否能自適應(yīng)和轉(zhuǎn)換怎燥。

8、軟件是否能在不同類型的硬件上正常運行蜜暑,特別是在當?shù)厥袌錾箱N售的流行硬件上铐姚。

9、軟件是否能在Windows或者其他操作系統(tǒng)的當?shù)匕姹旧险_\行肛捍。

10隐绵、聯(lián)機幫助和文檔是否已經(jīng)翻譯,翻譯后的鏈接是否正常篇梭。正文翻譯是否正確氢橙、恰當, 是否有語法錯誤恬偷。

軟件本地化和國際化測試是一個綜合了翻譯行業(yè)和軟件測試行業(yè)的測試類型悍手。它要求測 試人員具備一定的翻譯能力、語言文化袍患,同時具備測試人員的基本技能坦康。

2.本地化測試

之前我們一起學習的測試都是本地化測試。

圖二诡延、

2.1滞欠、黑盒,白盒和灰盒測試

黑盒測試?:已知產(chǎn)品的功能設(shè)計規(guī)格肆良,可以進行測試證明每個實現(xiàn)了的功能是否符合要求筛璧。

白盒測試?:已知產(chǎn)品的內(nèi)部工作過程逸绎,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查夭谤。

灰盒測試:是介于白盒測試與黑盒測試之間的棺牧,可以這樣理解,灰盒測試關(guān)注輸出對于輸入的正確性朗儒,同時也關(guān)注內(nèi)部表現(xiàn)颊乘,但這種關(guān)注不象白盒那樣詳細、完整醉锄,只是通過一些表征性的現(xiàn)象乏悄、事件、標志來判斷內(nèi)部的運行狀態(tài)恳不,有時候輸出是正確的檩小,但內(nèi)部其實已經(jīng)錯誤了,這種情況非常多烟勋,如果每次都通過白盒測試來操作识啦,效率會很低,因此需要采取這樣的一種灰盒的方法

2.2神妹、靜態(tài)和動態(tài)測試

靜態(tài)測試:是指不實際運行被測試軟件颓哮,而只是靜態(tài)的檢查程序代碼、界面或者文檔中可能存在的錯誤的過程鸵荠。

動態(tài)測試:是指實際運行被測程序冕茅,輸入相應(yīng)的測試數(shù)據(jù),檢查實際輸出結(jié)果和預(yù)期結(jié)果是否相符的過程蛹找。

2.3:功能測試和性能測試

功能測試:是黑盒測試的一部分姨伤,它檢查實際軟件的功能是否符合用戶的需求。

功能測試可以細分邏輯功能測試庸疾,界面測試乍楚,易用性測試,安裝測試和兼容性測試届慈。

邏輯功能測試:測試應(yīng)用是否符合邏輯徒溪,比如應(yīng)該先注冊賬號之后,才能進行登錄,登錄之后才能看我的購物車

界面測試:窗口大小金顿,按鈕大小臊泌,點擊按鈕彈出什么樣的提示框,是否有滾動條揍拆,下拉菜單是否有展示內(nèi)容...

易用性測試:從軟件使用的合理性和方便性等角度對軟件系統(tǒng)進行檢查,比如渠概,軟件窗口長寬比例是否合適,顏色色彩是否賞心悅目嫂拴,字體大小是否合適

安裝測試:

兼容性測試:硬件兼容性測試和軟件兼容性測試

硬件兼容性:比如一款軟件在pc機播揪,筆記本上是否兼容

軟件兼容性測試:比如一款軟件在windows8和windows10上是否兼容

性能測試

時間性能:軟件的一個具體事務(wù)的響應(yīng)時間贮喧。比如點擊一個登陸按鈕,到登錄成功(失敗)的反應(yīng)時間猪狈,瀏覽器非常常見塞淹,ANR(Application not responding 應(yīng)用程序無響應(yīng))

空間性能:軟件運行時所消耗的系統(tǒng)資源,比如對內(nèi)存和cpu的消耗

一般性能測試:軟件正常運行罪裹,不向其施加任何壓力的測試

穩(wěn)定性測試:也叫可靠性測試,是指連續(xù)運行被測系統(tǒng)运挫,檢查系統(tǒng)運行時的穩(wěn)定成都状共。

負載測試:讓被測系統(tǒng)在其能夠忍受的壓力范圍之內(nèi)連續(xù)運行,來測試系統(tǒng)的穩(wěn)定性谁帕。(測試載重)

壓力測試:持續(xù)不斷的給被測試的系統(tǒng)增加壓力峡继,直到被測試的系統(tǒng)壓垮為止,用來測試系統(tǒng)所承受的最大壓力匈挖。(測試強度)

2.4回歸碾牌,冒煙,隨機測試

回歸測試

是指對軟件的新版本進行測試時儡循,重復(fù)執(zhí)行上一個版本測試時的用例舶吗,比如在1.0版本中,有一個bug择膝,到了2.0版本中,再重新測試1.0中這個bug

冒煙測試

指對一個軟件進行系統(tǒng)大規(guī)模的測試之前誓琼,先驗證一下軟件的基本功能是否實現(xiàn),是否具備可測性肴捉。

測試小組在正式測試一個新版本之前腹侣,先指派一兩個測試人員測試一下軟件的主要功能,如果沒有實現(xiàn)齿穗,則打回開發(fā)組重新開發(fā)傲隶,這樣做可以節(jié)省大量的時間成本和人力成本。

隨機測試

是指測試中所有的輸入數(shù)據(jù)都是隨機生成的窃页,其目的是模擬用戶的真實操作跺株,并發(fā)現(xiàn)一些邊緣性的錯誤。

2.5單元測試脖卖、集成測試帖鸦、系統(tǒng)測試和驗收測試

單元測試

單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證胚嘲。對于單元測試中單元的含義作儿,一般來說,要根據(jù)實際情況去判定其具體含義馋劈,如C語言中單元指一個函數(shù)攻锰,Java里單元指一個類晾嘶,圖形化的軟件中可以指一個窗口或一個菜單等。

總的來說娶吞,單元就是人為規(guī)定的最小的被測功能模塊垒迂。

單元測試當一段代碼完成之后,是由白盒測試工程師或者開發(fā)人員自行測試妒蛇,比如java中執(zhí)行單元測試叫做junit測試机断。

目前大部分公司單元測試由開發(fā)人員簡單編譯和調(diào)試一下自己的程序,沒有相應(yīng)的單元測試計劃绣夺。

單元測試方式:先靜態(tài)地觀察代碼是否符合規(guī)范吏奸,然后動態(tài)地運行一下代碼,檢查運行的結(jié)果。

例如:模塊接口測試

應(yīng)對通過所測模塊的數(shù)據(jù)流進行測試

調(diào)用所測模塊時的輸入?yún)?shù)與模塊的形式參數(shù)的個數(shù)陶耍、屬性和順序是否匹配

所測模塊調(diào)用子模塊時奋蔚,輸入子模塊的參數(shù)與子模塊的形式參數(shù)在個數(shù)、屬性和順序上是否匹配烈钞。

輸出給標準函數(shù)的參數(shù)的個數(shù)泊碑、屬性和順序是否正確。

全局變量的定義在各個模塊中是否一致毯欣。

當模塊通過外部設(shè)備進行輸入/輸出操作馒过,文件屬性是否正確、open和close語句是否正確酗钞,規(guī)定的I/O格式說明與I/O語句是否匹配沉桌;緩沖區(qū)容量是否與記錄長度匹配,在讀寫之前是否打開了文件算吩,讀寫之后是否關(guān)閉了文件留凭,對I/O錯誤是否做了處理。

驅(qū)動模塊:相當于所測模塊的主程序偎巢,它接收測試數(shù)據(jù)蔼夜,把這些數(shù)據(jù)傳送給所測模塊,最后再輸出實際結(jié)果

樁模塊:用以代替所測模塊調(diào)用的子模塊压昼。

集成測試

集成測試是單元測試的下一個階段求冷,是指將通過測試單元模塊組裝成系統(tǒng)或者子系統(tǒng),再進行測試窍霞,重點測試不同模塊的接口部分匠题。

在把各個模塊連接起來的時候,穿越各個模塊的接口的數(shù)據(jù)時候會丟失

一個模塊的功能是否會對另一個模塊的功能產(chǎn)生不利的影響

各個子功能組裝完成后但金,能否達到預(yù)期的父功能

全局數(shù)據(jù)結(jié)構(gòu)是否有問題

單個模塊產(chǎn)生的誤差累計起來是否會放大

系統(tǒng)測試和驗收測試

集成測試完成之后韭山,就是系統(tǒng)測試和驗收測試。

系統(tǒng)測試:指的是將整個軟件系統(tǒng)看做一個1個整體進行測試,包括對功能钱磅、性能梦裂,以及軟件所運行的軟硬件環(huán)境進行測試。

系統(tǒng)測試由黑盒測試人員在整個系統(tǒng)集成完畢后進行測試盖淡,前期主要測試系統(tǒng)的功能是否滿足需求年柠,后期主要測試系統(tǒng)運行的性能是否滿足需求,以及系統(tǒng)在不同的軟硬件環(huán)境的兼容性等褪迟。

驗收測試:以用戶為主的測試冗恨,軟件開發(fā)人員和質(zhì)量保證人員參加

八、測試案例*(思維導圖)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末味赃,一起剝皮案震驚了整個濱河市掀抹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洁桌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侯嘀,死亡現(xiàn)場離奇詭異另凌,居然都是意外死亡,警方通過查閱死者的電腦和手機戒幔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門吠谢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诗茎,你說我怎么就攤上這事工坊。” “怎么了敢订?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我露氮,道長湘捎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任矾柜,我火速辦了婚禮阱驾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怪蔑。我一直安慰自己里覆,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布缆瓣。 她就那樣靜靜地躺著喧枷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上割去,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天窟却,我揣著相機與錄音,去河邊找鬼呻逆。 笑死夸赫,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的咖城。 我是一名探鬼主播茬腿,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宜雀!你這毒婦竟也來了切平?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辐董,失蹤者是張志新(化名)和其女友劉穎悴品,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體简烘,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡苔严,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了孤澎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片届氢。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖覆旭,靈堂內(nèi)的尸體忽然破棺而出退子,到底是詐尸還是另有隱情,我是刑警寧澤型将,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布寂祥,位于F島的核電站,受9級特大地震影響七兜,放射性物質(zhì)發(fā)生泄漏壤靶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一惊搏、第九天 我趴在偏房一處隱蔽的房頂上張望贮乳。 院中可真熱鬧,春花似錦恬惯、人聲如沸向拆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浓恳。三九已至刹缝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颈将,已是汗流浹背梢夯。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晴圾,地道東北人颂砸。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像死姚,于是被迫代替她去往敵國和親人乓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容