1.測試的種類(按階段劃分):單元測試腔长、集成測試、冒煙測試验残、系統(tǒng)測試捞附、隨機(jī)測試、驗(yàn)收測試。
2.測試的類型(按測試的內(nèi)容劃分):功能測試鸟召、界面測試(UI測試)想鹰、接口測試(灰盒測試)、性能測試药版、兼容性測試辑舷、安全測試、安裝測試槽片。
1.測試的種類(按階段劃分)
測試的階段也根據(jù)項(xiàng)目開發(fā)的進(jìn)度來進(jìn)行何缓,從先到后劃分為下面幾種測試階段:(根據(jù)項(xiàng)目的實(shí)際要求進(jìn)行相應(yīng)測試)
1.1單元測試
單元測試是指對軟件中的最小可測試單元進(jìn)行檢查和驗(yàn)證。
準(zhǔn)入條件
1还栓、源碼已實(shí)現(xiàn)完成或50%碌廓;
2、源碼編譯能通過剩盒;
3谷婆、項(xiàng)目需求文檔、概要設(shè)計(jì)文檔辽聊、詳細(xì)設(shè)計(jì)文檔均通過評審并歸檔纪挎;
4、單元測試用例通過評審并歸檔跟匆;
主要測試點(diǎn)和方法
l 代碼靜態(tài)檢查
無需運(yùn)行被測代碼异袄,僅通過分析或檢查源程序的語法、結(jié)構(gòu)玛臂、過程烤蜕、接口等來檢查程序的正確性,找出代碼隱藏的錯誤和缺陷迹冤,如參數(shù)不匹配讽营,有歧義的嵌套語句,錯誤的遞歸泡徙,非法計(jì)算橱鹏,可能出現(xiàn)的空指針引用等等。
l 獨(dú)立路徑和錯誤檢查
獨(dú)立路徑測試:在模塊中應(yīng)對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試锋勺,每條語句至少執(zhí)行一次蚀瘸。測試目的主要是為了發(fā)現(xiàn)因錯誤計(jì)算狡蝶、不正確的比較和不適當(dāng)?shù)目刂屏髟斐傻腻e誤庶橱。
錯誤檢查:首先檢查程序是否有錯誤處理;其次對于程序中的防錯處理的完整性和正確性進(jìn)行檢查贪惹。錯誤處理包括:不同數(shù)據(jù)類型的對象之間進(jìn)行比較苏章;錯誤地使用邏輯運(yùn)算符或優(yōu)先級;因計(jì)算機(jī)表示的局限性,期望理論上相等而實(shí)際上不相等的兩個量相等枫绅;比較運(yùn)算或變量出錯泉孩;循環(huán)終止條件或不可能出現(xiàn);迭代發(fā)散時不能退出并淋;錯誤地修改了循環(huán)變量寓搬。
單元測試人員一般是開發(fā)自測。
1.2集成測試
集成測試县耽,也叫[組裝測試]或聯(lián)合測試句喷。在[單元測試]的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖)組裝成為子系統(tǒng)或系統(tǒng)兔毙,進(jìn)行集成測試唾琼。它最簡單的形式是:把兩個已經(jīng)測試過的單元組合成一個組件,測試它們之間的[接口]
準(zhǔn)入條件
1澎剥、單元測試用例編寫完成锡溯;
2、核心功能開發(fā)完成哑姚;
3祭饭、項(xiàng)目需求文檔、概要設(shè)計(jì)文檔叙量、詳細(xì)設(shè)計(jì)文檔均通過評審并歸檔甜癞;
4、子系統(tǒng)間接口說明文檔通過評審并歸檔宛乃;
5悠咱、項(xiàng)目集成測試用例文檔通過評審并歸檔;
主要測試點(diǎn)和方法(詳見3.3接口測試)
1.3冒煙測試(必須)
冒煙測試是開發(fā)完成后征炼,正式移交測試前做的一個中間測試工作析既,即在剛剛編譯出來后,開發(fā)人員需要進(jìn)行基本確認(rèn)測試谆奥,例如是否可以正確安裝/卸載眼坏,主要功能是否實(shí)現(xiàn),是否存在嚴(yán)重死機(jī)或數(shù)據(jù)嚴(yán)重丟失等Bug酸些。如果通過了該測試宰译,則可以移交測試,開始正式測試魄懂。否則沿侈,就需要重新編譯版本,再次執(zhí)行版本可接收確認(rèn)測試市栗,直到成功缀拭。
該工作可由開發(fā)人員先行自測咳短,保證移交測試版本的質(zhì)量,防止出現(xiàn)阻礙測試的情況出現(xiàn)蛛淋,也可由測試人員來進(jìn)行咙好,只有冒煙測試通過后,才進(jìn)入正式的測試流程褐荷,否則會把版本打回勾效,重新編譯。
1.4系統(tǒng)測試
系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進(jìn)行的測試叛甫,目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義葵第,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案合溺。也是整個測試工作最重要卒密,最關(guān)鍵的測試部分。
準(zhǔn)入條件
1棠赛、單元哮奇、集成測試完成;
2睛约、前階段中缺陷修復(fù)率100%鼎俘;
3、功能用例編寫完成辩涝,覆蓋率達(dá)100%贸伐;
4、項(xiàng)目需求文檔怔揩、設(shè)計(jì)文檔均通過評審并歸檔捉邢;
5、測試用例通過評審并歸檔商膊;
主要測試點(diǎn)和方法(詳見3.1功能測試章節(jié))
1.5隨機(jī)測試(非必須)
隨機(jī)測試沒有書面[測試用例]伏伐、記錄期望結(jié)果、檢查列表晕拆、[腳本]或指令的測試藐翎。主要是根據(jù)測試者的經(jīng)驗(yàn)對軟件進(jìn)行功能和性能抽查。隨機(jī)測試是根據(jù)測試說明書執(zhí)行用例測試的重要補(bǔ)充手段实幕,是保證測試覆蓋完整性的有效方式和過程吝镣。
隨機(jī)測試主要是對被測軟件的一些重要功能進(jìn)行復(fù)測,也包括測試那些當(dāng)前的測試用例沒有覆蓋到的部分昆庇。另外末贾,對于軟件更新和新增加的功能要重點(diǎn)測試。重點(diǎn)對一些特殊點(diǎn)情況點(diǎn)凰锡、特殊的使用環(huán)境未舟、并發(fā)性圈暗、進(jìn)行檢查掂为。尤其對以前測試發(fā)現(xiàn)的重大Bug裕膀,進(jìn)行再次測試,可以結(jié)合回歸測試
1.6驗(yàn)收測試(非必須)
1.6.1 β測試 (beta測試)
β測試是[軟件]的多個用戶在一個或多個用戶的實(shí)際使用環(huán)境下進(jìn)行的測試勇哗。開發(fā)者通常不在測試現(xiàn)場昼扛,Beta測試不能由程序員或測試員完成。
當(dāng)開發(fā)和測試根本完成時所做的測試欲诺,而最終的錯誤和問題需要在最終發(fā)行前找到抄谐。這種測試一般由最終用戶或其他人員完成,不能由程序員或測試員完成扰法。
1.6.2 α測試(Alpha測試)
Alpha測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試蛹含,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由該系統(tǒng)的程序員或測試員完成塞颁。
在系統(tǒng)開發(fā)接近完成時對應(yīng)用系統(tǒng)的測試;測試后浦箱,仍然會有少量的設(shè)計(jì)變更。這種測試一般由最終用戶或其他人員來完成祠锣,不能由程序員或測試員完成酷窥。
α測試和β測試的不同之處在于測試的環(huán)境,前者是在開發(fā)環(huán)境伴网,后者是在實(shí)際使用環(huán)境(生產(chǎn)環(huán)境)蓬推,故后者模擬真實(shí)使用場景程度更高,發(fā)現(xiàn)的問題也更有意義澡腾,一般運(yùn)用在項(xiàng)目的試運(yùn)行階段沸伏。
2.測試的類型(按測試內(nèi)容劃分)
2.1功能測試
功能測試也叫黑盒測試,是在不看代碼的前提下动分,通過運(yùn)行軟件來進(jìn)行測試馋评,重點(diǎn)是關(guān)注系統(tǒng)的功能實(shí)現(xiàn)是否正常、設(shè)計(jì)是否合理刺啦、用戶的需求是否全部覆蓋留特,這也是測試工作最主要、最重要的內(nèi)容玛瘸。在版本穩(wěn)定以后蜕青,或者進(jìn)行回歸測試的時候,可根據(jù)項(xiàng)目的具體情況糊渊,對主要功能通過編寫自動化測試腳本右核,進(jìn)行自動化測試。
根據(jù)被測功能點(diǎn)的特性列丼出相應(yīng)類型的測試用例對其進(jìn)行覆蓋渺绒,如贺喝;涉及輸入的地方需要考慮等價菱鸥、邊界根资、負(fù)面劲绪、異出或非法阀圾、場景回滾锡移、關(guān)聯(lián)測試等測試類型對其進(jìn)行覆蓋窄做。
在測試實(shí)現(xiàn)的各個階段跟蹤測試實(shí)現(xiàn)與需求輸入的覆蓋情況几缭,及時修正業(yè)務(wù)或需求理解錯誤浙滤。
邊界類
1.驗(yàn)證邊界值茶行,對16-bit 的整數(shù)而言 32767 和 -32768 是邊界躯概;
2.屏幕上光標(biāo)在最左上、最右下位置畔师;
3.報表的第一行和最后一行娶靡;
4.數(shù)組元素的第一個和最后一個;
5.最小值-1/最大值+1/空值看锉;
6.分析規(guī)格說明姿锭,找出其它可能的邊界值條件。
等價類
1.有效等價類度陆,指符合系統(tǒng)設(shè)計(jì)有意義的輸入輸出合集艾凯;
2.無效等價類,指不符合系統(tǒng)設(shè)計(jì)錯誤的輸入輸入合集懂傀;
APP特有功能
1.應(yīng)用的前后臺切換趾诗;
2.數(shù)據(jù)更新;
3.離線瀏覽蹬蚁;
4.定位恃泪、照相機(jī)服務(wù),掃描二維碼功能犀斋;
5.時間測試贝乎;
6.push測試;
7.運(yùn)行測試叽粹。
8.弱網(wǎng)測試览效,
9.安裝卸載工作,
10虫几、交叉事件測試(就是在操作某個軟件的時候锤灿,來電話、來短信辆脸,電量不足提示等外部事件但校。 操作類型測試:如橫屏測試,手勢測試 )
App****的功能測試具體為:
l 運(yùn)行
1)App安裝完成后的試運(yùn)行啡氢,可正常打開軟件状囱。
2)App打開測試术裸,是否有加載狀態(tài)進(jìn)度提示。
3)App打開速度測試亭枷,速度是否可觀袭艺。
4)App頁面間的切換是否流暢,邏輯是否正確
5)注冊
--同表單編輯頁面 --用戶名密碼長度 --注冊后的提示頁面 --前臺注冊頁面和后臺的管理頁面數(shù)據(jù)是否一致 --注冊后奶栖,在后臺管理中頁面提示
6)登錄
--使用合法的用戶登錄系統(tǒng)匹表。 --系統(tǒng)是否允許多次非法的登陸门坷,是否有次數(shù)限制宣鄙。 --使用已經(jīng)登陸的賬號登陸系統(tǒng)是否正確處理。 --使用禁用的賬號登陸系統(tǒng)是否正確處理默蚌。 --用戶名冻晤、口令(密碼)錯誤或漏填時能否登陸。 --刪除或修改后的用戶绸吸,原用戶登陸鼻弧。 --不輸入用戶口令和用戶、重復(fù)點(diǎn)(確定或取消按鈕)是否允許登陸锦茁。 --登陸后攘轩,頁面中登陸信息。 --頁面中有注銷按鈕码俩。 --登陸超時的處理度帮。
7)注銷
--注銷原模塊,新的模塊系統(tǒng)能否正確處理稿存。 --終止注銷能否返回原模塊笨篷,原用戶。 --注銷原用戶瓣履,新用戶系統(tǒng)能否正確處理率翅。 --使用錯誤的賬號、口令袖迎、無權(quán)限的被禁用的賬號進(jìn)行注銷
l 應(yīng)用的前后臺切換
APP切換到后臺冕臭,再回到app,檢查是否停留在上一次操作界面燕锥。
APP切換到后臺辜贵,再回到app,檢查功能及應(yīng)用狀態(tài)是否正常脯宿,IOS 4和IOS 5的版本的處理機(jī)制有的不一樣念颈。ISO和Android版本也不一樣。
app切換到后臺连霉,再回到前臺時榴芳,注意程序是否崩潰嗡靡,功能狀態(tài)是否正常,尤其是對于從后臺切換回前臺數(shù)據(jù)有自動更新的時候窟感。
手機(jī)鎖屏解屏后進(jìn)入app注意是否會崩潰讨彼,功能狀態(tài)是否正常,尤其是對于從后臺切換回前臺數(shù)據(jù)有自動更新的時候柿祈。
當(dāng)App使用過程中有電話進(jìn)來中斷后再切換到app哈误,功能狀態(tài)是否正常
當(dāng)殺掉app進(jìn)程后,再開啟app躏嚎,app能否正常啟動蜜自。
出現(xiàn)必須處理的提示框后,切換到后臺卢佣,再切換回來重荠,檢查提示框是否還存在,有時候會出現(xiàn)應(yīng)用自動跳過提示框的缺陷虚茶。
對于有數(shù)據(jù)交換的頁面戈鲁,每個頁面都必需要進(jìn)行前后臺切換、鎖屏的測試嘹叫,這種頁面最容易出現(xiàn)崩潰婆殿。
l 免登錄
很多應(yīng)用提供免登錄功能,當(dāng)應(yīng)用開啟時自動以上一次登錄的用戶身份來使用app.
app有免登錄功能時罩扇,需要考慮IOS版本差異婆芦。
考慮無網(wǎng)絡(luò)情況時能否正常進(jìn)入免登錄狀態(tài)。
切換用戶登錄后暮蹂,要校驗(yàn)用戶登錄信息及數(shù)據(jù)內(nèi)容是否相應(yīng)更新寞缝,確保原用戶退出。
根據(jù)MTOP的現(xiàn)有規(guī)則仰泻,一個帳戶只允許登錄一臺機(jī)器荆陆。所以,需要檢查一個帳戶登錄多臺手機(jī)的情況集侯。原手機(jī)里的用戶需要被踢出被啼,給出友好提示。
app切換到后臺棠枉,再切回前臺的校驗(yàn)
切換到后臺浓体,再切換回前臺的測試
密碼更換后,檢查有數(shù)據(jù)交換時是否進(jìn)行了有效身份的校驗(yàn)
支持自動登錄的應(yīng)用在進(jìn)行數(shù)據(jù)交換時辈讶,檢查系統(tǒng)是否能自動登錄成功并且數(shù)據(jù)操作無誤命浴。
檢查用戶主動退出登錄后,下次啟動app,應(yīng)停留在登錄界面
l 數(shù)據(jù)更新
根據(jù)應(yīng)用的業(yè)務(wù)規(guī)則生闲,以及數(shù)據(jù)更新量的情況媳溺,來確定最優(yōu)的數(shù)據(jù)更新方案。
需要確定哪些地方需要提供手動刷新碍讯,哪些地方需要自動刷新悬蔽,哪些地方需要手動+自動刷新。
確定哪些地方從后臺切換回前臺時需要進(jìn)行數(shù)據(jù)更新捉兴。
根據(jù)業(yè)務(wù)蝎困、速度及流量的合理分配,確定哪些內(nèi)容需要實(shí)時更新倍啥,哪些需要定時更新禾乘。
確定數(shù)據(jù)展示部分的處理邏輯,是每次從服務(wù)端請求逗栽,還是有緩存到本地盖袭,這樣才能有針對性的進(jìn)行相應(yīng)測試失暂。
檢查有數(shù)據(jù)交換的地方彼宠,均有相應(yīng)的異常處理。
l 離線瀏覽
很多應(yīng)用會支持離線瀏覽弟塞,即在本地客戶端會緩存一部分?jǐn)?shù)據(jù)供用戶查看凭峡。
在無網(wǎng)絡(luò)情況可以瀏覽本地數(shù)據(jù)
退出app再開啟app時能正常瀏覽
切換到后臺再切回前臺可以正常瀏覽
鎖屏后再解屏回到應(yīng)用前臺可以正常瀏覽
在對服務(wù)端的數(shù)據(jù)有更新時會給予離線的相應(yīng)提示
l App更新
當(dāng)客戶端有新版本時,有更新提示决记。
當(dāng)版本為非強(qiáng)制升級版時摧冀,用戶可以取消更新,老版本能正常使用系宫。用戶在下次啟動app時索昂,仍能出現(xiàn)更新提示。
當(dāng)版本為強(qiáng)制升級版時扩借,當(dāng)給出強(qiáng)制更新后用戶沒有做更新時椒惨,退出客戶端。下次啟動app時潮罪,仍出現(xiàn)強(qiáng)制升級提示康谆。
當(dāng)客戶端有新版本時,在本地不刪除客戶端的情況下嫉到,直接更新檢查是否能正常更新沃暗。
當(dāng)客戶端有新版本時,在本地不刪除客戶端的情況下何恶,檢查更新后的客戶端功能是否是新版本孽锥。
當(dāng)客戶端有新版本時,在本地不刪除客戶端的情況下细层,檢查資源同名文件如圖片是否能正常更新成最新版本惜辑。如果以上無法更新成功的隔崎,也都屬于缺陷。
l 定位韵丑、照相機(jī)服務(wù)
App有用到相機(jī)爵卒,定位服務(wù)時,需要注意系統(tǒng)版本差異
有用到定位服務(wù)撵彻、照相機(jī)服務(wù)的地方钓株,需要進(jìn)行前后臺的切換測試,檢查應(yīng)用是否正常陌僵。
當(dāng)定位服務(wù)沒有開啟時轴合,使用定位服務(wù),會友好性彈出是否允許設(shè)置定位提示碗短。當(dāng)確定允許開啟定位時受葛,能自動跳轉(zhuǎn)到定位設(shè)置中開啟定位服務(wù)。
測試定位偎谁、照相機(jī)服務(wù)時总滩,需要采用真機(jī)進(jìn)行測試。
l 時間測試
客戶端可以自行設(shè)置手機(jī)的時區(qū)巡雨、時間闰渔,因此需要校驗(yàn)該設(shè)置對app的影響。
--中國為東8區(qū)铐望,所以當(dāng)手機(jī)設(shè)置的時間非東8區(qū)時冈涧,查看需要顯示時間的地方,時間是否展示正確正蛙,應(yīng)用功能是否正常督弓。時間一般需要根據(jù)服務(wù)器時間再轉(zhuǎn)換成客戶端對應(yīng)的時區(qū)來展示,這樣的用戶體驗(yàn)比較好乒验。比如發(fā)表一篇微博在服務(wù)端記錄的是10:00愚隧,此時,華盛頓時間為22:00徊件,客戶端去瀏覽時奸攻,如果設(shè)置的是華盛頓時間,則顯示的發(fā)表時間即為22:00,當(dāng)時間設(shè)回東8區(qū)時間時,再查看則顯示為10:00虱痕。
l PUSH測試
檢查push消息是否按照指定的業(yè)務(wù)規(guī)則發(fā)送
檢查不接受推送消息時睹耐,檢查用戶不會再接收到push.
如果用戶設(shè)置了免打擾的時間段,檢查在免打擾時間段內(nèi)部翘,用戶接收不到PUSH硝训。在非免打擾時間段,用戶能正常收到push。
當(dāng)push消息是針對登錄用戶的時候窖梁,需要檢查收到的push與用戶身份是否相符赘风,沒有錯誤地將其它人的消息推送過來。一般情況下纵刘,只對手機(jī)上最后一個登錄用戶進(jìn)行消息推送邀窃。
測試push時,需要采用真機(jī)進(jìn)行測試假哎。
2.2界面測試(UI測試)
界面測試(簡稱UI測試)瞬捕,測試用戶界面的功能模塊的布局是否合理、整體風(fēng)格是否一致舵抹、各個控件的放置位置是否符合客戶使用習(xí)慣肪虎。
測試內(nèi)容
1、導(dǎo)航惧蛹、鏈接扇救、Cookie、頁面結(jié)構(gòu)包括菜單香嗓、背景迅腔、顏色、字 體陶缺、按鈕名稱钾挟、title、提示信息的一致性等饱岸;
2、界面內(nèi)容完整性檢查徽千,通過瀏覽器測試苫费,確認(rèn)對象可以正確的反應(yīng)業(yè)務(wù)的功能和需求,包括窗口與窗口之間的跳轉(zhuǎn)双抽,字段與字段之間的瀏覽百框,各種快捷鍵的使用。
3牍汹、窗口的對象和特征(例如:菜單铐维、大小、位置慎菲、狀態(tài)和中心)都符合標(biāo)準(zhǔn)嫁蛇。
2.3接口測試(灰盒測試)
當(dāng)模塊之間、子系統(tǒng)之間有接口交互時露该,需要根據(jù)接口文檔進(jìn)行測試睬棚,接口測試也叫集成測試或灰盒測試,主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換抑党,傳遞和控制管理過程包警,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。
測試內(nèi)容
1底靠、輸入的實(shí)際參數(shù)與形式參數(shù)的個數(shù)是否相同害晦;
2、輸入的實(shí)際參數(shù)與形式參數(shù)的屬性是否匹配暑中;
3篱瞎、輸入的實(shí)際參數(shù)與形式參數(shù)的量綱是否一致;
4痒芝、調(diào)用其他模塊時所給實(shí)際參數(shù)的個數(shù)是否與被調(diào)模塊的形參個數(shù)相同俐筋;
5、調(diào)用其他模塊時所給實(shí)際參數(shù)的屬性是否與被調(diào)模塊的形參屬性匹配严衬;
6澄者、調(diào)用其他模塊時所給實(shí)際參數(shù)的量綱是否與被調(diào)模塊的形參量綱一致;
7请琳、調(diào)用預(yù)定義函數(shù)時所用參數(shù)的個數(shù)粱挡、屬性和次序是否正確;
8俄精、是否存在與當(dāng)前入口點(diǎn)無關(guān)的參數(shù)引用询筏;
9、是否修改了只讀型參數(shù)竖慧;
10嫌套、對全局變量的定義各模塊是否一致;
11圾旨、是否把某些約束作為參數(shù)傳遞踱讨。
12、如果模塊功能包括外部輸入輸出砍的,還應(yīng)該考慮下列因素:-文件屬性是否正確痹筛;-OPEN/CLOSE語句是否正確;
13廓鞠、格式說明與輸入輸出語句是否匹配帚稠;
14、緩沖區(qū)大小與記錄長度是否匹配床佳;
15滋早、文件使用前是否已經(jīng)打開;
16夕土、是否處理了文件尾馆衔;
17瘟判、是否處理了輸入/輸出錯誤;
18角溃、輸出信息中是否有文字性錯誤拷获。
2.4性能測試
性能測試是通過性能測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試减细。
性能測試包括的測試內(nèi)容主要概括為三個方面:應(yīng)用在客戶端性能的測試匆瓜、應(yīng)用在網(wǎng)絡(luò)上性能的測試和應(yīng)用在服務(wù)器端性能的測試。通常情況下未蝌,三方面有效驮吱、合理的結(jié)合,可以達(dá)到對系統(tǒng)性能全面的分析和瓶頸的預(yù)測萧吠。
性能測試的目的是通過確定一個系統(tǒng)的瓶頸或者不能接受的性能點(diǎn)左冬,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。一個系統(tǒng)需要達(dá)到的性能指標(biāo)也是來源于需求纸型,和用戶對該軟件的性能要求拇砰。
常見的性能指標(biāo)如下:
l 響應(yīng)時間(按照不同的處理細(xì)分)
1)事務(wù)處理類
快速響應(yīng)類
普通響應(yīng)類
2)查詢類
3)統(tǒng)計(jì)類
l 吞吐量與關(guān)鍵量
l 事務(wù)成功率
l 服務(wù)器資源
CPU使用率
內(nèi)存使用率
I/O吞吐量
測試內(nèi)容
性能測試類型包括負(fù)載測試,強(qiáng)度測試狰腌,容量測試等除破。
l 負(fù)載測試:是一種主要為了測試軟件系統(tǒng)是否達(dá)到需求文檔設(shè)計(jì)的目標(biāo),譬如軟件在一定時期內(nèi)琼腔,最大支持多少并發(fā)用戶數(shù)瑰枫,軟件請求出錯率等,測試的主要是軟件系統(tǒng)的性能丹莲。
l 壓力測試:強(qiáng)度測試也就是壓力測試光坝,壓力測試主要是為了測試硬件系統(tǒng)是否達(dá)到需求文檔設(shè)計(jì)的性能目標(biāo),譬如在一定時期內(nèi)圾笨,系統(tǒng)的cpu利用率教馆,內(nèi)存使用率,磁盤I/O吞吐率擂达,網(wǎng)絡(luò)吞吐量等,壓力測試和負(fù)載測試最大的差別在于測試目的不同胶滋。
l 容量測試:確定系統(tǒng)最大承受量板鬓,譬如系統(tǒng)最大用戶數(shù),最大存儲量究恤,最多處理的數(shù)據(jù)流量等俭令。
另外,并發(fā)測試是應(yīng)用在客戶端部宿,以客戶端做為入口進(jìn)行的一項(xiàng)重要性能測試抄腔,它是一個負(fù)載測試和壓力測試的過程瓢湃,即逐漸增加負(fù)載,直到系統(tǒng)的瓶頸或者不能接收的性能點(diǎn)赫蛇,通過綜合分析交易執(zhí)行指標(biāo)和資源監(jiān)控指標(biāo)來確定系統(tǒng)并發(fā)性能的過程绵患。
2.5兼容性測試
web兼容性測試范圍主要從操作系統(tǒng)、瀏覽器悟耘、分辨率這三方面考慮落蝙, 而系統(tǒng)(如不同的Windows版本)和瀏覽器(如IE9、谷歌暂幼、火狐)是重點(diǎn)考慮方向筏勒,系統(tǒng)應(yīng)該支持什么系統(tǒng)和瀏覽器,也是應(yīng)以需求為依據(jù)旺嬉。
APP兼容性主要考慮內(nèi)部和外部兼容性
1)與本地及主流App是否兼容管行;
2)基于開發(fā)環(huán)境和生產(chǎn)環(huán)境的不同,檢驗(yàn)在各種網(wǎng)絡(luò)連接下(WiFi邪媳、GSM捐顷、GPRS等),App的數(shù)據(jù)和運(yùn)用是否正確悲酷;
3)與各種設(shè)備是否兼容套菜,若有跨系統(tǒng)支持則需要檢驗(yàn)是否在各系統(tǒng)下,各種行為是否一致:
--不同操作系統(tǒng)的兼容性设易,是否適配
--不同手機(jī)屏幕分辨率的兼容性
--不同手機(jī)品牌的兼容性
--不同手機(jī)版本逗柴、不同分辨率
2.6安全測試
安全測試是在IT軟件產(chǎn)品的生命周期中,特別是產(chǎn)品開發(fā)基本完成到發(fā)布階段顿肺,對產(chǎn)品進(jìn)行檢驗(yàn)以驗(yàn)證產(chǎn)品符合安全需求定義和產(chǎn)品質(zhì)量標(biāo)準(zhǔn)的過程 戏溺。
如需求上對軟件產(chǎn)品有具體的安全等級要求,那么我們需要從下面幾個方面進(jìn)行安全測試:
可測試性和通用性上劃分為:權(quán)限管理測試屠尊、認(rèn)證測試旷祸、會話管理測試、服務(wù)器測試讼昆、數(shù)據(jù)注入測試托享,其余方面(如環(huán)境安全、媒體安全)可在部署和運(yùn)維中保證浸赫。
測試內(nèi)容
l 權(quán)限管理測試
驗(yàn)證用戶是否可以進(jìn)行橫向越權(quán)和縱向越權(quán)操作
? 頁面是否進(jìn)行權(quán)限判斷
? 頁面資源標(biāo)志是否和用戶信息匹配
? 用戶登錄后闰围,應(yīng)以會話中的用戶session的用戶身份信息為準(zhǔn)。
? 每個URL必須堅(jiān)定權(quán)限既峡,不能通過菜單屏蔽或按鈕disable作為限制條件羡榴。
l 認(rèn)證測試
認(rèn)證測試是為了避免用戶賬號和密碼遭到暴力破解而進(jìn)行的測試
? 系統(tǒng)存在驗(yàn)證碼機(jī)制。
? 不允許簡單面的存在运敢。如純英文校仑、純數(shù)字等忠售。
? 認(rèn)證失敗的錯誤提示不應(yīng)該提示詳細(xì)信息,避免攻擊者根據(jù)提示信息改良破解方式迄沫。
? 系統(tǒng)存在鎖定策略稻扬。
? 系統(tǒng)不存在認(rèn)證繞過的漏洞。
? 找回密碼和修改密碼不存在漏洞邢滑。
? 使用安全的數(shù)據(jù)傳輸腐螟。
? 強(qiáng)口令策略。
l 會話管理測試
會話管理用于保持用戶的整個會話活動與計(jì)算機(jī)系統(tǒng)跟蹤過程困后,根據(jù)項(xiàng)目需求乐纸,關(guān)注WEB服務(wù)器的會話管理。
? 用戶登錄后摇予,身份信息由服務(wù)器端會話的Session中的用戶信息為準(zhǔn)汽绢。
? cookie中不會帶有session ID信息。
? 用戶操作停止后會話保持時間不會超過10分鐘侧戴,超過10分鐘會跳轉(zhuǎn)回登錄界面宁昭。
? 用戶登錄后,每次請求服務(wù)器數(shù)據(jù)后session ID都會改變酗宋。
? 注銷后用戶信息被清除积仗。
l 服務(wù)器測試
? 服務(wù)器運(yùn)行賬號不應(yīng)該是特權(quán)賬號或高級別權(quán)限賬號,如“root”“administrator”等蜕猫。
? 未使用的端口應(yīng)為關(guān)閉狀態(tài)寂曹。
? 不能通過任何方式獲得服務(wù)器的詳細(xì)版本信息。
l 數(shù)據(jù)注入測試
當(dāng)系統(tǒng)接受數(shù)據(jù)注入時回右,可能會造成數(shù)據(jù)泄露隆圆、數(shù)據(jù)被修改等嚴(yán)重影響,導(dǎo)致業(yè)務(wù)中斷翔烁。
? 不存在注入點(diǎn)渺氧。
? 頁面中不包含類似系統(tǒng)命令的返回信息。
2.7安裝測試
安裝測試只針對C/S架構(gòu)的系統(tǒng)(即App)蹬屹,需要驗(yàn)證App是否能正確安裝侣背、運(yùn)行、卸載以及操作過程和操作前后對系統(tǒng)資源的使用情況慨默。
測試內(nèi)容
l 安裝
1)軟件在不同操作系統(tǒng)(Android秃踩、iOS)下安裝是否正常(手機(jī)端)。
2)軟件安裝后的是否能夠正常運(yùn)行业筏,安裝后的文件夾及文件是否寫到了指定的目錄里。
3)軟件安裝各個選項(xiàng)的組合是否符合概要設(shè)計(jì)說明
4))軟件安裝向?qū)У腢I測試
5)軟件安裝過程是否可以取消鸟赫,點(diǎn)擊取消后蒜胖,寫入的文件是否如概要設(shè)計(jì)說明處理
6)軟件安裝過程中意外情況的處理是否符合需求(如死機(jī)消别,重啟,斷電)
7)安裝空間不足時是否有相應(yīng)提示
8)安裝后沒有生成多余的目錄結(jié)構(gòu)和文件
9)對于需要通過網(wǎng)絡(luò)驗(yàn)證之類的安裝台谢,在斷網(wǎng)情況下嘗試一下
10)還需要對安裝手冊進(jìn)行測試寻狂,依照安裝手冊是否能順利安裝
l 卸載
1)直接刪除安裝文件夾卸載是否有提示信息。
2)測試系統(tǒng)直接卸載程序是否有提示信息朋沮。
3)測試卸載后文件是否全部刪除所有的安裝文件夾蛇券。
4)卸載過程中出現(xiàn)的意外情況的測試(如死機(jī)、斷電樊拓、重啟)纠亚。
5)卸載是否支持取消功能,單擊取消后軟件卸載的情況 筋夏。
6)系統(tǒng)直接卸載UI測試蒂胞,是否有卸載狀態(tài)進(jìn)度條提示 。