软件测试基础 ——— 测试分析
軟件測試分析
概念:是根據(jù)需求提取被測軟件中需要測試的地方,即找到要測試的地方。
測試項:又叫做應(yīng)測特性,還可以叫做測試點(diǎn)、功能點(diǎn),即要測試的地方。
學(xué)習(xí)測試分析的目的:把要測試的地方全部找到,防止漏測。
分析設(shè)計工作的前提:一定要根據(jù)需求來熟悉,熟悉被測軟件,軟件越熟悉對將來的測試分析工作就越好,分析的越全面。
熟悉需求的途徑
1. 根據(jù)文檔熟悉:
a)?需求文檔——需求人員提供;
b)?測試用例——測試人員提供
c)?開發(fā)的設(shè)計文檔——開發(fā)人員
d)?代碼——開發(fā)人員(使用較少)
e)?幫助文檔(用戶手冊)——資料人員(測試人員、需求人員兼職)
2.?可以直接到被測軟件中操作來熟悉
3. 參考被測軟件的同類型產(chǎn)品
對于新功能的途徑:根據(jù)文檔只能參考需求文檔,參考同類型軟件
對于老功能的途徑:以上方法都可以
更科學(xué)的熟悉需求的方法:SFDPOT思路,從6方面來熟悉軟件。
SFDPOT思路
01?? ? ? ?S—Structure:結(jié)構(gòu)
建議熟悉被測軟件時,可以了解被測軟件的架構(gòu)和構(gòu)成
架構(gòu):
B/S:服務(wù)器+瀏覽器——不用測試瀏覽器
C/S:服務(wù)器+客戶端——測試客戶端的安裝、升級、卸載
單機(jī)版:客戶端——測試客戶端的安裝、升級、卸載
構(gòu)成:
1)?啟動文件:要測試,雙擊能否打開,不會漏測
2)?卸載文件:要測試,雙擊打開卸載窗口,一步一步卸載軟件,可能會漏測
3)?代碼文件(dll):要測試,怎么測試?
a)?單元測試:一行一行代碼進(jìn)行測試,代碼成本過高,測試要求較高,測試開發(fā)比例:1:1,甚至更高
b)?系統(tǒng)測試:測試和開發(fā)比例:1:3,節(jié)省成本
4)?配置文件
常見的配置文件后綴:.ini、.xml、.conf
要測試,容易漏測,如何測試?
測試配置選項,修改配置選項的value值,改成正確的、錯誤的分別測試
5)?幫助文檔(help):要測試
打開幫助文檔查看文檔中的內(nèi)容是否正確合理——文檔測試
02? ? ? ??F—Function:功能
提醒測試人員要熟悉被測軟件的功能模塊,梳理所有的功能模塊
例如:定時任務(wù)
03? ? ? ??D—Data:數(shù)據(jù)
提醒測試人員熟悉被測軟件需要的測試數(shù)據(jù),提前準(zhǔn)備這些測試數(shù)據(jù),節(jié)省測試時間
一般軟件中包含三類數(shù)據(jù):
1)?預(yù)置數(shù)據(jù):搭建測試環(huán)境時,預(yù)先往數(shù)據(jù)庫中準(zhǔn)備的數(shù)據(jù);操作之前需要提前準(zhǔn)備的前提
2)?輸入數(shù)據(jù):考慮合法的(正確的)、非法的(錯誤的)
Eg:全能 合法:音視頻文件(mp3、mp4、rmvb…)
非法:非音視頻文件(txt、docx、py、sql…)、將txt改成mp3后綴
3)?輸出數(shù)據(jù):數(shù)據(jù)輸入進(jìn)去后會得到的正確的輸出是什么?即:結(jié)果(預(yù)期結(jié)果)
04? ? ? ??P—Platform:平臺
了解被測軟件會在哪些環(huán)境中來使用(更加側(cè)重于客戶端的環(huán)境)
即:分析兼容性測試需要覆蓋的環(huán)境
B/S:不同的瀏覽器:火狐、谷歌、IE、360、QQ瀏覽器…
C/S、單機(jī)版:不同的操作系統(tǒng)
PC:win7、win10…
終端:ios、android(設(shè)備廠商)、鴻蒙
05? ? ? ??O—Operation:操作
提醒測試人員了解客戶通過哪些不同的方式使用軟件,站在客戶的角度考慮問題
06? ? ? ??T—Time:時間
提醒測試人員了解被測軟件中是否有跟系統(tǒng)時間有關(guān)聯(lián)的功能,如果有,需要分析系統(tǒng)時間的變化會不會影響對應(yīng)功能
練習(xí):利用SFDPOT思路熟悉QQ(PC)
注意:數(shù)據(jù)、操作 分別選擇一個功能進(jìn)行分析
1.結(jié)構(gòu):
架構(gòu):C/S架構(gòu):要測試客戶端的安裝、卸載、升級
構(gòu)成:測試啟動文件、卸載文件、系統(tǒng)功能測試、配置文件、幫助文件
2.功能:
根據(jù)功能模塊覆蓋,避免遺漏:登錄、個人設(shè)置、消息管理、添加好友、刪除好友、系統(tǒng)設(shè)置、qq空間
3.數(shù)據(jù):登錄模塊
1)預(yù)置數(shù)據(jù):賬號已注冊
2)輸入:
合法:已注冊賬號
非法:未注冊賬號、字母、下劃線、特殊字符
3)輸出:
合法輸入的輸出:登錄成功,看到QQ主界面——消息列表,增加登錄成功日志記錄
非法輸入的輸出:登錄失敗,界面異常提示,增加登錄失敗日志記錄
4.平臺
PC:win7、win8、win10、win11、MAC
5.操作:消息管理——發(fā)送消息
發(fā)送消息目標(biāo):好友、陌生人、群、黑名單
發(fā)送內(nèi)容:文字、圖片、文件、視頻、音頻
發(fā)送提交方式:按鈕、Enter鍵
6.時間
會員:設(shè)備時間變更能否讓過期會員繼續(xù)使用會員特權(quán)
消息信息顯示:本地設(shè)備時間變更會不會影響消息顯示時間;聊天雙方處于不同地理位置,界面顯示時間是否收到各自客戶端設(shè)備所處地域限制變化而變化
驗證消息時間限制:接收驗證消息超期后,修改本地系統(tǒng)時間是否能繼續(xù)驗證
提取測試項的方法:3種
1.質(zhì)量模型分析法
2.功能交互分析法
3.用戶使用場景分析法
1.質(zhì)量模型分析法(最重要)
質(zhì)量模型:6大特性27個子特性,告訴測試人員:質(zhì)量不是單由一個方面來決定的,質(zhì)量是多方面考慮的。
01、功能性
a)?適合性
功能適合當(dāng)前這個軟件,需求人員來把控的;
提醒測試人員需求中的功能在被測軟件中都要有,即:所有的需求都要被開發(fā),防止漏開發(fā)。
至于這個需求是否加到被測軟件中,由需求人員把控,以及需求評審控制。
b)?準(zhǔn)確性
被測軟件提供的功能要正確,即:被測軟件能正常使用
c)?互操作性
先分析被測軟件和其它軟件有無交互,如果有,針對交互進(jìn)行測試
Eg:淘寶軟件和支付寶、物流軟件有交互;滴滴和高德地圖有交互…
d)?保密安全性
先分析是否有敏感數(shù)據(jù),再分析被測軟件的安全級別要求高不高。
如果有敏感數(shù)據(jù),安全級別要求高,就需要進(jìn)行安全方面的測試。
Eg:全能音頻轉(zhuǎn)換通:不需要測試
銀行系統(tǒng):需要測試
總結(jié):
適合性、準(zhǔn)確性:屬于功能測試,每個軟件都要測試;
互操作性、保密安全性:需要進(jìn)行分析,并不是每個軟件都需要測試的。
02、易用性
a)?易理解性
提醒測試人員在測試時注意界面上的信息顯示是否容易理解
b)?易學(xué)性
先分析有沒有幫助文檔、用戶手冊,如果有就需要測試——文檔測試
c)?易操作性
提醒測試人員測試被測軟件操作簡便,即:操作上要簡單、步驟少,用起來順手
d)?吸引性
提醒測試人員測試時要考慮軟件的外觀(排版、布局、色彩、大小)
總結(jié):
易理解性、吸引性:都是關(guān)注軟件的界面,即GUI測試,基本上每個軟件都要做GUI測試;
易學(xué)性:不一定每個軟件都有
易操作性:基本上每個軟件都要測試
03、效率
對于性能測試:一般有壓力的情況下才需要測試性能。
軟件的壓力:
多用戶帶來的壓力,主要測試服務(wù)器端的抗壓能力;
大數(shù)據(jù)帶來的壓力,主要測試服務(wù)端數(shù)據(jù)庫的抗壓能力;
a)?時間特性:考慮用戶在有壓力的情況下使用軟件是快還是慢
b)?資源利用率:一般考慮的是服務(wù)器的資源消耗情況(CPU、內(nèi)存)
總結(jié):性能不是每個軟件都需要測試,先分析有沒有壓力(多用戶、數(shù)據(jù)量比較大),如果有壓力,就需要測試性能。
04、可移植性
a)?適應(yīng)性
提醒測試人員在測試時要注意被測軟件能否在不同的環(huán)境使用,主要是適應(yīng)不同的客戶端環(huán)境,即:測試客戶端的兼容性
B/S:不同瀏覽器
C/S、單機(jī)版:不同的操作系統(tǒng)
b)?易安裝性
先分析有沒有客戶端,如果被測軟件有客戶端,就需要測試客戶端的安裝;
c)?易替換性
升級:從低版本升級到高版本
兩種:直接覆蓋(不卸載舊版本直接安裝新版本)、先卸載舊版本再安裝新版本
d)?共存性
也是兼容性的一種,但是測試的不多
提醒測試人員在測試時要考慮被測軟件和其它同類型軟件或者有關(guān)聯(lián)的軟件能在一起使用,相互之間不影響。
總結(jié):
適應(yīng)性:每個軟件都要測試——兼容性測試;
易安裝、易替換性:不是每個軟件都要測試,只有有客戶端的軟件才需要測試;
共存性:bug基本不會有,優(yōu)先級低,一般不測試
05、可靠性
a)?成熟性
一般是和時間有關(guān)系,提醒測試人員:分析被測軟件是否有長時間使用的情況,如果有就需要進(jìn)行長時間的測試——穩(wěn)定性測試
b)?容錯性
提醒測試人員在測試時要考慮軟件有容納外來錯誤的能力
外來錯誤:輸入進(jìn)去的錯誤,即:輸入的非法數(shù)據(jù)(屬于功能測試中的異常測試)
c)?易恢復(fù)性
當(dāng)前的運(yùn)行環(huán)境出現(xiàn)一些問題后,被測軟件的應(yīng)對能力——可靠性測試
Eg:word未保存,斷電,重新啟動word后自動打開未保存的緩存內(nèi)容
磁盤空間滿:軟件下載占用磁盤,下載過程中將磁盤占滿,下載任務(wù)暫停,磁盤清理后下載任務(wù)能否繼續(xù)
總結(jié):
成熟性:不會每個軟件都需要測試,如果軟件沒有長時間使用的情況就不需要測試;
容錯性:屬于功能測試,一般都需要測試;
易恢復(fù)性:想要測試的話,每個軟件都可以測試,優(yōu)先級低
測試類型總結(jié)
| 功能測試 | 適合性、準(zhǔn)確性、容錯性、互操作性 |
| GUI測試 | 易理解性、吸引性 |
| 易用性測試 | 易操作性 |
| 兼容性測試 | 適應(yīng)性、共存性 |
| 性能測試 | 時間特性、資源利用率 |
| 安裝測試 | 易安裝性、易替換性 |
| 文檔測試 | 易學(xué)性 |
| 穩(wěn)定性測試 | 成熟性 |
| 可靠性測試 | 易恢復(fù)性 |
| 安全性測試 | 保密安全性 |
練習(xí):針對全能音頻轉(zhuǎn)換通軟件進(jìn)行質(zhì)量模型分析法提取測試項,要求以添加文件為目標(biāo)進(jìn)行分析
針對全能音頻轉(zhuǎn)換通軟件進(jìn)行質(zhì)量模型分析法提取測試項,要求以添加文件為目標(biāo)進(jìn)行分析
功能測試
適合性:在全能中有添加文件功能
準(zhǔn)確性:測試全能中添加音視頻文件
容錯性:測試全能添加非音視頻文件、非音視頻文件改為音視頻后綴的文件添加
互操作性:無
GUI測試
易理解性:全能添加文件界面文字信息顯示
吸引性:全能添加文件界面布局、排版、色彩美觀大方、放大縮小界面后的顯示
易用性測試
易操作性:測試直接拖拽文件到全能中
兼容性測試
適應(yīng)性:測試全能在不同操作系統(tǒng)(win7、win10、win11)中都能正常添加文件
共存性:測試全能和其它軟禁一起使用不沖突
性能測試
單機(jī)版軟甲,無服務(wù)器壓力,當(dāng)前添加文件操作實際讀取文件名稱和路徑消耗資源很少,不會對設(shè)備造成太大資源消耗,所以不需要測試性能。
時間特性:
資源利用率:
安裝測試
易安裝性:測試全能安裝、卸載
易替換性:測試全能升級
文檔測試
易學(xué)性:測試全能添加文件幫助文檔
穩(wěn)定性測試
成熟性:添加文件很快,不存在長時間使用的情況,不需要測試
可靠性測試
易恢復(fù)性:添加文件很快,一瞬間完成,很難破壞,不考慮測試可靠性
安全性測試
保密安全性:沒有敏感數(shù)據(jù),安全級別要求不高,不需要測試
2.功能交互分析法
提醒測試人員不要只關(guān)注自己的模塊,還要關(guān)注跟其他模塊之間的交互、關(guān)聯(lián),如果有關(guān)聯(lián),需要針對關(guān)聯(lián)進(jìn)行測試(容易漏測)
關(guān)聯(lián)有兩種:
1)?需求中明確說明的,按照需求來測試
Eg:未添加文件時,轉(zhuǎn)換操作調(diào)用添加文件
2)?需求中沒有說明,但是需要關(guān)注,用戶的操作——經(jīng)驗、發(fā)散思維
Eg:測試打開多個窗口,一個進(jìn)行批量轉(zhuǎn)換、一個進(jìn)行合并轉(zhuǎn)換、一個進(jìn)行截取轉(zhuǎn)換,都是對同一個音頻文件處理
3.用戶使用場景分析法
分析客戶使用軟件的整體的過程,需要了解客戶使用軟件是為了做什么
軟件分類:
1)?如果是針對特定群體:和客戶端溝通了解
Eg:全能音頻轉(zhuǎn)換通(音樂愛好者、剪輯配音)
2)?如果是針對大眾群體:問自己、問朋友、問家人
3)?如果軟件的客戶不是人:軟件的客戶可以是另外一個軟件
Eg:滴滴是高德的客戶;淘寶是支付寶的客戶
分析完客戶,了解客戶的使用場景,針對客戶的使用場景進(jìn)行測試
Eg:全能音頻轉(zhuǎn)換通
A.?格式轉(zhuǎn)換,使用過程:打開全能—》添加音頻文件—》批量轉(zhuǎn)換—》播放試聽—》關(guān)閉全能
B.?做歌曲串燒,使用過程:打開全能—》添加音頻文件—》截取轉(zhuǎn)換(多次)--》添加截取后的音頻文件—》合并轉(zhuǎn)換—》播放試聽—》關(guān)閉
總結(jié):
質(zhì)量模型分析法:要求針對每一個功能模塊都要借助質(zhì)量模型分析法提取測試項,針對單一一個功能模塊考慮
功能交互分析法:不是只考慮一個模塊,還要考慮模塊之間的關(guān)聯(lián)
用戶使用場景分析法:考慮用戶使用的全過程,即:業(yè)務(wù)流程,多個功能模塊全部串起來
提取一個軟件的測試項以上三個方法都要用到,三個方法配合使用。
如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請 “點(diǎn)贊” “評論” “收藏” 一鍵三連哦!
最后基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等學(xué)習(xí)資源。
總結(jié)
以上是生活随笔為你收集整理的软件测试基础 ——— 测试分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人视觉手眼标定学习笔记
- 下一篇: C语言题目:从键盘输入三个数,求三角形面