-
軟件測(cè)試的分類
瀑布模式、敏捷測(cè)試、基于腳本大的測(cè)試、基于風(fēng)險(xiǎn)的測(cè)試、探索式測(cè)試等
傳統(tǒng)的瀑布模型(傳統(tǒng)軟件工程學(xué)的開(kāi)發(fā)模式,最早出現(xiàn),)
(1)瀑布模型
項(xiàng)目計(jì)劃-->需求分析-->軟件設(shè)計(jì)-->程序開(kāi)發(fā)-->軟件測(cè)試-->集成維護(hù)
(每一個(gè)階段都是以上一個(gè)階段的輸出做為下一個(gè)階段的輸入)
項(xiàng)目計(jì)劃:制定項(xiàng)目總體的研發(fā)計(jì)劃,確定項(xiàng)目主要的里程碑節(jié)點(diǎn);需要輸出項(xiàng)目計(jì)劃書(shū)。
需要分析:明確用戶的需求定義,并對(duì)定義進(jìn)行清晰的描述,是充分理解客戶需求,詳細(xì)描述產(chǎn)品功能的一個(gè)重要階段;需要輸出產(chǎn)品的需求規(guī)格書(shū)。
軟件設(shè)計(jì):根據(jù)產(chǎn)品的定義,確定產(chǎn)品的實(shí)現(xiàn)方案;包括定義軟件與硬件的結(jié)構(gòu),組件模塊的實(shí)現(xiàn)方法,接口、界面、數(shù)據(jù)如何組織,需要輸出概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)在內(nèi)的多份說(shuō)明書(shū)。
程序開(kāi)發(fā):由開(kāi)發(fā)團(tuán)隊(duì)根據(jù)需求和設(shè)計(jì)具體實(shí)現(xiàn)產(chǎn)品的功能,根據(jù)編程規(guī)范編寫(xiě)各類組件和模塊,最后輸出產(chǎn)品版本。
軟件測(cè)試:通過(guò)獨(dú)立的測(cè)試小組(QA團(tuán)隊(duì))來(lái)評(píng)估產(chǎn)品是否滿足需求的定義,需要輸出測(cè)試結(jié)果、測(cè)試報(bào)告。
集成維護(hù):產(chǎn)品經(jīng)過(guò)測(cè)試后交付給用戶,根據(jù)用戶的使用情況,對(duì)產(chǎn)品進(jìn)行維護(hù),及必要的修改、升級(jí)的操作。
瀑布模式的有缺點(diǎn)
優(yōu)點(diǎn)
1、強(qiáng)調(diào)需求、設(shè)計(jì)的作用
2、前一階段完成后,只需要關(guān)注后續(xù)階段
3、為項(xiàng)目提供了按階段劃分的檢查點(diǎn),里程碑清晰
4、文檔規(guī)范
缺點(diǎn)
1、難以適應(yīng)需求的頻繁變化
2、項(xiàng)目周期后段才能看到成果
3、強(qiáng)制的里程碑、完成時(shí)間點(diǎn)
4、文檔工作量大
(2)V模型(使用最廣泛)
優(yōu)點(diǎn)
描述了測(cè)試與軟件開(kāi)發(fā)過(guò)程的對(duì)應(yīng)關(guān)系。
強(qiáng)調(diào)了軟件開(kāi)發(fā)的協(xié)作與速度,反應(yīng)測(cè)試活動(dòng)和分析設(shè)計(jì)的關(guān)系,并且將軟件實(shí)現(xiàn)和驗(yàn)證有機(jī)的結(jié)合起來(lái),明確界定測(cè)試過(guò)程存在不同階段的,明確了不同測(cè)試階段和研發(fā)過(guò)程每個(gè)階段的對(duì)應(yīng)關(guān)系。
缺點(diǎn)
把測(cè)試當(dāng)做軟件編碼后的階段,忽視了測(cè)試對(duì)需求的分析和驗(yàn)證,對(duì)需求與概要的驗(yàn)證要到后期才能進(jìn)行,不符合軟件測(cè)試需要盡早進(jìn)行的感念。
(3)W模型
軟件開(kāi)發(fā)過(guò)程中,各個(gè)階段測(cè)試都參與,測(cè)試伴隨軟件開(kāi)發(fā)的整個(gè)開(kāi)發(fā)周期
優(yōu)點(diǎn):能盡早的發(fā)現(xiàn)軟件的缺陷;有利于盡早的發(fā)現(xiàn)軟件的風(fēng)險(xiǎn),及早的制定相應(yīng)的應(yīng)對(duì)方案,加快項(xiàng)目的進(jìn)度
缺點(diǎn):需求設(shè)計(jì)編碼還是串行的關(guān)系,測(cè)試開(kāi)發(fā)保持著一種線性的關(guān)系,在上一個(gè)階段完成后才能進(jìn)行以一個(gè)階段,不能很好的支持迭代場(chǎng)景。
(4)X模型
解決交接與頻繁集成周期的問(wèn)題。
分片段進(jìn)行測(cè)試。
(5)H模型
把軟件測(cè)試當(dāng)做一個(gè)獨(dú)立的流程,貫穿在整個(gè)軟件測(cè)試周期當(dāng)中,與其他流程并發(fā)進(jìn)行。
查看全部 -
一·軟件測(cè)試的分類
軟件測(cè)試手段
根據(jù)測(cè)試對(duì)象的可見(jiàn)度:黑盒測(cè)試、 白盒測(cè)試
根據(jù)狀態(tài):靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試
執(zhí)行方式:手工測(cè)試、自動(dòng)化測(cè)試
(1)黑盒測(cè)試:(系統(tǒng)測(cè)試階段常用)
所謂黑盒測(cè)試就是把系統(tǒng)或者軟件看成一個(gè)不能打開(kāi)的盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性下,通過(guò)相關(guān)暴露出的接口,對(duì)程序進(jìn)行測(cè)試。只檢查程序的功能是否按照需求規(guī)定,正常使用;程序是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù),并產(chǎn)生正確的輸出信息;著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯,一般針對(duì)軟件外面的界面,可見(jiàn)的功能;更多從用戶的視角,通過(guò)不同數(shù)據(jù)事件,來(lái)驅(qū)動(dòng)我們的系統(tǒng),通過(guò)輸出結(jié)果進(jìn)行判斷;
優(yōu)點(diǎn):
1.容易實(shí)施,不需要關(guān)注內(nèi)部的實(shí)現(xiàn)
2.更貼近用戶的使用角度
缺點(diǎn):
1.測(cè)試覆蓋率較低,一般只能覆蓋到代碼量的不到40%(不可見(jiàn)不了解內(nèi)部)
2.針對(duì)黑盒的自動(dòng)化測(cè)試,復(fù)用率較低,維護(hù)成本較高。因:產(chǎn)品活動(dòng)增/刪(更新)針對(duì)功能,活動(dòng)經(jīng)常變
黑盒測(cè)試主要測(cè)試什么
1.是否有不正確或遺漏的功能?(軟件的實(shí)現(xiàn)上有沒(méi)有實(shí)現(xiàn)的不正確或者沒(méi)有實(shí)現(xiàn)的功能)
2.在接口上,輸入系統(tǒng)是否能正確的接受?系統(tǒng)能否輸出正確的結(jié)果?(輸入到輸出系統(tǒng)是否能滿足預(yù)期的要求)
3.是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤?(系統(tǒng)對(duì)數(shù)據(jù)的處理和訪問(wèn)上有沒(méi)有問(wèn)題)
4.性能上是否能夠滿足要求?(黑盒測(cè)試重要的一方面)
黑盒測(cè)試的主要設(shè)計(jì)方法
1.等價(jià)類劃分法:針對(duì)程序的輸入條件進(jìn)行分類,輸入典型的數(shù)據(jù)
2.邊界值分析法:特殊的邊界數(shù)據(jù),測(cè)試代碼的邊界狀態(tài)
3.錯(cuò)誤推測(cè)法:基于經(jīng)驗(yàn),直覺(jué),判斷錯(cuò)誤的地方;特殊字符,文件不存在
4.因果圖法:根據(jù)輸入輸出看做原因和結(jié)果,形成因果圖。(因果圖法是一種利用圖解法分析輸入的各種組合情況,從而設(shè)計(jì)測(cè)試用例的方法,它適合于檢查程序輸入條件的各種組合情況。)
5.正交試驗(yàn)分析法:選出代表性的數(shù)據(jù),作為輸入數(shù)據(jù)
6.狀態(tài)遷移圖法:軟件審批的過(guò)程,各種狀態(tài)遷移
7.流程分析法:處理程序邏輯執(zhí)行的路徑來(lái)設(shè)計(jì)測(cè)試用例
(2)白盒測(cè)試:邏輯覆蓋率來(lái)衡量完整性
測(cè)試人員對(duì)內(nèi)部的結(jié)構(gòu)非常了解,邏輯結(jié)構(gòu)透明,白盒測(cè)試又稱為結(jié)構(gòu)化測(cè)試和透明盒測(cè)試,針對(duì)邏輯結(jié)構(gòu)測(cè)試用例主要的邏輯單位:
語(yǔ)句覆蓋:保證程序每條語(yǔ)句執(zhí)行一次
分支(判定):保證每條分支至少執(zhí)行一次
條件:條件表達(dá)式,至少計(jì)算一次
條件組合:覆蓋所以不同條件下的組合情況
路徑:程序中,每一條可能的路徑至少執(zhí)行一次
優(yōu)點(diǎn)
1.迫使測(cè)試人員去仔細(xì)思考軟件的實(shí)現(xiàn),理解原理(應(yīng)為透明,對(duì)系統(tǒng)深入了解)
2.可以檢測(cè)代碼中的每條分支和路徑
3.揭示隱藏在代碼中的錯(cuò)誤
4.對(duì)代碼的測(cè)試比較徹底
缺點(diǎn)
1.昂貴。(較高的覆蓋率)
2.無(wú)法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤(少寫(xiě))
3.不能直接驗(yàn)證需求的正確性(根據(jù)代碼來(lái)的)主要測(cè)試方法:
代碼檢測(cè)法:多面 代碼審查
靜態(tài)結(jié)構(gòu)分析法:測(cè)試工具,源代碼的內(nèi)部結(jié)構(gòu)分析
靜態(tài)質(zhì)量度量法:標(biāo)準(zhǔn)的度量模型如ios質(zhì)量標(biāo)準(zhǔn)
邏輯覆蓋法:6種邏輯,語(yǔ)句 ,分支,條件,條件組合,路徑,判定
基本路徑測(cè)試法:通過(guò)分析復(fù)雜度,選出基本可執(zhí)行路徑的集合。程序控制流圖,描述程序控制流
(3)灰盒測(cè)試
介于黑、白盒測(cè)試之間的,關(guān)注輸出對(duì)于輸入的正確性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)(結(jié)合白黑盒測(cè)試,在系統(tǒng)組建這層來(lái)評(píng)價(jià)應(yīng)用軟件設(shè)計(jì)符合需求的情況)
(4)靜態(tài)測(cè)試
定義:靜態(tài)測(cè)試是指無(wú)須執(zhí)行被測(cè)程序,而是通過(guò)評(píng)審軟件文檔或代碼,度量程序靜態(tài)復(fù)雜度,檢查軟件是否符合編程標(biāo)準(zhǔn),借以發(fā)現(xiàn)編寫(xiě)的程序的不足之處,減少錯(cuò)誤出現(xiàn)的概率;(通過(guò)靜態(tài)的審查代碼或者文檔來(lái)發(fā)現(xiàn)程序的不足)靜態(tài)測(cè)試的方式 (不正式到正式)
1.互審 程序員相互檢查對(duì)方的代碼
2.走查 小組一起來(lái)集體來(lái)
3.會(huì)議
動(dòng)態(tài)測(cè)試(黑盒設(shè)計(jì)的一些方法主要是動(dòng)態(tài)測(cè)試的一些方法)
定義:動(dòng)態(tài)測(cè)試是指通過(guò)運(yùn)行被測(cè)程序,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,并分析運(yùn)行效率、正確性和健壯性等。舉例(外觀車漆又沒(méi)劃傷,輪胎胎壓足不足,油量正常不正常屬于靜態(tài)測(cè)試,汽車發(fā)動(dòng)聽(tīng)聽(tīng)引擎聲音,開(kāi)車感受乘車舒適度可操控性屬于動(dòng)態(tài)測(cè)試)
手工測(cè)試
由專門(mén)的測(cè)試人員從用戶視角來(lái)驗(yàn)證軟件是否滿足設(shè)計(jì)要求的行為。更適用針對(duì)深度的測(cè)試和強(qiáng)調(diào)主觀判斷的測(cè)試。(充分利用主觀能動(dòng)性)
眾包測(cè)試,探索式測(cè)試
自動(dòng)化測(cè)試
使用單獨(dú)的測(cè)試工具軟件控制測(cè)試的自動(dòng)化執(zhí)行以及對(duì)預(yù)期和結(jié)果進(jìn)行自動(dòng)檢查。
單元測(cè)試、接口測(cè)試、性能測(cè)試等查看全部 -
3-3 安全測(cè)試
安全測(cè)試:對(duì)軟件產(chǎn)品進(jìn)行測(cè)試以保證其符合產(chǎn)品安全需求和質(zhì)量標(biāo)準(zhǔn)
滲透測(cè)試:通過(guò)模擬對(duì)軟件系統(tǒng)的惡意攻擊行為來(lái)評(píng)估系統(tǒng)安全性的一種測(cè)試
OWASP:Open Web Application Security Project ?開(kāi)放網(wǎng)絡(luò)應(yīng)用安全項(xiàng)目
下面博主演示了訪問(wèn)OWASP官網(wǎng)
OWASP Top Ten Project 2013
1.Injection 注入腳本漏洞使用戶訪問(wèn)到不該訪問(wèn)的數(shù)據(jù)的目的
2.Broken Authentication and Session Management 失效的身份認(rèn)證和會(huì)話管理 ?會(huì)話劫持漏洞
3.Cross—Site Scripting(XSS)跨站腳本
4.Insecure Direct Object References 不安全的對(duì)象直接引用 ?參數(shù)的保護(hù)
5.Security Misconfiguration ? 安全配置類錯(cuò)誤
6.Sensitive Data Exposure ? ?敏感信息泄露 ? 信息傳遞沒(méi)有對(duì)關(guān)鍵信息進(jìn)行加密
7.Missing Function Level Access Control ? 功能級(jí)別訪問(wèn)控制缺失 ? 比如訪問(wèn)網(wǎng)站可以訪問(wèn)到用戶沒(méi)有權(quán)限到達(dá)的地方
8.Cross-Site Function Level Access Control(CSRF) ?跨站請(qǐng)求偽造 ?
9.Using Components with Known Vulnerabilities ? ?使用了已知有漏洞的組件 ??
10.Unvalidated Redirects adn Forwards ? ?未被驗(yàn)證的重定向和轉(zhuǎn)發(fā) ?(釣魚(yú)網(wǎng)站)
安全測(cè)試工具各種針對(duì)的點(diǎn):
Appscan,Webinspect,W3AF:web應(yīng)用
Nessus:服務(wù)器,主機(jī)
Nmap:端口開(kāi)放
MetaSploit:攻擊軟件,滲透測(cè)試
WebScarab:代理劫持
Fortify:針對(duì)白盒,源碼中的安全問(wèn)題
查看全部 -
軟件測(cè)試的重要性,例舉一些軟件故障完成的損失慘重。例如千年蟲(chóng),日本證券公司,AT-T公司斷網(wǎng)
軟件測(cè)試概要
介紹軟件測(cè)試來(lái)源以及相關(guān)定義
軟件測(cè)試不等于程序測(cè)試,他設(shè)計(jì)到方方面面。
重點(diǎn)講述軟件測(cè)試的五大要素,其中最重要的是質(zhì)量,其他四大要素都是為質(zhì)量服務(wù)跟鋪墊的。其次人是人力。以及講述軟件測(cè)試必須遵守的七個(gè)原則。查看全部 -
軟件測(cè)試概念思維導(dǎo)圖
查看全部 -
A/B測(cè)試的主流工具
查看全部 -
A/B測(cè)試的基本概念
查看全部 -
軟件上冒煙測(cè)試用來(lái)確認(rèn)代碼的更改會(huì)不會(huì)造成其他的錯(cuò)誤,可與回歸測(cè)試對(duì)比
查看全部 -
指在板卡開(kāi)發(fā)完成后會(huì)通電進(jìn)行測(cè)試,如果沒(méi)有冒煙就是沒(méi)有問(wèn)題
查看全部 -
monkey測(cè)試的基本概念
查看全部 -
回歸測(cè)試的基本概念,回歸測(cè)試最適合自動(dòng)化測(cè)試,應(yīng)該成為自動(dòng)化測(cè)試的第一優(yōu)先級(jí)
查看全部 -
無(wú)障礙測(cè)試的基本概念
查看全部 -
部署測(cè)試的概念和測(cè)試邏輯 部署測(cè)試一般是軟件測(cè)試的第一步操作
查看全部 -
本地化測(cè)試的基本概念和測(cè)試邏輯
查看全部 -
可靠性測(cè)試,軟件方面主要是軟件的功能,性能,硬件方面主要是硬件所處的環(huán)境等針對(duì)性測(cè)試
查看全部
舉報(bào)