摘要:軟件測試筆記一理論篇有句話是這么說的能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。在軟件產(chǎn)品完成了單元測試集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。
軟件測試筆記(一)理論篇
有句話是這么說的:能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。但是無可否認(rèn)的是,良好的理論素養(yǎng)無論是解決工作中遇到的問題,還是未來的職業(yè)發(fā)展,都幫助甚大。本文整理匯總了軟件測試行業(yè)中常見的一些測試?yán)碚?,供大家參考?/p>
1、軟件測試按照測試分類有:黑盒測試和白盒測試。
黑盒測試
黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和軟件功能進行測試。
黑盒測試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對應(yīng)關(guān)系出發(fā)進行測試的。很明顯,如果外部特性本身設(shè)計有問題或規(guī)格說明的規(guī)定有誤,用黑盒測試方法是發(fā)現(xiàn)不了的。
新人入行基本上都是采用黑盒測試的方法來入門的。
白盒測試
白盒測試又稱結(jié)構(gòu)測試、透明盒測試、邏輯驅(qū)動測試或基于代碼的測試。白盒測試是一種測試用例設(shè)計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內(nèi)部的東西以及里面是如何運作的。"白盒"法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進行測試。"白盒"法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字。
咱們以空調(diào)為例來看什么是黑盒測試,什么是白盒測試:
當(dāng)一臺新的空調(diào)組裝完成,質(zhì)監(jiān)部門需要對這臺空調(diào)的各個功能進行測試,比如開關(guān)機是否正常,制冷制熱功能是否正常,定時功能是否正常,等等,并將測試的結(jié)果一一記錄下來,如果有問題,及時反饋給設(shè)計部來解決,這就是黑盒測試的范疇。
對于空調(diào)的設(shè)計師們,他們的測試可能就會更復(fù)雜一些,除了對空調(diào)的各項功能進行測試之外,還要從空調(diào)的內(nèi)在原理來分析,他們甚至?xí)櫩照{(diào)的內(nèi)部實現(xiàn)代碼,分析空調(diào)的各項數(shù)據(jù)狀態(tài)來看是否正常運行,而不只是從表面功能來看,這就是白盒測試的范疇。
2、按照測試的階段可以分為:單元測試、集成測試、確認(rèn)測試和系統(tǒng)測試及驗收測試
單元測試
單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據(jù)實際情況去判定其具體含義,如C語言中單元指一個函數(shù),Java里單元指一個類,圖形化的軟件中可以指一個窗口或一個菜單等。總的來說,單元就是人為規(guī)定的最小的被測功能模塊。單元測試是在軟件開發(fā)過程中要進行的最低級別的測試活動,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試。
在一種傳統(tǒng)的結(jié)構(gòu)化編程語言中,比如C,要進行測試的單元一般是函數(shù)或子過程。在像C++這樣的面向?qū)ο蟮恼Z言中, 要進行測試的基本單元是類。對Ada語言來說,開發(fā)人員可以選擇是在獨立的過程和函數(shù),還是在Ada包的級別上進行單元測試。單元測試的原則同樣被擴展到第四代語言(4GL)的開發(fā)中,在這里基本單元被典型地劃分為一個菜單或顯示界面。
經(jīng)常與單元測試聯(lián)系起來的另外一些開發(fā)活動包括代碼走讀(Code review),靜態(tài)分析(Static analysis)和動態(tài)分析(Dynamic analysis)。靜態(tài)分析就是對軟件的源代碼進行研讀,查找錯誤或收集一些度量數(shù)據(jù),并不需要對代碼進行編譯和執(zhí)行。動態(tài)分析就是通過觀察軟件運行時的動作,來提供執(zhí)行跟蹤,時間分析,以及測試覆蓋度方面的信息。
集成測試
集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。
實踐表明,一些模塊雖然能夠多帶帶地工作,但并不能保證連接起來也能正常的工作。一些局部反映不出來的問題,在全局上很可能暴露出來。
確認(rèn)測試
確認(rèn)測試的目的是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是確認(rèn)測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。
系統(tǒng)測試
系統(tǒng)測試,英文是System Testing。是將已經(jīng)確認(rèn)的軟件、計算機硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。
驗收測試
驗收測試是部署軟件之前的最后一個測試操作。在軟件產(chǎn)品完成了單元測試、集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。它是技術(shù)測試的最后一個階段,也稱為交付測試。驗收測試的目的是確保軟件準(zhǔn)備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務(wù)。
驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。
驗收測試,系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關(guān)的用戶和獨立測試人員根據(jù)測試計劃和結(jié)果對系統(tǒng)進行測試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。它是一項確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測試。這是管理性和防御性控制。
在工程及其他相關(guān)領(lǐng)域中,驗收測試是指確認(rèn)一系統(tǒng)是否符合設(shè)計規(guī)格或契約之需求內(nèi)容的測試,可能會包括化學(xué)測試、物理測試或是性能測試。在系統(tǒng)工程中驗收測試可能包括在系統(tǒng)(例如一套軟件系統(tǒng)、許多機械零件或是一批化學(xué)制品)交付前的黑箱測試。軟件開發(fā)者常會將系統(tǒng)開發(fā)者進行的驗收測試和客戶在接受產(chǎn)品前進行的驗收測試分開。后者一般會稱為使用者驗收測試、終端客戶測試、實機(驗收)測試、現(xiàn)場(驗收)測試。在進行主要測試程序之前,常用冒煙測試作為一個此階段的驗收測試。
3、其他的測試?yán)碚撨€有:自動化測試、回歸測試、冒煙測試、性能測試
自動化測試
一般是指軟件測試的自動化,軟件測試就是在預(yù)設(shè)條件下運行系統(tǒng)或應(yīng)用程序,評估運行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。通常,在設(shè)計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。
自動化測試分為web自動化測試、接口自動化測試、APP自動化測試。
回歸測試
回歸測試是指修改了舊代碼后,重新進行測試以確認(rèn)修改沒有引入新的錯誤或?qū)е缕渌a產(chǎn)生錯誤。自動回歸測試將大幅降低系統(tǒng)測試、維護升級等階段的成本?;貧w測試作為軟件生命周期的一個組成部分,在整個軟件測試過程中占有很大的工作量比重,軟件開發(fā)的各個階段都會進行多次回歸測試。在漸進和快速迭代開發(fā)中,新版本的連續(xù)發(fā)布使回歸測試進行的更加頻繁,而在極端編程方法中,更是要求每天都進行若干次回歸測試。因此,通過選擇正確的回歸測試策略來改進回歸測試的效率和有效性是很有意義的。
冒煙測試
這一術(shù)語源自硬件行業(yè)。對一個硬件或硬件組件進行更改或修復(fù)后,直接給設(shè)備加電。如果沒有冒煙,則該組件就通過了測試。在軟件中,“冒煙測試”這一術(shù)語描述的是在將代碼更改嵌入到產(chǎn)品的源樹中之前對這些更改進行驗證的過程。在檢查了代碼后,冒煙測試是確定和修復(fù)軟件缺陷的最經(jīng)濟有效的方法。冒煙測試設(shè)計用于確認(rèn)代碼中的更改會按預(yù)期運行,且不會破壞整個版本的穩(wěn)定性。
性能測試
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接受的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/50771.html
摘要:軟件測試筆記一理論篇有句話是這么說的能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。在軟件產(chǎn)品完成了單元測試集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。 軟件測試筆記(一)理論篇 有句話是這么說的:能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。但是無可否認(rèn)的是,良好的理論素養(yǎng)...
摘要:軟件測試筆記一理論篇有句話是這么說的能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。在軟件產(chǎn)品完成了單元測試集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。 軟件測試筆記(一)理論篇 有句話是這么說的:能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。但是無可否認(rèn)的是,良好的理論素養(yǎng)...
摘要:軟件測試筆記一理論篇有句話是這么說的能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。在軟件產(chǎn)品完成了單元測試集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。 軟件測試筆記(一)理論篇 有句話是這么說的:能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。但是無可否認(rèn)的是,良好的理論素養(yǎng)...
摘要:軟件測試筆記一理論篇有句話是這么說的能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。在軟件產(chǎn)品完成了單元測試集成測試和系統(tǒng)測試之后,產(chǎn)品發(fā)布之前所進行的軟件測試活動。 軟件測試筆記(一)理論篇 有句話是這么說的:能動手就別嗶嗶,尤其是在工作節(jié)奏堪比跑馬的今天,大家都推崇實干精神,能解決問題就好,去他的理論。但是無可否認(rèn)的是,良好的理論素養(yǎng)...
閱讀 587·2023-04-25 21:29
閱讀 1119·2023-04-25 21:27
閱讀 1059·2021-11-25 09:43
閱讀 1091·2021-09-29 09:43
閱讀 3626·2021-09-03 10:30
閱讀 2864·2019-08-29 15:26
閱讀 2812·2019-08-29 12:52
閱讀 1753·2019-08-29 11:10