軟件測試基礎(一)

一、 軟件缺陷的定義

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

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

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

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

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

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

二耿芹、軟件缺陷的特征

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

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

三、面試題:

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

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

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

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

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

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

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

程序測試包括程序邏輯功能迹炼,界面,性能颠毙,易用性斯入,兼容性,安裝等測試蛀蜜,當然文檔測試也算刻两,排版,字體大小滴某,也算程序測試的內(nèi)容

五磅摹、測試環(huán)境

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

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

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

不同瀏覽器firefox ?chrom

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

六、測試流程

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

1.需求評審:

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

(2).從開發(fā)經(jīng)驗角度户誓,分析設計是否存在風險饼灿,是否能夠?qū)崿F(xiàn)

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

2.測試計劃制定:

(1).測試用例設計

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

(3).測試資源申請

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

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

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

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

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

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

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

(3).提供版本最終測試報告舰褪,包括用例覆蓋率皆疹,bug數(shù)據(jù)分析等

概括:

項目發(fā)布立項會的時候測試人員進行參與需求討論并生成《需求文檔》?測試會在根據(jù)需求文檔編寫測試計劃,然后UI人員會根據(jù)需求文檔進行設計原型圖抵知,后臺開發(fā)對數(shù)據(jù)庫的設計墙基,然后后臺開發(fā)會通過需求文檔和原型圖進行編碼,同事刷喜,測試人員進行編寫測試用例残制,了開發(fā)編碼結束后測試對主要功能進行冒煙測試。如果冒煙測試執(zhí)行通過掖疮,根據(jù)編寫好的測試用例進行執(zhí)行初茶。發(fā)現(xiàn)bug后進行提交bug,開發(fā)進行修改bug浊闪,修改后的bug進行回歸測試恼布,上線后需要對項目的進行《測試總結》

七、測試分類

圖一搁宾、


一折汞、按開發(fā)階段劃分

1.單元測試(Unit Testing)

單元測試,又稱模塊測試盖腿。對軟件的組成單位進行測試爽待,其目的是檢驗軟件基本組成單位的正確性。測試的對象的是軟件你測試的最小單位:模塊翩腐。

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

測試對象:模塊

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

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

測試方法:白盒測試

測試內(nèi)容:模塊接口測試鸟款、局部數(shù)據(jù)測試、路徑測試茂卦、錯誤處理測試何什、邊界測試

補充說明:

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

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

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

2.集成測試(Integration Testing)

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

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

測試對象:模塊間的接口

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

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

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

測試內(nèi)容:模塊之間數(shù)據(jù)傳輸、模塊之間功能沖突悠瞬、模塊組裝功能的正確性们豌、全局數(shù)據(jù)結構、單模塊缺陷對系統(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):該術語來自硬件野蝇,指對一個硬件或一組硬件進行更改或修復后讼稚,直接給設備加電括儒。如果沒有冒煙,則該組件就通過了測試锐想,也可以理解為該種測試耗時短帮寻,僅用一袋煙的功夫就足夠了。

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

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

冒煙測試一般在開發(fā)人員開發(fā)完畢后送給測試人員來進行測試時烫罩,測試人員會先進行冒煙測試,保證基本功能正常洽故,不阻礙后續(xù)測試贝攒。

4.驗收測試(Acceptance Testing)

驗收測試(交付測試):是部署軟件之前的最后一個測試操作。它是技術測試的最后一個階段时甚,也稱為交付測試隘弊。驗收測試的目的是確保軟件準備就緒,按照項目合同荒适、任務書梨熙、雙方約定的驗收依據(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)

黑盒測試也是功能測試,測試中把被測的軟件當成一個黑盒子饰序,不關心盒子的內(nèi)部結構是什么领虹,只關心軟件的輸入數(shù)據(jù)和輸出數(shù)據(jù)。

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

白盒測試又稱結構測試求豫、透明盒測試塌衰、邏輯驅(qū)動測試或基于代碼的測試。白盒測試是指打開盒子蝠嘉,去研究里面的源代碼和程序結果最疆。

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

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

灰盒測試是介于白盒測試和黑盒測試之間的一種蚤告,灰盒測試多用于集成測試階段努酸,不僅關注輸入、輸出的正確性杜恰,同時也關注程序內(nèi)部的情況获诈。

灰盒測試:功能+接口

三、按是否運行劃分

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

靜態(tài)方法是指不運行被測程序本身心褐,僅通過分析或檢查源程序的語法舔涎、結構、過程逗爹、接口等來檢查程序的正確性亡嫌,對需求規(guī)格說明書、軟件設計說明書、源程序做結構分析昼伴、流程圖分析、符號執(zhí)行來找錯镣屹。分析如下:

檢查項:代碼風格和規(guī)則審核圃郊;程序設計和結構的審核;業(yè)務邏輯的審核女蜈;走查持舆、審查與技術復審手冊。

靜態(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)測試是指通過運行被測程序譬嚣,檢查運行結果與預期結果的差異,并分析運行效率钞它、正確性拜银、健壯性、等性能遭垛。

(1)動態(tài)測試有三部分組成:構造測試用例尼桶、執(zhí)行程序、分析程序的輸出結果耻卡。

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

四、按測試對象劃分

1.性能測試

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

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

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

對執(zhí)行間隔

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

響應時間

吞吐量(TPS)

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

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

2.安全測試

安全測試是一個相對獨立的領域溢豆,需要更多的專業(yè)知識。如:WEB的安全測試瘸羡、需要熟悉各種網(wǎng)絡協(xié)議漩仙、防火墻、CDN、熟悉各種操作系統(tǒng)的漏洞队他、熟悉路由器等卷仑。

安全測試這個領域感覺也是很有意思的,希望以后有機會學習學習t镎邸N!

3.兼容性測試

兼容性測試主要是指垢啼,軟件之間能否很好的運作窜锯,會不會有影響、軟件和硬件之間能否發(fā)揮很好的效率工作芭析,會不會影響導致系統(tǒng)的崩潰锚扎。

平臺測試

瀏覽器測試

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

測試軟件能否與其它相關軟件兼容

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

最常見的兼容性測試就是瀏覽器的兼容性測試,不同瀏覽器在css馁启,js解析上的不同會導致頁面顯示不同驾孔。

常見的IE8的兼容性。

4.文檔測試

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

開發(fā)文件:可行性研究報告、軟件需求說明書螟碎、數(shù)據(jù)要求說明書眉菱、概要設計說明書、詳細設計說明書掉分、數(shù)據(jù)庫設計說明書俭缓、模塊開發(fā)卷宗。

用戶文件:用戶手冊酥郭、操作手冊华坦,用戶文檔的作用:改善易安裝性;改善軟件的易學性與易用性不从;改善軟件可靠性惜姐;降低技術支持成本。

管理文件:項目開發(fā)計劃椿息、測試計劃歹袁、測試分析報告、開發(fā)進度月報寝优、項目開發(fā)總結報告条舔。

在實際的測試中,最常見的就是用戶文件的測試乏矾,例如:手冊說明書等孟抗。

文檔測試關注的點:

文檔的術語

文檔的正確性

文檔的完整性?

文檔的一致性

文檔的易用性

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

易用性(Useability)是交互的適應性迁杨、功能性和有效性的集中體現(xiàn)。又叫用戶體驗測試凄硼。

6.業(yè)務測試

業(yè)務測試是指:測試人員將系統(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)

手工測試是由人一個一個的輸入用例,然后觀察結果博秫,和機器測試相對應潦牛,屬于比較原始但是必須的一種。

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

缺點:執(zhí)行效率慢,量大易錯即寒。

2.自動化測試(Automation Testing)

所謂自動化測試橡淆,就是在預設條件下運行系統(tǒng)或應用程序,評估運行結果母赵。(預先條件包括:正常條件和異常條件)逸爵。簡單來說,自動化測試就是是把人為驅(qū)動的測試行為凹嘲,轉(zhuǎn)化為機器執(zhí)行的一種過程师倔。

自動化測試有:測試自動化、性能測試自動化周蹭、安全測試自動化溯革。(一般情況下,我們說的自動化是指功能測試的自動化)

自動化測試按照測試對象來分谷醉,還可以分為接口測試致稀、UI測試等。接口測試的ROI(產(chǎn)出投入比)要比UI測試高俱尼。

自動化實施的步驟:

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

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

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

(4)通過工具矛绘、代碼實現(xiàn)自動化的構造輸入、自動檢測輸出結果是否符合預期

(5)生成自動測試報告

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

七货矮、按測試地域劃分

1.國際化測試

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

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

1、本地化后的軟件在外觀上與原來版本是否存在很大的差異铃在,外觀是否墼齊阵具、不走樣。

2定铜、是否對所有界面元素都進行了本地化處理阳液,包括對話框、菜單揣炕、工具欄趁舀、狀態(tài)欄、提示信息(包括聲音的提示)祝沸、日志等。

3越庇、在不同的屏幕分辨率下界面是否正常顯示罩锐。

4、是否存在不同的字體大小卤唉,字體設置是否恰當涩惑。

5、日期桑驱、數(shù)字格式竭恬、貨幣等是否能適應不同國家的文化習俗。例如熬的,中文是年月日痊硕,而英文是月日年。

6押框、排序的方式是否考慮了不同語言的特點岔绸。例如,中文按照第一個字的漢語拼音順序排序橡伞,而英文按照首字母排序盒揉。

7、在不同的國家采用不同的度量單位兑徘,軟件是否能自適應和轉(zhuǎn)換刚盈。

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

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

10谴分、聯(lián)機幫助和文檔是否已經(jīng)翻譯锈麸,翻譯后的鏈接是否正常。正文翻譯是否正確牺蹄、恰當忘伞, 是否有語法錯誤。

軟件本地化和國際化測試是一個綜合了翻譯行業(yè)和軟件測試行業(yè)的測試類型沙兰。它要求測 試人員具備一定的翻譯能力氓奈、語言文化,同時具備測試人員的基本技能鼎天。

2.本地化測試

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

圖二、


2.1斋射、黑盒育勺,白盒和灰盒測試

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

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

灰盒測試:是介于白盒測試與黑盒測試之間的南蓬,可以這樣理解,灰盒測試關注輸出對于輸入的正確性哑了,同時也關注內(nèi)部表現(xiàn)赘方,但這種關注不象白盒那樣詳細、完整弱左,只是通過一些表征性的現(xiàn)象窄陡、事件、標志來判斷內(nèi)部的運行狀態(tài)拆火,有時候輸出是正確的泳梆,但內(nèi)部其實已經(jīng)錯誤了,這種情況非常多榜掌,如果每次都通過白盒測試來操作优妙,效率會很低,因此需要采取這樣的一種灰盒的方法

2.2憎账、靜態(tài)和動態(tài)測試

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

動態(tài)測試:是指實際運行被測程序邪意,輸入相應的測試數(shù)據(jù)九妈,檢查實際輸出結果和預期結果是否相符的過程。

2.3:功能測試和性能測試

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

功能測試可以細分邏輯功能測試,界面測試策菜,易用性測試晶疼,安裝測試和兼容性測試。

邏輯功能測試:測試應用是否符合邏輯又憨,比如應該先注冊賬號之后翠霍,才能進行登錄,登錄之后才能看我的購物車

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

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

安裝測試:


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

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

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

性能測試

時間性能:軟件的一個具體事務的響應時間会宪。比如點擊一個登陸按鈕,到登錄成功(失敗)的反應時間夺衍,瀏覽器非常常見,ANR(Application not responding 應用程序無響應)

空間性能:軟件運行時所消耗的系統(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回歸喳篇,冒煙,隨機測試

回歸測試

是指對軟件的新版本進行測試時态辛,重復執(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)試一下自己的程序,沒有相應的單元測試計劃祖能。

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

例如:模塊接口測試

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

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

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

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

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

當模塊通過外部設備進行輸入/輸出操作裂明,文件屬性是否正確、open和close語句是否正確,規(guī)定的I/O格式說明與I/O語句是否匹配闽晦;緩沖區(qū)容量是否與記錄長度匹配扳碍,在讀寫之前是否打開了文件,讀寫之后是否關閉了文件仙蛉,對I/O錯誤是否做了處理笋敞。

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

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

集成測試

集成測試是單元測試的下一個階段哀墓,是指將通過測試單元模塊組裝成系統(tǒng)或者子系統(tǒng)趁餐,再進行測試,重點測試不同模塊的接口部分篮绰。

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

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

各個子功能組裝完成后,能否達到預期的父功能

全局數(shù)據(jù)結構是否有問題

單個模塊產(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ì)量保證人員參加

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

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硕盹,一起剝皮案震驚了整個濱河市符匾,隨后出現(xiàn)的幾起案子叨咖,更是在濱河造成了極大的恐慌瘩例,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甸各,死亡現(xiàn)場離奇詭異垛贤,居然都是意外死亡,警方通過查閱死者的電腦和手機趣倾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門聘惦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人儒恋,你說我怎么就攤上這事善绎∏” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵禀酱,是天一觀的道長炬守。 經(jīng)常有香客問我,道長剂跟,這世上最難降的妖魔是什么减途? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮曹洽,結果婚禮上鳍置,老公的妹妹穿的比我還像新娘。我一直安慰自己送淆,他們只是感情好税产,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坊夫,像睡著了一般砖第。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上环凿,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天梧兼,我揣著相機與錄音,去河邊找鬼智听。 笑死羽杰,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的到推。 我是一名探鬼主播考赛,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莉测!你這毒婦竟也來了颜骤?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤捣卤,失蹤者是張志新(化名)和其女友劉穎忍抽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體董朝,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鸠项,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了子姜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祟绊。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牧抽,到底是詐尸還是另有隱情嘉熊,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布扬舒,位于F島的核電站记舆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏呼巴。R本人自食惡果不足惜泽腮,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衣赶。 院中可真熱鬧诊赊,春花似錦、人聲如沸府瞄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遵馆。三九已至鲸郊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間货邓,已是汗流浹背秆撮。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留换况,地道東北人职辨。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像戈二,于是被迫代替她去往敵國和親舒裤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354