一、軟件測(cè)試質(zhì)量
ISO9126質(zhì)量模型:軟件質(zhì)量模型的6大特性和27個(gè)子特性。
ISO9126軟件質(zhì)量模型是評(píng)價(jià)軟件質(zhì)量的國(guó)際標(biāo)準(zhǔn),由6個(gè)特性和27個(gè)子特性組成肥隆,建議大家深入理解各特性、子特性的含義和區(qū)別稚失,在測(cè)試工作需要從這6個(gè)特性和27個(gè)子特性去測(cè)試巷屿、評(píng)價(jià)一個(gè)軟件。這個(gè)模型是軟件質(zhì)量標(biāo)準(zhǔn)的核心墩虹,對(duì)于大部分的軟件嘱巾,都可以考慮從這幾個(gè)方面著手進(jìn)行測(cè)評(píng)。
1诫钓、 軟件質(zhì)量的概念:
軟件質(zhì)量是許多質(zhì)量屬性的綜合體現(xiàn)旬昭,各種質(zhì)量屬性反映了軟件質(zhì)量的方方面面。通過(guò)改善軟件的各種質(zhì)量屬性菌湃,從而進(jìn)一步提高軟件的整體質(zhì)量问拘。
2、軟件質(zhì)量模型圖:
(1)功能性
? ? ? ? 1、適合性:是否提供了相應(yīng)的功能
? ? ? ? 2骤坐、準(zhǔn)確性:是不是正確(是不是滿足用戶需要的)
? ? ? ? 3绪杏、互操作性:產(chǎn)品與產(chǎn)品之間交互數(shù)據(jù)的能力
? ? ? ? 4、保密安全性:允許經(jīng)過(guò)授權(quán)的用戶和系統(tǒng)能夠正常的訪問(wèn)相應(yīng)的數(shù)據(jù)和信息纽绍,禁止未授權(quán)的用戶訪問(wèn).......
? ? ? ? 5蕾久、功能性的依從性:國(guó)際/國(guó)家/行業(yè)/企業(yè) 標(biāo)準(zhǔn)規(guī)范一致性
(2)可靠性:產(chǎn)品在規(guī)定的條件下,在規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力
? ? ? ? 1拌夏、成熟性:防止內(nèi)部錯(cuò)誤導(dǎo)致軟件失效的能力
? ? ? ? 2僧著、容錯(cuò)性:軟件出現(xiàn)故障(包含外部錯(cuò)誤),自我處理能力(能否自行解決)障簿。
? ? ? ? 3盹愚、易恢復(fù)性:失效情況下的恢復(fù)能力,能否恢復(fù)到出錯(cuò)之前的應(yīng)用
? ? ? ? 4站故、可靠性的依從性
(3)易用性:在指定使用條件下皆怕,產(chǎn)品被理解、 學(xué)習(xí)西篓、使用和吸引用戶的能力
? ? ? ? 1愈腾、易理解性(是不是容易被用戶理解)
? ? ? ? 2、易學(xué)性(是不是容易學(xué)習(xí))
? ? ? ? 3污淋、易操作性(好不好操作)
? ? ? ? 4、吸引性(是不是吸引用戶)
? ? ? ? 5余掖、易用性的依從性
(4)效率性:在規(guī)定臺(tái)條件下寸爆,相對(duì)于所用資源的數(shù)量,軟件產(chǎn)品可提供適當(dāng)性能的能力
? ? ? ? 1盐欺、時(shí)間特性:平均事務(wù)響應(yīng)時(shí)間赁豆,吞吐率,TPS(每秒事務(wù)數(shù))--對(duì)事物的處理能力好不好冗美, 反應(yīng)快不快魔种,相同的時(shí)間內(nèi)能夠處理多少數(shù)據(jù),每一次能夠處理多少個(gè)請(qǐng)求粉洼。
? ? ? ? 2节预、資源利用性:軟件運(yùn)行的時(shí)候,占用服務(wù)器的資源有多少(主要是對(duì)CPU属韧、 內(nèi)存 安拟、磁盤(pán) 、IO宵喂、 網(wǎng)絡(luò)帶寬糠赦、 隊(duì)列、 共享內(nèi)存的占用),如果占用資源很大拙泽,會(huì)影響到用戶其他的軟件使用淌山,不容易接受。
? ? ? ? 3顾瞻、效率依從性
(5)軟件維護(hù)性:"四規(guī)"泼疑, 在規(guī)定條件下,規(guī)定的時(shí)間內(nèi)朋其,使用規(guī)定的工具或方法修復(fù)規(guī)定功能的能力
? ? ? ? 1王浴、易分析性:分析定位問(wèn)題的難易程度(是否容易對(duì)問(wèn)題進(jìn)行分析和定位)
? ? ? ? 2、易改變性:軟件產(chǎn)品使指定的修改可以被實(shí)現(xiàn)的能力(是不是容易被修改梅猿,添加一些可實(shí)現(xiàn)的功能)
? ? ? ? 3氓辣、穩(wěn)定性:防止意外修改導(dǎo)致程序失效(能不能夠防止一些誤操作導(dǎo)致程序失效)。
? ? ? ? 4袱蚓、易 測(cè)試性:使已修改軟件能被確認(rèn)的能力(已經(jīng)修改的軟件功能钞啸,好不好檢測(cè)及確認(rèn)正確與否)
? ? ? ? 5、維護(hù)性的依從性
(6)軟件可移植性:從一種環(huán)境遷移到另一種環(huán)境的能力
1喇潘、適應(yīng)性:適應(yīng)不同平臺(tái)(能不能適應(yīng)不同的操作系統(tǒng)OS体斩,linux、mac颖低、windows等)
2絮吵、易安裝性:被安裝的能力(軟件是不是容易被安裝)
3、共存性(與其他的軟件能否共存忱屑,如果安裝了這個(gè)軟件蹬敲,其他的軟件就使用不了,勢(shì)必會(huì)被淘汰)
4莺戒、易替換性(軟件是不是容易被其他的產(chǎn)品替代伴嗡,不易替換更好)
5、可移植性的依從性
軟件質(zhì)量實(shí)例:
榨汁機(jī)
?功能:能夠榨豆?jié){从铲、水果汁(蘋(píng)果瘪校、梨、西瓜……)
?性能:榨一公斤黃豆需要多長(zhǎng)時(shí)間名段?
?耗能:榨一公斤黃豆耗電量多少阱扬?
?安全性:榨汁過(guò)程中有無(wú)人體安全防護(hù)措施?有無(wú)漏電保護(hù)伸辟?
?可靠性:榨汁機(jī)能持續(xù)穩(wěn)定運(yùn)轉(zhuǎn)多長(zhǎng)時(shí)間价认?
?易用性:榨汁機(jī)的操作是否簡(jiǎn)單方便?
….
酒店:
?建筑:客房自娩、西餐廳用踩、宴會(huì)廳渠退、酒吧、健身房……
?設(shè)施:配套設(shè)施的品牌脐彩、檔次
?環(huán)境:交通碎乃、風(fēng)景……
?服務(wù):服務(wù)品種、服務(wù)態(tài)度惠奸、響應(yīng)客戶要求的及時(shí)性……
……
3梅誓、軟件測(cè)試與QA的區(qū)別
a.從性質(zhì)上來(lái)看——QA屬于管理的工作。
b.從對(duì)象上來(lái)看——測(cè)試的對(duì)象是軟件研產(chǎn)品佛南,大多數(shù)工作是對(duì)研發(fā)領(lǐng)域的檢驗(yàn)梗掰。QA的對(duì)象是整個(gè)軟件過(guò)程,覆蓋各個(gè)領(lǐng)域嗅回。
c.從手段上來(lái)看——測(cè)試以事后檢查為主及穗,QA強(qiáng)調(diào)的是缺陷預(yù)防。
4绵载、質(zhì)量保證活動(dòng)與軟件測(cè)試的關(guān)系:
二埂陆、軟件測(cè)試的類(lèi)型:
1、功能測(cè)試
? ? ? ? 概念:功能測(cè)試時(shí)根據(jù)產(chǎn)品的需求規(guī)格說(shuō)明書(shū)娃豹,和測(cè)試需求列表焚虱,驗(yàn)證產(chǎn)品的功能實(shí)現(xiàn)是否符合產(chǎn)品的需求規(guī)格
? ? ? ? 目標(biāo):功能測(cè)試主要是為了發(fā)現(xiàn)以下幾類(lèi)錯(cuò)誤---(1)是否有不正確或者遺漏了的功能?(2)功能實(shí)現(xiàn)是否滿足用戶的需求和系統(tǒng)設(shè)計(jì)的隱藏需求懂版?(3)輸入能否正確接受鹃栽?能否正確輸出結(jié)果
2、性能測(cè)試
? ? (1)性能測(cè)試(Performance Testing)就是用來(lái)測(cè)試軟件在集成系統(tǒng)中的運(yùn)行性能的躯畴。
? ? (2)目標(biāo):度量系統(tǒng)相對(duì)于預(yù)定義目標(biāo)的差距(實(shí)際結(jié)果目標(biāo)與預(yù)期是否一致及差距有多少)民鼓。
? ? (3)性能測(cè)試必須要有工具的支持,市面上有一些專(zhuān)門(mén)用于GUI或者Web的性能測(cè)試工具私股,如:Loadrunner? Jmeter? SilkPerformer WebLoad摹察。
? ? (4)性能測(cè)試收集的情況有哪些恩掷?
? ? ? ? ? ? ? a.CPU的使用情況(占用百分之多少)
? ? ? ? ? ? ? b.IO的使用情況(IO讀寫(xiě)的使用情況)
? ? ? ? ? ? ? c.信道占用
? ? ? ? ? ? ? d.每個(gè)模塊執(zhí)行時(shí)間百分比
? ? ? ? ? ? ? e.一個(gè)模塊等待IO完工的時(shí)間百分比
? ? ? ? ? ? ? f.指令隨著時(shí)間的跟蹤路徑
? ? ? ? ? ? ? g.每一組指令頁(yè)換入和換出的次數(shù)
? ? ? ? ? ? ? h.系統(tǒng)的反應(yīng)時(shí)間(對(duì)輸入結(jié)果多久能夠響應(yīng))倡鲸。
? ? ? ? ? ? ? I.系統(tǒng)吞吐量—每個(gè)時(shí)間單元的處理數(shù)量是多少
? ? ? ? ? ? ? J.所有主要指令的單元執(zhí)行時(shí)間。
3黄娘、負(fù)載測(cè)試
? ? ? 概念:是超過(guò)被測(cè)對(duì)象標(biāo)準(zhǔn)性能負(fù)荷指標(biāo)下峭状,驗(yàn)證系統(tǒng)的負(fù)載承受能力。并要求超負(fù)荷情況下逼争、依然正常實(shí)現(xiàn)業(yè)務(wù)能力优床。
? ? ? 負(fù)載測(cè)試通過(guò)不斷對(duì)被測(cè)對(duì)象施加負(fù)荷,觀察被測(cè)對(duì)象在不同負(fù)載下的性能表現(xiàn)(強(qiáng)調(diào)運(yùn)行速度如何)誓焦。
4胆敞、壓力測(cè)試(Stress Testing)--關(guān)注運(yùn)行的速度有多快
? ? 目的:調(diào)查系統(tǒng)在其資源超負(fù)荷的情況下的表現(xiàn)。尤其感興趣的是這些對(duì)系統(tǒng)處理時(shí)間有什么影響。這類(lèi)測(cè)試在一中需要反常數(shù)量移层、頻率或者資源的方式下執(zhí)行系統(tǒng)仍翰。
? ? 目標(biāo):通過(guò)極限測(cè)試方法,發(fā)現(xiàn)系統(tǒng)在極限或惡劣環(huán)境中自我保護(hù)能力观话。主要驗(yàn)證系統(tǒng)的可靠性予借,找到系統(tǒng)薄弱環(huán)節(jié)。
成千上萬(wàn)的用戶在同一時(shí)間登錄到Internet;
同時(shí)引入大量的操作频蛔。
5灵迫、容量測(cè)試(Volume Testing)--面向數(shù)據(jù)的一個(gè)測(cè)試,關(guān)注能夠承受多少數(shù)據(jù)晦溪。
? ? 目的:使系統(tǒng)承受超額的數(shù)據(jù)容量來(lái)發(fā)現(xiàn)它是否能夠正確處理瀑粥。
? ? 容量測(cè)試時(shí)面向數(shù)據(jù)的,并且它的目的是顯示系統(tǒng)可以處理目標(biāo)內(nèi)確定的數(shù)據(jù)容量尼变。
? ? 容量測(cè)試實(shí)例:
使用編譯器編譯一個(gè)極其龐大的源程序利凑;
一個(gè)操作系統(tǒng)的任務(wù)隊(duì)列被充滿。
龐大的Email信息和文件充滿Internet嫌术。
6哀澈、安全性測(cè)試(security Testing)
? ? ? ? 安全測(cè)試用來(lái)驗(yàn)證集成在系統(tǒng)內(nèi)的保護(hù)機(jī)制是否能夠在實(shí)際中保護(hù)系統(tǒng)不受非法的侵入,用來(lái)保證系統(tǒng)本身數(shù)據(jù)的完整性和保密性度气。如當(dāng)系統(tǒng)受到惡意攻擊(黑客)時(shí)割按,設(shè)備的自我保護(hù)能力,病毒防護(hù)? ? ? 能力磷籍,自定義通信協(xié)議安全性(別人使用相同的通信協(xié)議适荣,是不是會(huì)連接到你的系統(tǒng),攻擊你的系統(tǒng))等院领。廣義的還包括物理安全性測(cè)試弛矛、業(yè)務(wù)安全性測(cè)試。
一些功能性的安全性問(wèn)題:
? ? ? ? (1)沒(méi)有口令是否可以登錄到系統(tǒng)比然?
? ? ? ? (2)各級(jí)用戶權(quán)限劃分是否合理丈氓?
? ? ? ? (3)錯(cuò)誤和文件訪問(wèn)是否適當(dāng)?shù)乇挥涗洝罩竟芾恚?/p>
? ? ? ? (4)系統(tǒng)配置數(shù)據(jù)是否能正確保存,系統(tǒng)故障時(shí)是否能恢復(fù)强法?
安全性測(cè)試內(nèi)容(從哪些方面來(lái)考慮安全性測(cè)試):
? ? ? ? (1)? ? 系統(tǒng)的登錄
? ? ? ? (2)? ? 用戶管理(分級(jí)管理權(quán)限万俗,該你看的給你看,不該你看的饮怯,你就看不到闰歪,普通用戶和VIP的操作模塊不同,數(shù)據(jù)保密)
? ? ? ? (3)? ? 防火墻(防自己蓖墅、防別人—黑客)
? ? ? ? (4)? ? 系統(tǒng)數(shù)據(jù)的承載及穩(wěn)定性
? ? ? ? (5)? ? WEB安全性库倘,如WEB加密临扮,解密,數(shù)字簽名等(用戶數(shù)據(jù)保密性教翩,密碼顯示一般不會(huì)明文顯示公条,用“*”顯示帖汞,保存時(shí)也是經(jīng)過(guò)一些算法對(duì)其加密后存儲(chǔ)在文檔內(nèi)浪耘,防止別人找到你的文件就找到你的密碼)很澄。
? ? ? ? (6)? ? 數(shù)據(jù)庫(kù)的安全性超埋。
? ? ? ? (7)? ? 內(nèi)部通信協(xié)議(測(cè)內(nèi)部通信協(xié)議是否正確實(shí)現(xiàn))
? ? ? ? (8)? ? 系統(tǒng)防病毒測(cè)試
7衙吩、GUI(Graphical User Interface)測(cè)試—針對(duì)軟件系統(tǒng)GUI界面進(jìn)行的測(cè)試荒适,主要包含兩個(gè)方面內(nèi)容:
? ? ? ? (1)界面實(shí)現(xiàn)和界面設(shè)計(jì)的吻合情況离熏。
? ? ? ? (2)確認(rèn)界面處理是否正確荚板。
常用的GUI自動(dòng)化工具:QTP杰扫、SilkTest队寇、QARun、QuickTestProfessional章姓、selenium等佳遣。
GUI測(cè)試對(duì)象:
? ? ? ? ? ? a. 簡(jiǎn)單界面元素—界面區(qū)域(功能和屬性相對(duì)比較單一的),通常指各種控件(按鈕等)凡伊。重點(diǎn)檢查
? ? ? ? ? ? b. 組合類(lèi)界面元素—主要是指一些復(fù)雜的界面元素(工具欄零渐、組合框、表格系忙、菜單欄)等诵盼。
? ? ? ? ? ? c.? 完整界面(窗口)--由一系列界面元素通過(guò)適當(dāng)?shù)男问浇M合而成的界面形式,最為常見(jiàn)的就是各種窗口(各種對(duì)話框银还、單文檔窗口风宁、多文檔父窗口、多文檔子窗口等)蛹疯。
? ? ? ? ? ? 8戒财、可用性測(cè)試(Usability Testing)--為了檢測(cè)用戶在理解和使用系統(tǒng)方面到底有多好,主要考慮產(chǎn)品是否符合實(shí)際應(yīng)用的情況捺弦,是否符合用戶的使用習(xí)慣和特殊要求饮寞,軟件的操作方式是否方便合理,設(shè)備和用戶之間的交互信息是否準(zhǔn)確易于理解羹呵,有沒(méi)有遵從行業(yè)習(xí)慣骂际,外觀界面是否美觀等疗琉。應(yīng)該要涉及到所有和用戶有交互的功能和子系統(tǒng)冈欢。包括系統(tǒng)功能、系統(tǒng)發(fā)布盈简、幫助文檔和過(guò)程凑耻,用來(lái)保證用戶能夠舒適地和系統(tǒng)進(jìn)行交互太示。
一些測(cè)試人員應(yīng)當(dāng)關(guān)注的可用性問(wèn)題:
? ? ? ? ? ? a. 過(guò)分復(fù)雜的功能或者指令;
? ? ? ? ? ? b.困難的安裝過(guò)程香浩;
? ? ? ? ? ? c.錯(cuò)誤信息不準(zhǔn)確或者過(guò)于簡(jiǎn)單类缤;
? ? ? ? ? ? d.用戶被迫去記住太多的信息;
? ? ? ? ? ? e.語(yǔ)法邻吭、格式和定義不一致
9餐弱、安裝卸載測(cè)試:
? ? ? ? 定義:系統(tǒng)的可安裝性測(cè)試,主要是根據(jù)軟件的測(cè)試特性列表囱晴、軟件安裝膏蚓、配置文檔,設(shè)計(jì)安裝過(guò)程的測(cè)試用例畸写,發(fā)現(xiàn)軟件在安裝過(guò)程中的錯(cuò)誤
? ? ? ? 目的:系統(tǒng)可安裝性測(cè)試的目的不僅是找安裝軟件本身的錯(cuò)誤驮瞧,而且還要找安裝文檔的錯(cuò)誤。在安裝軟件系統(tǒng)時(shí)枯芬,會(huì)有多種選擇论笔,要分配和裝入文件與程序,布置適當(dāng)?shù)呐渲们M(jìn)行程序的聯(lián)結(jié)狂魔。而安裝測(cè)試就要找出這些安裝過(guò)程中出現(xiàn)的錯(cuò)誤
10、異常測(cè)試
? ? ? ? 概念:系統(tǒng)異常測(cè)試又叫系統(tǒng)容錯(cuò)和可恢復(fù)性測(cè)試淫痰,它是通過(guò)人工干預(yù)手段使系統(tǒng)產(chǎn)生軟毅臊、硬件異常,通過(guò)驗(yàn)證系統(tǒng)異常前后的功能和運(yùn)行狀態(tài)黑界,達(dá)到檢驗(yàn)系統(tǒng)的容錯(cuò)管嬉、排錯(cuò)和恢復(fù)的能力。它是系統(tǒng)可靠性評(píng)價(jià)的重要手段
? ? ? ? 容錯(cuò)處理:
? ? ? ? ? ? ? 系統(tǒng)自動(dòng)處理
? ? ? ? ? ? ? 人工干預(yù)處理
注意:
? ? ? ? ? ? ? 系統(tǒng)異常測(cè)試還與系統(tǒng)的指標(biāo)測(cè)試有關(guān)系朗鸠,當(dāng)系統(tǒng)需要提供的服務(wù)能力大于系統(tǒng)的設(shè)計(jì)指標(biāo)時(shí)蚯撩,也屬于系統(tǒng)異常的情況,因此應(yīng)該結(jié)合起來(lái)加以考慮
? ? ? ? ? ? ? 系統(tǒng)的可靠性是設(shè)計(jì)出來(lái)的烛占,而不是測(cè)試出來(lái)的胎挎。測(cè)試出來(lái)的數(shù)據(jù)有助于為我們進(jìn)行進(jìn)一步的系統(tǒng)優(yōu)化設(shè)計(jì)積累經(jīng)驗(yàn),設(shè)計(jì)和測(cè)試是一個(gè)互為反饋的過(guò)程忆家。
11犹菇、文檔測(cè)試(Documentation Testing)
? ? ? ? ? ? 目標(biāo)----驗(yàn)證用戶文檔是正確的,并且保證操作手冊(cè)的過(guò)程能夠正確工作芽卿。
12揭芍、網(wǎng)絡(luò)測(cè)試(接口測(cè)試)
? ? ? ? ? ? 概念:網(wǎng)絡(luò)測(cè)試是在網(wǎng)絡(luò)環(huán)境下和其他設(shè)備對(duì)接,進(jìn)行系統(tǒng)功能卸例、性能與指標(biāo)方面的測(cè)試称杨,保證設(shè)備對(duì)接正常
? ? ? ? ? ? 內(nèi)容:網(wǎng)絡(luò)測(cè)試考察系統(tǒng)的處理能力肌毅、系統(tǒng)兼容性、系統(tǒng)穩(wěn)定可靠性及用戶使用等方面姑原。
? ? ? ? ? ? 如通信產(chǎn)品悬而,主要進(jìn)行協(xié)議測(cè)試:
? 一致性測(cè)試:檢測(cè)所實(shí)現(xiàn)的系統(tǒng)與協(xié)議規(guī)范符合程度
? 性能測(cè)試:檢測(cè)協(xié)議實(shí)體或系統(tǒng)的性能指標(biāo)(數(shù)據(jù)傳輸率、聯(lián)接時(shí)間锭汛,執(zhí)行速度笨奠、吞吐量、并發(fā)數(shù)等)
? 互操作性測(cè)試:檢測(cè)同一協(xié)議不同實(shí)現(xiàn)廠商之間唤殴,同一協(xié)議不同實(shí)現(xiàn)版本之間艰躺、或同一類(lèi)協(xié)議不同實(shí)現(xiàn)版本之間互通能力和互連操作能力
? 堅(jiān)固性測(cè)試:檢測(cè)協(xié)議實(shí)體或系統(tǒng)在各種惡劣環(huán)境下運(yùn)行的能力(信道被切斷、通信設(shè)備掉電眨八、注入干擾報(bào)文等)
13腺兴、穩(wěn)定性測(cè)試
? ? ? ? 系統(tǒng)穩(wěn)定性測(cè)試目的是評(píng)價(jià)系統(tǒng)在一定負(fù)荷情況下、長(zhǎng)時(shí)間的運(yùn)行情況廉侧。包括系統(tǒng)在一定負(fù)荷下页响,再增加新的業(yè)務(wù),原有的業(yè)務(wù)是否受影響段誊,新的業(yè)務(wù)能不能正常工作闰蚕,系統(tǒng)資源有沒(méi)有泄漏,數(shù)據(jù)有沒(méi)有不一致的情況连舍,系統(tǒng)性能是否會(huì)降下來(lái)没陡,關(guān)鍵點(diǎn)是長(zhǎng)時(shí)間的運(yùn)行后,系統(tǒng)的狀況如何索赏,系統(tǒng)平均無(wú)故障時(shí)間MTBF是否滿足系統(tǒng)設(shè)計(jì)要求
14盼玄、兼容性測(cè)試
? ? ? 兼容性測(cè)試驗(yàn)證被測(cè)對(duì)象與硬件、其他軟件之間的兼容情況潜腻。不同的瀏覽器埃儿,不同的設(shè)備、不同的操作系統(tǒng)之間的兼容
三融涣、軟件的測(cè)試方法
? ? 1童番、主要軟件測(cè)試方法:
? ? ? ? ? ? a. 黑盒測(cè)試、白盒測(cè)試威鹿、灰盒測(cè)試
? ? ? ? ? ? b. 靜態(tài)測(cè)試剃斧、動(dòng)態(tài)測(cè)試。
? ? ? ? ? ? c.? 人工測(cè)試忽你、自動(dòng)化測(cè)試
? ? 2幼东、 軟件測(cè)試的兩種極端情況:
? ? ? ? ? ? 第一種:知道產(chǎn)品的需求規(guī)格,但是不知道其內(nèi)部邏輯實(shí)現(xiàn),可以進(jìn)行測(cè)試證明每個(gè)需求是否實(shí)現(xiàn)—黑盒測(cè)試—關(guān)心業(yè)務(wù)需求
? ? ? ? ? ? 第二種:知道產(chǎn)品的內(nèi)部邏輯實(shí)現(xiàn)功能筋粗,可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格的要求,所有內(nèi)部成分是否通過(guò)檢查—白盒測(cè)試炸渡,--早期介入進(jìn)行娜亿,龐大的測(cè)試系統(tǒng)在現(xiàn)實(shí)中不太現(xiàn)實(shí)。
現(xiàn)實(shí)中大多用黑盒測(cè)試蚌堵。
灰盒測(cè)試是白盒測(cè)試和黑盒測(cè)試兩種相結(jié)合測(cè)試买决。
? ? ? ? ? 白盒測(cè)試:依據(jù)被測(cè)軟件分析程序內(nèi)部構(gòu)造,并根據(jù)內(nèi)部構(gòu)造設(shè)計(jì)用例吼畏,來(lái)對(duì)內(nèi)部控制流程進(jìn)行測(cè)試督赤,可完全不顧程序的整體功能實(shí)現(xiàn)情況。
? ? ? ? ? ? 白盒測(cè)試是基于程序結(jié)構(gòu)的邏輯驅(qū)動(dòng)測(cè)試泻蚊。
? ? ? ? ? ? 白盒測(cè)試又可以被稱(chēng)為玻璃盒測(cè)試躲舌、透明盒測(cè)試、開(kāi)放盒測(cè)試性雄、結(jié)構(gòu)化測(cè)試没卸、
邏輯驅(qū)動(dòng)測(cè)試
白盒測(cè)試常用技術(shù):
? ? ? ? ? ? ? 靜態(tài)分析:控制流分析、數(shù)據(jù)流分析秒旋、信息流分析等
? ? ? ? ? ? ? 動(dòng)態(tài)分析:邏輯覆蓋測(cè)試(分支測(cè)試约计、路徑測(cè)試等)、程序插裝等
? ? ? ? ? ? 白盒測(cè)試中常見(jiàn)的覆蓋有六種:語(yǔ)句覆蓋迁筛、判定覆蓋煤蚌、條件覆蓋、判定/條件覆蓋细卧、組合覆蓋和路徑覆蓋(測(cè)試力度逐漸增強(qiáng)尉桩,最常用的是組合覆蓋法,路徑覆蓋法對(duì)大型的測(cè)試用例來(lái)講贪庙,太復(fù)雜魄健,時(shí)間過(guò)長(zhǎng))
黑盒測(cè)試:發(fā)現(xiàn)問(wèn)題,解決成本比較高插勤。
? ? ? ? ? ? ? 功能性測(cè)試沽瘦,一種是順序測(cè)試每個(gè)程序特性或功能,另一種途徑是一個(gè)模塊一個(gè)模塊的測(cè)試农尖,即每個(gè)功能在其最先調(diào)用的地方被測(cè)試析恋;
? ? ? ? ? ? ? 容量測(cè)試,檢測(cè)軟件在處理海量數(shù)據(jù)時(shí)的局限性盛卡,能發(fā)現(xiàn)系統(tǒng)效率方面的問(wèn)題助隧;
? ? ? ? ? ? ? 負(fù)載測(cè)試,檢測(cè)系統(tǒng)在一個(gè)很短時(shí)間內(nèi)處理一個(gè)巨大的數(shù)據(jù)量或執(zhí)行許多功能調(diào)用上的能力;
? ? ? ? ? ? 恢復(fù)性測(cè)試并村,主要保證系統(tǒng)在崩潰后能夠恢復(fù)外部數(shù)據(jù)的能力巍实;
黑盒測(cè)試特點(diǎn):
? ? ? ? ? ? 對(duì)于更大的代碼單元來(lái)說(shuō)(子系統(tǒng)甚至系統(tǒng)級(jí))比白盒測(cè)試效率要高;
? ? ? ? ? ? 測(cè)試人員不需要了解實(shí)現(xiàn)的細(xì)節(jié)哩牍,包括特定的編程語(yǔ)言棚潦;
? ? ? ? ? ? 從用戶的視角進(jìn)行測(cè)試,很容易被大家理解和接受膝昆;
? ? ? ? ? ? 有助于暴露任何規(guī)格不一致或有歧義的問(wèn)題丸边;
靜態(tài)測(cè)試:(是否運(yùn)行被測(cè)軟件,分為靜態(tài)測(cè)試和動(dòng)態(tài)試)
? ? ? ? ? 不運(yùn)行被測(cè)試的軟件系統(tǒng)荚孵,而是采用其他手段和技術(shù)對(duì)被測(cè)試軟件進(jìn)行檢測(cè)的一種測(cè)試技術(shù)妹窖。例如:代碼走讀、文檔評(píng)審收叶、程序分析等都是靜態(tài)測(cè)試的范疇骄呼。常用技術(shù)有靜態(tài)分析技術(shù)。
動(dòng)態(tài)測(cè)試:
? ? ? ? ? 按照預(yù)先設(shè)計(jì)的數(shù)據(jù)和步驟去運(yùn)行被測(cè)軟件系統(tǒng)判没,從而對(duì)被測(cè)軟件系統(tǒng)進(jìn)行檢測(cè)的一種測(cè)試技術(shù)谒麦。常用技術(shù)有動(dòng)態(tài)分析技術(shù)。
人工測(cè)試:
? ? ? ? ? 測(cè)試活動(dòng)(如評(píng)審哆致、測(cè)試設(shè)計(jì)绕德、測(cè)試執(zhí)行等)由人來(lái)完成,狹義上是指測(cè)試執(zhí)行由人工完成摊阀,這是最基本的測(cè)試形式
自動(dòng)化測(cè)試:
? ? ? ? 一般是指通過(guò)計(jì)算機(jī)模擬人的測(cè)試行為耻蛇,替代人的測(cè)試活動(dòng),狹義上是指測(cè)試執(zhí)行由計(jì)算機(jī)來(lái)完成(主要是回歸測(cè)試中使用胞此,就是一些重復(fù)性的功能的測(cè)試臣咖,新功能不建議使用自動(dòng)化測(cè)試,手工測(cè)試發(fā)現(xiàn)bug能力強(qiáng)漱牵。)
四夺蛇、測(cè)試階段及各階段的輸出:
? ? 1、測(cè)試階段主要有:
? ? ? ? ? ? ? A.測(cè)試計(jì)劃階段 – 測(cè)試計(jì)劃
? ? ? ? ? ? ? B.測(cè)試設(shè)計(jì)階段 – 測(cè)試方案(設(shè)計(jì)方法的細(xì)節(jié)文檔)
? ? ? ? ? ? ? C.測(cè)試實(shí)現(xiàn)階段 – 測(cè)試用例酣胀、測(cè)試規(guī)程
? ? ? ? ? ? ? D.測(cè)試執(zhí)行階段 – 測(cè)試報(bào)告
2刁赦、測(cè)試各階段的工作內(nèi)容及輸出文檔:
? ? ? ? ? ? ? (1) 測(cè)試計(jì)劃:指明測(cè)試范圍、方法闻镶、資源甚脉,以及相應(yīng)測(cè)試活動(dòng)的時(shí)間進(jìn)度安排表的文檔。--(測(cè)試的范圍是多大铆农,使用什么測(cè)試方法牺氨,資源的分配,項(xiàng)目測(cè)試時(shí)間進(jìn)度的安排等)
? ? ? ? ? ? ? (2) 測(cè)試方案:指明為完成軟件或軟件集成特性的測(cè)試而進(jìn)行的設(shè)計(jì)測(cè)試方法的細(xì)節(jié)文檔。
? ? ? ? ? ? ? (3) 測(cè)試用例:指明為完成一個(gè)測(cè)試項(xiàng)的測(cè)試輸入猴凹、預(yù)期結(jié)果夷狰、測(cè)試執(zhí)行條件等因素的文檔。
? ? ? ? ? ? ? (4) 測(cè)試規(guī)程:指明執(zhí)行測(cè)試時(shí)測(cè)試活動(dòng)序列的文檔郊霎。
? ? ? ? ? ? ? (5) 測(cè)試報(bào)告:指明執(zhí)行測(cè)試結(jié)果的文檔沼头。
? ? ? ? ? ? ? (6) 測(cè)試日?qǐng)?bào):每天測(cè)試執(zhí)行情況的記錄和總結(jié)。
3歹篓、測(cè)試工程師系統(tǒng)測(cè)試各階段任務(wù):
? ? ? ? ? ? ? 軟件需求階段:評(píng)審軟件需求規(guī)格說(shuō)明書(shū)
? ? ? ? ? ? ? 軟件設(shè)計(jì)階段:評(píng)審軟件概要設(shè)計(jì)說(shuō)明書(shū)瘫证、軟件詳細(xì)設(shè)計(jì)說(shuō)明書(shū)揉阎、協(xié)助編寫(xiě)系統(tǒng)測(cè)試計(jì)劃
? ? ? ? ? ? ? 軟件編碼階段:設(shè)計(jì)系統(tǒng)測(cè)試用例庄撮、準(zhǔn)備測(cè)試資源(測(cè)試工具、測(cè)試環(huán)境等)毙籽、開(kāi)發(fā)測(cè)試腳本洞斯、開(kāi)發(fā)測(cè)試工具、準(zhǔn)備測(cè)試數(shù)據(jù)
? ? ? ? ? ? ? 軟件測(cè)試階段:執(zhí)行測(cè)試用例坑赡、提交缺陷單烙如、跟蹤缺陷、回歸測(cè)試毅否、提交測(cè)試報(bào)告
QA和測(cè)試的區(qū)別:
? ? ? 1. 從性質(zhì)上看:
? ? ? ? ? 測(cè)試----屬于技術(shù)的工作
? ? ? ? ? QA----屬于管理的工作
? ? ? 2. 從對(duì)象上看:
? ? ? ? ? 測(cè)試的對(duì)象----軟件研發(fā)產(chǎn)品亚铁,大多數(shù)工作是對(duì)研發(fā)領(lǐng)域的檢驗(yàn)
? ? ? ? ? QA的對(duì)象----整個(gè)軟件過(guò)程,覆蓋各個(gè)領(lǐng)域
? ? ? 3.從手段上看:
? ? ? ? ? 測(cè)試----事后檢查為主
? ? ? ? ? QA----強(qiáng)調(diào)的是缺陷預(yù)防(提前預(yù)防)