最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你與“優(yōu)秀”只差一個好的測試用例

2023-08-24 20:30 作者:華測教育  | 我要投稿

隨著互聯(lián)網(wǎng)行業(yè)的不斷發(fā)展,軟件測試人員已逐步成為互聯(lián)網(wǎng)產(chǎn)品的守衛(wèi)者。

在日常工作中,一個優(yōu)秀的軟件測試人員除了要會實操檢測bug之外,更要清楚的了解產(chǎn)品的需求點,做好測試用例設(shè)計。

根據(jù)我以往的經(jīng)驗而談,很多軟件測試人員的測試用例設(shè)計方法比較陳舊,還需加強自己測試用例的設(shè)計能力。故我整理了這篇文章,與大家一起分享一下我的心德體會。

淺談測試用例的意義

簡單來說,測試用例設(shè)計是基于產(chǎn)品需求出發(fā),為避免遺漏測試環(huán)點而準備的“l(fā)isting”?,F(xiàn)在很多公司都會要求測試人員設(shè)計測試用例,因為他們都意識到無論測試用例的設(shè)計是否全面,都必須有這個環(huán)節(jié),它對產(chǎn)品的質(zhì)量把控和效率都會起到促進的作用。

因此,我們需要做好軟件測試用例設(shè)計。那么,好的測試用例有哪些共性呢?我們怎么做好測試用例呢?下面給大家談?wù)勎业臏\見。

好的測試用例的共性

其實,這是一個見仁見智的問題。不同的測試人員有不同的測試設(shè)計風(fēng)格,這里我們求同存異即可。好的測試用例設(shè)計的共性大致如下:

(1)測試設(shè)計結(jié)構(gòu)組織合理。從測試用例的組織是開展測試的起點,良好的組織能夠幫助我們快速定位到我們想關(guān)注的部分,這個部分的好壞關(guān)系到測試工作的持續(xù)性發(fā)展。

(2)測試用例設(shè)計覆蓋全面且不冗余。用精簡的語言描述清楚一條測試用例,用較少的測試用例描述清楚需求測試點的覆蓋。

(3)測試用例設(shè)計具有可執(zhí)行、可判定、可再現(xiàn)的特點。即在測試前提符合的前提下,按照測試步驟每一個測試用例都可以順利執(zhí)行,同時呈現(xiàn)相應(yīng)的預(yù)期結(jié)果,而且測試用例在被多次執(zhí)行的結(jié)果都應(yīng)該是相同的。

(4)逐步細化測試功能。在編寫測試用例時,建議由提綱挈領(lǐng)到逐步細化,先寫基本功能點,再逐步增加細節(jié),切忌過早的陷入細節(jié)描述。同時測試設(shè)計粒度要適中,根據(jù)實際項目的測試效率和效果去平衡,太粗太細都不合適。

測試用例設(shè)計(以移動端測試設(shè)計為例)

01 面向問題的測試全面性組織方式

移動客戶端平臺的測試,在傳統(tǒng)的軟件測試基礎(chǔ)上,本身又具有自身比較突出的諸多特點。比如客戶端平臺多樣化,系統(tǒng)碎片化問題突出,靈活性極高,因此僅僅將測試停留在基本功能以及傳統(tǒng)理念上的測試組織,來確保移動客戶端的測試全面性是不夠的。

傳統(tǒng)的用例組織方式,如等價類劃分,邊界值分析,因果分析等,更多的是從面向如果精簡測試用例,確保測試全面的前提下,盡量降低冗余而來的?,F(xiàn)在我們推薦一種是面向問題發(fā)現(xiàn)的測試的組織方式,即由bug出現(xiàn)的分布對應(yīng)相應(yīng)的測試內(nèi)容,從而達到測試全面性的一種組織方式。

1) Basic – 基本功能測試

面向于被測應(yīng)用的基本功能實現(xiàn),在測試用例的組織上,主要可以通過功能分層,逐級細化;畫出草圖,然后文字化得方式書寫。主要采用功能圖分析方法,因果圖分析方法。

基本功能測試可以稱之為一般性的功能實現(xiàn)測試,這部分可以不完全去考慮實現(xiàn)的好壞(如讀取文件的速度),不考慮特殊的輸入輸出,不考慮特殊的中斷,不考慮特殊的環(huán)境。我們組織用例時,考慮將基本功能測試點和其他特殊測試內(nèi)容分離的原因在于,按照經(jīng)驗,我們傾向于認為,基本功能在一般狀況下,在實現(xiàn)并在一輪完整的測試之后通常即可保證該部分是完備的,之后的問題一般的都是出現(xiàn)在基本功能實現(xiàn)基礎(chǔ)上的特殊狀況中。

因此,如此組織用例,有利于我們后期,適當?shù)牟眉魷y試用例,將更多的測試精力放在容易發(fā)生問題的部分,而基本功能基本上可以通過特殊狀況的檢驗而覆蓋到。

2) Boundary – 邊界分析測試

在基本功能的基礎(chǔ)上,開始考慮各種輸入輸出的影響。一般的,基本功能容易在邊界附近出問題。主要采用等價類劃分方法,邊界值分析方法。用例組織上,可以梳理已經(jīng)產(chǎn)出的基本功能草圖,確定哪些部分存在邊界問題。并構(gòu)造測試用例,執(zhí)行測試工作。

如:

· 邊界類型數(shù)值大小 ,輸入的數(shù)值的范圍

· 字串長短,Null-max-max+1

· 內(nèi)容有無

· 支持與否,(保留字符,特殊字符,計劃外字符。

3) Memory – 存儲測試

主要測試涉及存儲空間讀寫的部分。最大的問題還是內(nèi)存泄漏(memory leak)。

在測試用例組織上,主要考慮哪些部分容易發(fā)生memory的問題。特別是移動客戶端容易出現(xiàn)的問題。比如:

? 旋轉(zhuǎn)屏幕—響應(yīng)G sensor,畫面需要重新載入,重新載入前的頁面可能會發(fā)生內(nèi)存無法釋放的問題。移動客戶端相對特有的。

? 連續(xù)加載頁面

? 開多個窗口—比較典型的,如瀏覽器

? 應(yīng)用多次的互相調(diào)用—應(yīng)用之間的相互調(diào)用,調(diào)用傳遞之間,可能存在問題,另外要特別注意“重入”;所謂重入,是指一個應(yīng)用A叫起了應(yīng)用B,但是應(yīng)用B又可以再次叫起應(yīng)用A,如message編輯時插入圖片可以叫起camera,拍攝之后,camera可以不直接返回message編輯器窗口,而是通過點擊分享-message,重入message編輯器,由此產(chǎn)生循環(huán)的棧疊加,也容易發(fā)生內(nèi)存問題。

? 多線程下載

4) Performance – 性能測試

響應(yīng)速度,資源占用,流量消耗,CPU占用的測試需要比對benchmark,并依據(jù)和benchmark的比對來判斷被測試應(yīng)用的表現(xiàn)能力,另外一個參考是我們在立項階段的對某些核心內(nèi)容的預(yù)期,或者用戶主觀感受。立項初期就選擇合適的競品,選擇核心的用例。所謂核心用例主要是依據(jù)用戶的一個使用習(xí)慣,調(diào)研反饋總結(jié)出那些核心數(shù)據(jù)是用戶在意的。

比如:一款導(dǎo)航產(chǎn)品,位置平均誤差會有一個用戶體驗可以接受的范圍,對路徑的優(yōu)化結(jié)果會有一個主觀感受等等。在測試執(zhí)行時,切忌完全依賴于主觀感受,對修復(fù)的預(yù)期缺乏清晰的目標。比如,我們認為一款產(chǎn)品的首頁打開速度很慢,那多快才是我們所預(yù)期的,這個需要我們明確。

5) Stress – 壓力測試

可以簡單理解為在基本功能上的提升負載,速度,吞吐量等性能指標。一般的,移動客戶端通過monkey之類的測試工具加以覆蓋,以及錄制回放工具之類的測試來實現(xiàn)壓力檢驗。

6) Capability – 兼容性測試

兼容性測試是指測試軟件在特定的硬件產(chǎn)臺上、不同的應(yīng)用軟件之間、不同的操作系統(tǒng)平臺上、不同的網(wǎng)絡(luò)等環(huán)境中是否能很好地運行的測試。簡單的說,兼容性測試是指測試某新開發(fā)的軟件在某一特定環(huán)境下與各種軟件的協(xié)調(diào)性,軟件之間能否很好的運作。

移動客戶端常見的兼容性測試測項

? 網(wǎng)絡(luò)兼容性測試(不同運營商3G,4G, WIFI,弱網(wǎng))

? 操作系統(tǒng)兼容性測試 (Android>=2.3, IOS >=7.0)

? ROM類型兼容性(主流廠商如蘋果,華為,小米,魅族,OPPO等)

? 分辨率兼容性測試 (各種不同的分辨率)

? 數(shù)據(jù)兼容性(不同版本間的數(shù)據(jù)兼容)

? 其他可能會涉及移動客戶端兼容性測試測項

? 藍牙設(shè)備兼容性測試 (如果是一款使用藍牙的應(yīng)用)

? 存儲卡兼容性測試(比如文件管理器)

? 第三方軟件兼容沖突(比如輸入法沖突)

7) Interrupt – 中斷功能測試

當前的被測應(yīng)用被另外的應(yīng)用打斷當前的功能執(zhí)行狀態(tài)。

在用例組織上,主要在考慮執(zhí)行某項操作時的系統(tǒng)打斷,比如:

? 來電

? 短信

? 鬧鐘提醒,日歷提醒,藍牙提醒

? 插拔數(shù)據(jù)線,插拔耳機

? 待機,鎖屏

? 低電量提醒

8) Interaction – 交互功能測試

應(yīng)用以及應(yīng)用之間的調(diào)用,以及不存在應(yīng)用層面的調(diào)用,但是存在更低一層的資源搶奪以及公用。比如:

? 頁面占用

? 內(nèi)存占用

? 音頻資源占用

? 攝像資源占用

02 實踐經(jīng)驗

綜上述,我們通過全面測試的指導(dǎo)思想提出了多種測試設(shè)計方法,但是每種測試方法其實都有一個最佳測試時間,如在版本測試階段,我們應(yīng)當要先做基本功能測試,邊界分析測試和中斷,交互功能測試,快速發(fā)現(xiàn)bug提單給開發(fā)去快速修復(fù),保證主體功能可以盡快得到保證,而不是一開始就先糾結(jié)與性能,壓力和兼容測試。

一方面這類測試往往所消耗的時間會很長,降低了發(fā)現(xiàn)bug的速度;另一方面,先做這部分測試后,再去發(fā)現(xiàn)主體功能的bug,那么在開發(fā)人員動了大量代碼之后,還是要再執(zhí)行一遍性能,壓力和兼容測試的相關(guān)用例,不僅勞命傷財,效果還事倍功半。

所以在實際項目測試中,當前我們的項目將測試內(nèi)容分為功能測試,兼容性測試,性能測試,穩(wěn)定性測試四項,分別在不同的測試階段進行(具體排期在測試計劃時確定):

(1)功能測試 —— 版本測試階段

(2)兼容性測試 —— 回歸測試階段前期

(3)性能測試 —— 回歸測試階段,版本功能穩(wěn)定后執(zhí)行

(4)穩(wěn)定性測試 —— 貫穿整個測試階段,每晚執(zhí)行monkey

因此,我們的功能用例更多的會使用『基本功能測試』,『邊界分析測試』『中斷功能測試』『交互功能測試』這幾類測試用例設(shè)計方法。具體大家在做項目測試時,也建議通過實際情況做調(diào)整。只有通過大量的堅持實踐和不斷的總結(jié)積累,才能打破固有思維,提升自己的測試用例設(shè)計能力。因此我也提煉了一些移動客戶端的常見功能的測試用例設(shè)計點,下面,就逐一與大家分享一下。

03 APP頁面類型功能測試點總結(jié)

1)UE體驗

(1)布局與交互圖保持一致;

(2)真機效果與UE圖沒有視覺上的嚴重偏差,如字號,字體大小,加粗,字體顏色,行高,行間距,按鈕擺放位置,間隔,尺寸等;

(3)資源圖正確使用,沒有不必要的拉伸,壓縮或其他效果;

(4)各種提示,文字通順不產(chǎn)生歧義,展示符合用戶使用習(xí)慣;

(5)動畫效果不卡頓,正常展現(xiàn)。

2)頁面操作

(1)是否有防重復(fù)點擊,即連續(xù)快速點擊不會出現(xiàn)多個頁面或彈窗

(2)單指滑動,單指單擊,單指雙擊,單指長按,單指縮放,多指點擊

(3)搖一搖,橫豎屏切換,前后臺切換

(4)長時間使用,長時間放在后臺

3)不同場景下的頁面操作

(1)不同網(wǎng)絡(luò),弱網(wǎng)下的頁面跳轉(zhuǎn),點擊響應(yīng)的展現(xiàn)效果;

(2)修改本地參數(shù)后的頁面操作展現(xiàn)效果,如修改日期,時間,時區(qū),語言,鍵盤等;

(3)修改系統(tǒng)權(quán)限后的頁面操作展現(xiàn)效果,如打開關(guān)閉定位,攝像,照片,通訊錄等的授權(quán)等;

(4)頁面操作過程中有系統(tǒng)打斷,如來電,短信,鬧鐘提醒,日歷提醒,藍牙提醒,插拔數(shù)據(jù)線,插拔耳機,待機,鎖屏,低電量提醒等;

(5)頁面操作過程中進行前后臺切換,如當頁面數(shù)據(jù)交換時,有彈窗,提示框的時機進行切換容易發(fā)現(xiàn)問題;

(6)針對非主線程調(diào)用的接口,前端要對異常及無網(wǎng)絡(luò)情況做異步處理,不提示異常且不影響主線程操作。

4)頁面數(shù)據(jù)獲取和展現(xiàn)

(1)頁面是否有緩存,緩存機制是怎樣的,緩存的內(nèi)容有哪些;

(2)在提交頁面數(shù)據(jù)失敗后是否有重試機制,重試的接口參數(shù)是否保持不變;

(3)在頁面操作過程中,異步接口返回的內(nèi)容,是否對用戶透明(客戶端兼容忽略請求返回msg)。

最后:下方這份完整的軟件測試視頻學(xué)習(xí)教程已經(jīng)整理上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M領(lǐng)取【保證100%免費】

這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!

包括,測試人技術(shù)進階路徑圖,50多天的視頻教程、16個項目實例,30多個測試工具,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗級文章分享,還有軟件測試面試小程序,求職簡歷的優(yōu)化模板。

加油吧,如果你需要提升技術(shù)儲備,那就行動,在路上總比在起點觀望的要好。一切的迷茫都是因為想得太多而做的太少!

你可以在公眾號:傷心的辣條?! 自行領(lǐng)取一份216頁軟件測試工程師面試寶典文檔資料【免費的】。以及相對應(yīng)的視頻學(xué)習(xí)教程免費分享!,其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

現(xiàn)在我邀請你進入我們的軟件測試學(xué)習(xí)交流群:【746506216】,備注“入群”, 大家可以一起探討交流軟件測試,共同學(xué)習(xí)軟件測試技術(shù)、面試等軟件測試方方面面,還會有免費直播課,收獲更多測試技巧,我們一起進階Python自動化測試/測試開發(fā),走向高薪之路。?



你與“優(yōu)秀”只差一個好的測試用例的評論 (共 條)

分享到微博請遵守國家法律
庆安县| 荆门市| 德昌县| 云安县| 阜城县| 昭觉县| 报价| 松江区| 哈巴河县| 乐安县| 常熟市| 临湘市| 厦门市| 扬中市| 龙游县| 英超| 南京市| 图木舒克市| 中西区| 秦皇岛市| 白山市| 金坛市| 南京市| 乐都县| 阳新县| 景谷| 荥阳市| 苏尼特右旗| 都安| 长沙市| 桃园市| 娱乐| 安平县| 邯郸县| 新巴尔虎左旗| 子长县| 明星| 红原县| 芜湖县| 岗巴县| 静宁县|