1、按是否查看程序內部結構分為:
(1)黑盒測試
(2)白盒測試
2、按是否運行程序分為:
(1)靜態(tài)測試(static testing):
(2)動(dòng)態(tài)測試
3、按階段劃分:
(1)單元測試
(2)集成測試
(3)系統測試
(4)驗收測試
4、黑盒測試分為功能測試和性能測試:
5、其他測試類(lèi)型:
回歸測試
冒煙測試
隨機測試
測試用例設計方法
(1)逐級細分法(2)輸入域測試法 (3)輸出域分析法 (4)正交試驗設計法 (5) 業(yè)務(wù)流程分析法 (6)狀態(tài)遷移法 (7)因果圖法 (8)判定表法 (9)錯誤猜測法 (10)等價(jià)類(lèi)劃分法 (11)邊界值分析法
1. 等價(jià)類(lèi)劃分
常見(jiàn)的軟件測試面試題劃分等價(jià)類(lèi): 等價(jià)類(lèi)是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價(jià)類(lèi)的代表值就等于對這一類(lèi)其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi).
2. 邊界值分析法
邊界值分析方法是對等價(jià)類(lèi)劃分方法的補充。測試工作經(jīng)驗告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.
使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價(jià)類(lèi)的邊界,就是應著(zhù)重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價(jià)類(lèi)中的典型值或任意值作為測試數據.
3. 錯誤推測法
基于經(jīng)驗和直覺(jué)推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時(shí)曾列出的許多在模塊中常見(jiàn)的錯誤. 以前產(chǎn)品測試中曾經(jīng)發(fā)現的錯誤等, 這些就是經(jīng)驗的總結。還有, 輸入數據和輸出數據為0的情況。輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯誤的情況。可選擇這些情況下的例子作為測試用例.
4. 因果圖方法
前面介紹的等價(jià)類(lèi)劃分方法和邊界值分析方法,都是著(zhù)重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì )產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類(lèi),他們之間的組合情況也相當多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時(shí)候,可能因為大量的參數的組合而引起測試用例數量上的激增,同時(shí),這些測試用例并沒(méi)有明顯的優(yōu)先級上的差距,而測試人員又無(wú)法完成這么多數量的測試,就可以通過(guò)正交表來(lái)進(jìn)行縮減一些用例,從而達到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場(chǎng)景分析方法
指根據用戶(hù)場(chǎng)景來(lái)模擬用戶(hù)的操作步驟,這個(gè)比較類(lèi)似因果圖,但是可能執行的深度和可行性更好。
白盒測試用例設計的關(guān)鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果
黑盒法用例設計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時(shí)間內發(fā)現最多的問(wèn)題
詳細的描述一個(gè)測試活動(dòng)完整的過(guò)程。1. 項目經(jīng)理通過(guò)和客戶(hù)的交流,完成需求文檔,由開(kāi)發(fā)人員和測試人員共同完成需求文檔的評審,評審的內容包括:需求描述不清楚的地方和可能有明顯沖突或者無(wú)法實(shí)現的功
1、計算機程序是一組計算機能識別和執行的指令,運行于電子計算機上,滿(mǎn)足人們某種需求的信息化工具。
它以某些程序設計語(yǔ)言編寫(xiě),運行于某種目標結構體系上。打個(gè)比方,程序就如同以英語(yǔ)(程序設計語(yǔ)言)寫(xiě)作的文章,要讓一個(gè)懂得英語(yǔ)的人(編譯器)同時(shí)也會(huì )閱讀這篇文章的人(結構體系)來(lái)閱讀、理解、標記這篇文章。
一般的,以英語(yǔ)文本為基礎的計算機程序要經(jīng)過(guò)編譯、鏈接而成為人難以解讀,但可輕易被計算機所解讀的數字格式,然后放入運行。
程序是一個(gè)指令序列。
2、程序設計是給出解決特定問(wèn)題程序的過(guò)程,是軟件構造活動(dòng)中的重要組成部分。程序設計往往以某種程序設計語(yǔ)言為工具,給出這種語(yǔ)言下的程序。程序設計過(guò)程應當包括分析、設計、編碼、測試、排錯等不同階段。專(zhuān)業(yè)的程序設計人員常被稱(chēng)為程序員。
擴展資料:
程序算法
算法是指對某些問(wèn)題的嚴格的解釋方法,一般的,一個(gè)算法擁有以下特點(diǎn):
1、有窮性:算法必須保證在執行有限步驟后結束。
2、可行性:算法是確切可行的,即使在數學(xué)中,該算法可行,但若在實(shí)際應用中,程序不可以被執行,那么 ,該算法也是不具有可行性的。
3、確切性:算法的每一個(gè)步驟必須具有明確的意義。
4、輸入:一個(gè)算法必須要有0個(gè)或多個(gè)輸入。
5、輸出:一個(gè)算法必須要有1個(gè)或多個(gè)輸出。
參考資料來(lái)源:百度百科-程序
參考資料來(lái)源:百度百科-程序設計
第一類(lèi)測試方法是試圖驗證軟件是“工作的”,所謂“工作的”就是指軟件的功能是按照預先的設計執行的;而第二類(lèi)測試方法則是設法證明軟件是“不工作的”。
還有兩大類(lèi):白盒法和黑盒法。
白盒法:你清楚程序的流程時(shí),用不同的數據測試你程序的代碼,驗證程序的正確性,有:條件測試,路徑測試,條件組合。。。。
白盒法用在程序開(kāi)發(fā)階段的前期。
黑盒法:主要用于程序開(kāi)發(fā)階段的后期,即程序的流程測試正確后,測試程序的結果。有什么因果法,邊緣值法等。
具體你可以買(mǎi)本軟件工程方面的書(shū)看看。
還有一下方法:
功能測試:可接受性測試:用戶(hù)界面測試:探索或開(kāi)放'型的測試:性能測試:回歸測試:強力測試:集成與兼容性測試:裝配/安裝/配置測試:國際化支持測試:本地化語(yǔ)言測試:
這些都是測試的方法.
《全國計算機等級考試三級教程軟件測試》目錄 第1章 軟件測試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測試的概念1.2.1 軟件測試的定義與目的1.2.2 軟件測試的原則1.3 軟件的缺陷與錯誤1.3.1 軟件缺陷的定義和類(lèi)型1.3.2 軟件缺陷的級別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構成第1章 軟件測試的基本概念1.1 軟件質(zhì)量的概念1.1.1 軟件質(zhì)量的定義1.1.2 軟件質(zhì)量的屬性1.1.3 軟件質(zhì)量模型1.1.4 軟件質(zhì)量的度量1.1.5 影響軟件質(zhì)量的主要因素1.2 軟件測試的概念1.2.1 軟件測試的定義與目的1.2.2 軟件測試的原則1.3 軟件的缺陷與錯誤1.3.1 軟件缺陷的定義和類(lèi)型1.3.2 軟件缺陷的級別1.3.3 軟件缺陷產(chǎn)生的原因1.3.4 軟件缺陷的構成1.3.5 修復軟件缺陷的代價(jià)1.4 軟件測試的經(jīng)濟學(xué)與心理學(xué)1.4.1 軟件測試的心理學(xué)1.4.2 軟件測試的經(jīng)濟學(xué)1.5 軟件質(zhì)量保證1.5.1 軟件質(zhì)量保證概要1.5.2 軟件質(zhì)量保證活動(dòng)的實(shí)施1.5.3 軟件的驗證與確認1.5.4 驗證和確認任務(wù)分析 本章小結 第2章 軟件生存周期中測試的實(shí)施2.1 軟件開(kāi)發(fā)階段2.1.1 軟件生存周期2.1.2 軟件測試的生存周期模型2.1.3 軟件測試過(guò)程模型2.1.4 測試信息流2.2 需求獲取與分析階段的測試2.2.1 需求評審的實(shí)施2.2.2 需求規格說(shuō)明的評審2.2.3 Wiegers 用例與需求評審表2.2.4 基于原型的測試2.2.5 基于需求的測試覆蓋率評估2.3 設計階段的測試2.3.1 設計的測試因素2.3.2 設計評審的實(shí)施2.3.3 設計規格說(shuō)明的評審2.3.4 設計元素的覆蓋原則2.4 編程階段的測試2.4.1 白盒測試與黑盒測試2.4.2 源代碼的控制流覆蓋原則2.4.3 源代碼的數據流覆蓋原則2.4.4 源代碼的靜態(tài)分析與動(dòng)態(tài)測試2.5 運行和維護階段的測試2.6 回歸測試2.6.1 回歸測試的概念2.6.2 回歸測試的類(lèi)型2.6.3 回歸測試的時(shí)機2.6.4 回歸測試的實(shí)施 本章小結 第3章 代碼檢查、走查與評審3.1 桌上檢查3.1.1 桌上檢查的實(shí)施3.1.2 桌上檢查的檢查表3.2 代碼檢查3.2.1 特定的角色和職責3.2.2 代碼檢查的實(shí)施3.2.3 用于代碼檢查的檢查表3.3 走查3.3.1 特定的角色和職責3.3.2 走查的實(shí)施3.3.3 走查中的靜態(tài)分析技術(shù)3.4 同行評審3.4.1 同行評審的角色和職責3.4.2 同行評審的內容3.4.3 評審的方法和技術(shù)3.4.4 評審工作 本章小結 第4章 白盒測試4.1 覆蓋率的概念4.2 邏輯覆蓋4.2.1 語(yǔ)句覆蓋與塊覆蓋4.2.2 判定覆蓋(分支覆蓋)4.2.3 條件覆蓋4.2.4 條件/判定覆蓋4.2.5 條件組合覆蓋4.2.6 路徑覆蓋4.2.7 ESTCA覆蓋4.2.8 LCSAJ覆蓋4.3 路徑測試4.3.1 分支結構的路徑測試4.3.2 循環(huán)結構的路徑測試4.3.3 圈復雜度與基本路徑測試4.4 數據流測試4.4.1 定義∕使用測試的幾個(gè)定義4.4.2 定義∕使用測試舉例4.4.3 定義∕使用路徑測試覆蓋指標4.5 基于覆蓋的測試用例選擇4.5.1 覆蓋率的使用4.5.2 使用最少的測試用例來(lái)達到覆蓋4.6 程序插樁技術(shù)4.6.1 程序插樁4.6.2 用于測試覆蓋率的程序插樁4.6.3 用于斷言檢測的程序插樁4.6.4 用于數據流異常檢測的程序插樁 本章小結 第5章 黑盒測試5.1 等價(jià)類(lèi)測試5.1.1 等價(jià)類(lèi)的概念5.1.2 等價(jià)類(lèi)測試的原則5.1.3 等價(jià)類(lèi)方法測試用例設計舉例5.2 邊界值分析5.2.1 邊界值分析的概念5.2.2 選擇測試用例的原則5.2.3 邊界值方法測試用例設計舉例5.3 基于判定表的測試5.3.1 判定表的概念5.3.2 基于判定表的測試用例設計舉例5.4 基于因果圖的測試5.4.1 因果圖的適用范圍5.4.2 用因果圖生成測試用例5.4.3 因果圖法測試用例設計舉例5.5 基于狀態(tài)圖的測試5.5.1 狀態(tài)圖5.5.2 利用狀態(tài)轉換樹(shù)生成測試用例5.5.3 利用狀態(tài)轉換表生成測試用例5.6 基于功能圖的測試5.6.1 功能圖5.6.2 功能圖法設計測試用例舉例5.7 基于用例和場(chǎng)景的測試5.7.1 基本流和備選流5.7.2 利用用例和場(chǎng)景設計測試用例的實(shí)例5.8 基于有向圖的測試用例設計5.8.1 使用基于有向圖的測試的場(chǎng)合5.8.2 基于事務(wù)流建模設計測試用例5.8.3 基于控制流建模設計測試用例5.8.4 基于有向圖設計測試用例的過(guò)程5.9 基于正交實(shí)驗設計法的測試5.9.1 提取功能說(shuō)明,構造因子/ 狀態(tài)表5.9.2 加權篩選,生成因素分析表5.9.3 利用正交表構造測試數據集5.10 其他黑盒測試用例設計技術(shù) 本章小結 第6章 單元測試和集成測試6.1 單元測試的基本概念6.1.1 單元測試的定義6.1.2 單元測試與集成測試、系統測試的區別6.1.3 單元測試環(huán)境6.2 單元測試策略6.2.1 自頂向下的單元測試策略6.2.2 自底向上的單元測試策略6.2.3 孤立測試6.2.4 綜合測試6.3 單元測試分析6.3.1 模塊接口6.3.2 局部數據結構6.3.3 獨立路徑6.3.4 出錯處理6.3.5 邊界條件6.4 單元測試的測試用例設計原則6.4.1 單元測試的測試用例設計步驟6.4.2 單元測試中的白盒測試與黑盒測試6.5 集成測試的基本概念6.6 集成測試策略6.6.1 基于分解的集成策略6.6.2 基于功能的集成6.6.3 基于路徑的集成6.6.4 基于調用圖的集成6.7 集成測試分析6.7.1 體系結構分析6.7.2 模塊單元分析6.7.3 接口分析6.7.4 風(fēng)險分析6.7.5 可測試性分析6.7.6 集成測試策略分析6.7.7 常見(jiàn)的集成測試故障6.8 集成測試的測試用例設計原則6.8.1 集成測試的測試用例設計步驟6.8.2 場(chǎng)景測試 本章小結 第7章 系統測試7.1 系統測試概念7.2 系。
1、從是否關(guān)心內部結構來(lái)看 (1)白盒測試:又稱(chēng)為結構測試或邏輯驅動(dòng)測試,是一種按照程序內部邏輯結構和編碼結構,設計測試數據并完成測試的一種測試方法。
(2)黑盒測試:又稱(chēng)為數據驅動(dòng)測試,把測試對象當做看不見(jiàn)的黑盒,在完全不考慮程序內部結構和處理過(guò)程的情況下,測試者僅依據程序功能的需求規范考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟件或程序的角度,從輸入數據與輸出數據的對應關(guān)系出發(fā)進(jìn)行的測試。(3)灰盒測試:是一種綜合測試法,它將“黑盒”測試與“白盒”測試結合在一起,是基于程序運行時(shí)的外部表現又結合內部邏輯結構來(lái)設計用例,執行程序并采集路徑執行信息和外部用戶(hù)接口結果的測試技術(shù)。
2、從是否執行代碼看 (1)靜態(tài)測試:指不運行被測程序本身,僅通過(guò)分析或檢查源程序的語(yǔ)法、結構、過(guò)程、接口等來(lái)檢查程序的正確性。(2)動(dòng)態(tài)測試:是指通過(guò)運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等性能指標。
3、從開(kāi)發(fā)過(guò)程級別看 (1)單元測試:又稱(chēng)模塊測試,是針對軟件設計的最小單位----程序模塊或功能模塊,進(jìn)行正確性檢驗的測試工作。其目的在于檢驗程序各模塊是否存在各種差錯,是否能正確地實(shí)現了其功能,滿(mǎn)足其性能和接口要求。
(2)集成測試:又叫組裝測試或聯(lián)合,是單元測試的多級擴展,是在單元測試的基礎上進(jìn)行的一種有序測試。旨在檢驗軟件單元之間的接口關(guān)系,以期望通過(guò)測試發(fā)現各軟件單元接口之間存在的問(wèn)題,最終把經(jīng)過(guò)測試的單元組成符合設計要求的軟件。
(3)系統測試:是為判斷系統是否符合要求而對集成的軟、硬件系統進(jìn)行的測試活動(dòng)、它是將已經(jīng)集成好的軟件系統,作為基于整個(gè)計算機系統的一個(gè)元素,與計算機硬件、外設、某些支持軟件、人員、數據等其他系統元素結合在一起,在實(shí)際運行環(huán)境下,對計算機系統進(jìn)行一系列的組裝測試和確認測試。在系統測試中,對于具體的測試類(lèi)型有:(1)功能測試:對軟件需求規格說(shuō)明書(shū)中的功能需求逐項進(jìn)行的測試,以驗證功能是否滿(mǎn)足要求。
(2)性能測試:對軟件需求規格說(shuō)明書(shū)的功能需求逐項進(jìn)行的測試,以驗證功能是否滿(mǎn)足要求。(3)接口測試:對軟件需求規格說(shuō)明中的接口需求逐項進(jìn)行的測試。
(4)人機交互界面測試:對所有人機交互界面提供的操作和顯示界面進(jìn)行的測試,以檢驗是否滿(mǎn)足用戶(hù)的需求。(5)強度測試:強制軟件運行在異常乃至發(fā)生故障的情況下(設計的極限狀態(tài)到超出極限),驗證軟件可以運行到何種程序的測試。
(6)余量測試:對軟件是否達到規格說(shuō)明中要求的余量的測試。(7)安全性測試:檢驗軟件中已存在的安全性、安全保密性措施是否有效的測試,(8)可靠性測試:在真實(shí)的或仿真的環(huán)境中,為做出軟件可靠性估計而對軟件進(jìn)行的功能(其輸入覆蓋和環(huán)境覆蓋一般大于普通的功能測試) (9)恢復性測試:對有恢復或重置功能的軟件的每一類(lèi)導致恢復或重置的情況,逐一進(jìn)行的測試。
(10)邊界測試:對軟件處在邊界或端點(diǎn)情況下運行狀態(tài)的測試。(11)數據處理測試:對完成專(zhuān)門(mén)數據處理功能所進(jìn)行的測試。
(12)安裝性測試:對安裝過(guò)程是否符合安裝規程的測試,以發(fā)現安裝過(guò)程中的錯誤。(13)容量測試:檢驗軟件的能力最高能達到什么程度的測試。
(14)互操作性測試:為驗證不同軟件之間的互操作能力而進(jìn)行的測試。(15)敏感性測試:為發(fā)現在有效輸入類(lèi)中可能引起某種不穩定性或不正常處理的某些數據的組合而進(jìn)行的測試。
(16)標準符合性測試:驗證軟件與相關(guān)國家標準或規范(如軍用標準、國家標準、行業(yè)標準及國際標準)一致性的測試。(17)兼容性測試:驗證軟件在規定條件下與若干個(gè)實(shí)體共同使用或實(shí)現數據格式轉換時(shí)能滿(mǎn)足有關(guān)要求能力的測試。
(18)中文本地化測試:驗證軟件在不降低原有能力的條件下,處理中文能力的測試。4、從執行過(guò)程是否需要人工干預來(lái)看 (1)手工測試:就是測試人員按照事先為覆蓋被測軟件需求而編寫(xiě)的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個(gè)一個(gè)地輸 入執行,包括與被測軟件進(jìn)行交互(如輸入測試數據、記錄測試結果等),然后觀(guān)察測試結果,看被測程序是否存在問(wèn)題,或在執行過(guò)程中是否會(huì )有一場(chǎng)發(fā)生,屬于比較原始但是必須執行的一個(gè)步驟。
(2)自動(dòng)化測試:實(shí)際上是將大量的重復性的測試工作交給計算機去完成,通常是使用自動(dòng)化測試工具來(lái)模擬手動(dòng)測試步驟,執行用某種程序設計語(yǔ)言編寫(xiě)的過(guò)程(全自動(dòng)測試就是指在自動(dòng)測試過(guò)程中,不需要人工干預,由程序自動(dòng)完成測試的全過(guò)程;半自動(dòng)測試就是指在自動(dòng)測試過(guò)程中,需要手動(dòng)輸入測試用例或選擇測試路徑,再由自動(dòng)測試程序按照人工指定的要求完成自動(dòng)測試)5、從測試實(shí)施組織看 (1)開(kāi)發(fā)測試:開(kāi)發(fā)人員進(jìn)行的測試 (2)用戶(hù)測試:用戶(hù)方進(jìn)行的測試 (3)第三方測試:有別于開(kāi)發(fā)人員或用戶(hù)進(jìn)行的測試,由專(zhuān)業(yè)的第三方承擔的測試,目的是為了保證測試工作的客觀(guān)性6、從測試所處的環(huán)境看 (1)阿爾法測試:是由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的測試 (2)。
軟件測試方法分類(lèi):
1. 白盒、黑盒、灰盒;
2. 單元測試、集成測試、系統測試、驗收測試、回歸測試、Alpha 測試、Beta 測試;
3. 靜態(tài)測試和動(dòng)態(tài)測試。
4. 設計測試用例的主要方法有:
1. 等價(jià)類(lèi)劃分;
2. 邊界值分析法;
3. 因果圖法;
4. 場(chǎng)景法。
希望能幫到你,
您的滿(mǎn)意就是我的動(dòng)力。
軟件測試的方法根據軟件工程的組織和實(shí)現方式,有很大差別,有些是比較技術(shù)化的方法,有些則是工程方法,主要分為:
黑盒測試方法群:等價(jià)類(lèi)劃分、邊界值、因果圖、基路徑法、專(zhuān)家測試法、smoking、場(chǎng)景測試等
白盒測試方法群:同行評審、需求審查、代碼審查、接口測試(調用測試和返回測試,需要結合等價(jià)類(lèi)和因果圖方法)等。
當在單元層面黑盒而在集成層面白盒時(shí),基本上兩類(lèi)方法就會(huì )有結合了,就會(huì )出現習慣上說(shuō)的灰盒測試(說(shuō)實(shí)話(huà),不做到純產(chǎn)品級開(kāi)發(fā),基本上都是用的灰盒測試)。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.021秒