亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

軟件測試基礎-概念篇

難度入門
時長 3小時 2分
學習人數
綜合評分9.57
111人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.4 邏輯清晰
  • 黑盒測試的主要設計方法

    查看全部
    0 采集 收起 來源:軟件測試手段

    2020-04-20

  • 核心:軟件質量
    查看全部
    0 采集 收起 來源:軟件測試概要

    2020-04-11

  • 什么是軟件測試?

    早期定義

    ????????????軟件測試是對程序能夠按預期運行建立起一種信心

    查看全部
    0 采集 收起 來源:軟件測試概要

    2020-04-11

  • 安全測試:對軟件產品進行測試以確保其符合產品安全需求和質量標準。

    滲透測試:通過模擬對軟件系統的惡意攻擊行為來評估系統安全性的一種測試。

    查看全部
  • 性能測試:負載測試、壓力測試、 穩定性測試

    查看全部
  • 單元測試:Junit
    查看全部
    0 采集 收起 來源:軟件測試階段

    2020-03-27

  • 兼容性測試http://img1.sycdn.imooc.com//5e7ce74e0001369408630433.jpg

    查看全部
  • https://img3.sycdn.imooc.com/5af174050001328107330296.jpg

    (1)軟件本身的兼容性:主要是軟件的向后兼容,如軟件升級,以前版本的功能也能使用

    (2)不同平臺下的兼容性:如在Linux系統下的ubuntu、openSUSE等,進行平臺的兼容性測試

    (3)對不同的設備的兼容性:如32位、64位、如小型機、PC等

    (4)軟件的相互的操作性:如和一些主流應用的兼容,也就是說和大眾軟件互通,比如和微信、微博、QQ能適用,有時是很多網站的登錄。。。。


    查看全部
  • https://img3.sycdn.imooc.com/5af174050001328107330296.jpg

    (1)軟件本身的兼容性:主要是軟件的向后兼容,如軟件升級,以前版本的功能也能使用

    (2)不同平臺下的兼容性:如在Linux系統下的ubuntu、openSUSE等,進行平臺的兼容性測試

    (3)對不同的設備的兼容性:如32位、64位、如小型機、PC等

    (4)軟件的互操作性:如和一些主流應用的兼容,也就是說和大眾軟件互通,比如和微信、微博、QQ能適用,有時是很多網站的登錄。。。。


    查看全部
  • https://img3.sycdn.imooc.com/5af174050001328107330296.jpg

    (1)軟件本身的兼容性:主要是軟件的向后兼容,如軟件升級,以前版本的功能也能使用

    (2)不同平臺下的兼容性:如在Linux系統下的ubuntu、openSUSE等,進行平臺的兼容性測試

    (3)對不同的設備的兼容性:如32位、64位、如小型機、PC等

    (4)軟件的互操作性:如和一些主流應用的兼容,也就是說和大眾軟件互通,比如和微信、微博、QQ能適用,有時是很多網站的登錄。。。。


    查看全部
  • 3-3 安全測試


    安全測試:對軟件產品進行測試以保證其符合產品安全需求和質量標準

    滲透測試:通過模擬對軟件系統的惡意攻擊行為來評估系統安全性的一種測試


    OWASP:Open Web Application Security Project ?開放網絡應用安全項目

    安全測試:

    是否符合產品安全需求和質量標準。

    滲透測試:

    通過模擬對軟件系統的惡意攻擊行為來評估系統安全性的一種測試,與黑客不同于,黑客未授權,而且最后還會抹掉記錄。

    滲透測試 VS 安全測試

    ?????????????????????????攻————–防

    ?????????????????????????點————–面

    可以查看OWASP網站,關注網站中的OWASP Top10和Test Guide

    安全測試工具:

    APPscan(針對web應用的漏洞掃描)、Webinspect(類似APPscan)、Nessus(針對服務器主機類)、Nmap(端口嗅探工具)、MetaSploit(攻擊框架、滲透測試)、WebScarab(代理劫持)、Fortify(白盒測試,代碼靜態分析)、W3AF(開源針對web應用)

    OWSP ? ?Top Ten Project?

    1.Injection 注入腳本漏洞使用戶訪問到不該訪問的數據的目的 2.Broken Authentication and Session Management 失效的身份認證和會話管理 ?會話劫持漏洞 3.Cross—Site Scripting(XSS)跨站腳本 4.Insecure Direct Object References 不安全的對象直接引用 ?參數的保護 5.Security Misconfiguration ? 安全配置類錯誤 6.Sensitive Data Exposure ? ?敏感信息泄露 ? 信息傳遞沒有對關鍵信息進行加密 7.Missing Function Level Access Control ? 功能級別訪問控制缺失 ? 比如訪問網站可以訪問到用戶沒有權限到達的地方 8.Cross-Site Function Level Access Control(CSRF) ?跨站請求偽造 ? 9.Using Components with Known Vulnerabilities ? ?使用了已知有漏洞的組件 ? 10.Unvalidated Redirects adn Forwards ? ?未被驗證的重定向和轉發 ?(釣魚網站)

    查看全部
  • 負載測試:指的是在我們測試過程中,來逐步的增加負載,并且記錄下被測系統相應的性能表現,最終確定出,系統在正常指標下的一個最大的負載

    壓力測試:指的是測試系統在極限情況下的壓力情況,也就是確定我們的系統,在什么樣的負載壓力下,會導致我們系統的失效,不能夠正常運行

    ,確定出系統所能承受的最大的一個極限

    穩定性測試:指稍大于一個正常業務量的負載,對系統進行持續的,長時間的測試,比如24*5,連續五天的對這個系統施加壓力,以確定系統在較長運行時間的情況下,這個系統的穩定性情況


    查看全部
  • 測試模型分類:

    1. 瀑布模型:

      http://img1.sycdn.imooc.com//5e7cdc3a000102c908950547.jpg

      1.項目計劃書、2.需求說明書、3.根據需求定義來確定產品實現的方案,包括定義軟件、硬件的結構、組件模塊的組建方法、接口界面數據如何進行組織,這階段會輸出概要設計、詳細設計等多份設計說明書,4.根據需求和設計具體實現產品,來根據編程規范構建各類的組件模塊最后輸出產品版本,5.通過獨立的測試小組來評估產品是否滿足需求的定義,最后輸出測試結果、測試報告,6.則是產品經過測試階段后,交付給用戶,根據用戶的使用情況在對產品進行維護以及必要的修改升級等

    http://img1.sycdn.imooc.com//5e7cdce10001a41308320568.jpg

    http://img1.sycdn.imooc.com//5e7cddaa0001ce2e08840595.jpg

    1. http://img1.sycdn.imooc.com//5e7cde330001f42c10250591.jpg

    2. 敏捷測試:

    3. 基于腳本的測試

    4. 基于風險的測試

    5. 探索式測試



    查看全部
    0 采集 收起 來源:軟件測試模式

    2020-03-27

  • 按測試手段分類

    可見度分類

    黑盒測試:不考慮程序內部結構和內部特性,通過內部相關暴露出來的接口對程序進行測試,只檢測程序的功能是否能夠按照需求規格說明的規定正常的使用,是否能適當的接受輸入數據并產生正確的輸出,針對軟件外部可見的部位,如界面及可見的功能來進行測試。更多是從用戶的需求通過不同的數據或事件來驅動系統,并通過輸出結果來進行判斷

    優點:

    1. 容易實施,不需要關注內部的實現

    2. 更貼近用戶的使用角度

    缺點:

    1. 測試覆蓋率較低,一般只能覆蓋到代碼量的不到40%

    2. 針對黑盒的自動化測試,復用率較低,維護成本較高。

    關注點:

    1. 是否有不正確或遺漏的功能

    2. 在接口上,輸入是否能正確的接受?能否輸出正確的結果?

    3. 是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?

    4. 性能上是否能夠滿足要求

    設計方法

    1. 等價類劃分法,將所有的輸入等價的劃分若干典型輸入,并將這些典型的輸入設計為測試用例(有效等價類和無效等價類)

    2. 邊界值分析法,特殊等價類劃分法,測試各種邊界條件,如數據區間,開發在邊界值上是很容易出現失誤的地方,在邊界上加一減一進行測試

    3. 錯誤推測法,基于經驗或直覺來判斷程序中可能出現錯誤的原因,從而針對性的設計用例,如在登錄時考慮格式,在輸入文件時考慮文件大小

    4. 因果圖法,拿到需求說明書,針對每一種輸入和輸出,看作原因和結果,對輸入和輸出賦予特殊的標識符,然后將這些情況形成因果圖,最終根據規格語義的說明形成一個判定表,根據判定表來設計測試用例

    5. 正交試驗分析法,利用正交法從一組數據中篩選出典型的代表性數據的測試方法,主要用于篩選我們的輸入數據,然后在設計用例輸入輸出

    6. 狀態遷移圖法,通過梳理軟件功能點里面的狀態遷移關系來設置測試用例,狀態遷移如軟件審批的功能,提交審批到待審批到審批,審批有具結,通過退回這樣的狀態,那退回到提交者,他也會修改再重新提交然后審批通過這樣各種各樣的狀態,通過畫出這些狀態之間的一個關系圖來設置用例

    7. 流程分析法,通過梳理整個程序的邏輯執行的路徑來設置測試用例,

    白盒測試:又稱結構化測試和透明測試,通過程序邏輯結構來設計測試用例,通過覆蓋率來衡量測試的完整性,邏輯單位為:語句、條件、條件組合、分支、路徑,其覆蓋為每條測試

    優點:

    1. 迫使測試人員去仔細思考軟件的實現,理解原理

    2. 可以檢測代碼中的每條分支和路徑

    3. 揭示隱藏在代碼中的錯誤

    4. 對代碼的測試比較徹底

    缺點

    1. 昂貴,(要求覆蓋,工作量大)

    2. 無法檢測代碼總遺漏的路徑和數據敏感性錯誤

    3. 不能直接驗證需求的正確性

    測試方法:

    1. 代碼檢測法:主要包括多面檢查、代碼審查和走查,主要代碼

    2. 靜態結構分析法:測試者主要通過測試工具分析源代碼的數據結構,邏輯結構、內部的控制邏輯這樣內部結構的分析來設計測試用例

    3. 靜態質量度量法:根據標準的質量模型,比如ISO的質量標準來構造質量的度量模型,用于軟件的各個方面的測試

    4. 邏輯覆蓋法:邏輯、語句、條件、分支、條件組合、判定覆蓋、篤定覆蓋、條件和判定的組合覆蓋

    5. 基本路徑測試法:(白盒測試中主要的測試方法),是在程序控制流圖的方法下通過分析、控制構造的圈復雜度,導出基本可執行的路徑的集合,設計測試用例的方法

    狀態分類

    靜態測試:無須執行被測程序,而是通過評審軟件文檔或代碼,度量程序靜態復雜度,檢測軟件是否符合編輯標準,借以發現編寫的程序的不足之處,減少錯誤出現的概率(方法與白盒相似)

    方式有:互審(程序員相互檢測代碼)、走查(一個小組一起集體走查程序或文檔)、會議(會議相應記錄、結果文檔)。不正式到正式

    動態測試:通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確性和健壯性等。(方法與黑盒相似)

    執行方式分類

    手工測試:由專門的測試人員從用戶視角來驗證軟件是否滿足設計要求的行為。更適用針對深度的測試和強調主觀判斷的測試。(眾包測試、探索式測試)

    自動化測試;使用單獨的測試工具軟件控制測試的自動化執行以及對預期和結果進行自動檢查。(單元測試、接口測試、性能測試等)

    http://img1.sycdn.imooc.com//5e7cd84000018e1a08020576.jpg

    查看全部
    2 采集 收起 來源:軟件測試手段

    2020-03-27

  • 軟件測試的分類

    按測試階段分類:

    單元測試:對軟件中的最小可測試單元進行檢查和驗證(代碼測試,是最重要的測試,是其他測試的基礎)

    最小單元定于不同情況不同,如

    C語言: 一個函數

    java:每個類

    界面功能:菜單項、子窗口功能

    原則:1.盡可能保證各個測試用例是相互獨立的

    ? ? ? ? ? 2.一般由代碼的開發人員來實施,用以檢驗所開發的代碼功能符合自己的設計要求。(實施單元測試的人要對實施的單元代碼有相當程度的了解)

    單元測試的益處:能盡早發現缺陷(相對于開發人員再次對比需求二次開發)、有利于重構、簡化集成(單元測試保證了最小單元模塊的穩定性和精確性)、文檔(通過對單元測試的代碼就可以基本了解到模塊功能特性)、用于設計(把設計思路體現在單元測試上)

    單元測試的限制:

    1. 不可能覆蓋所有的執行路徑,所以不可能保證捕捉到所有路徑的錯誤

    2. 每一行代碼,一般需要3~5行代碼才能完成單元測試。所以存在投入和產出的一個平衡。(所以要選擇性價比高的地方進行測試)

    http://img1.sycdn.imooc.com//5e7cb68d000156c109660572.jpg

    單元測試的執行(Junit為例子):

    在eclipse中建立一個java工程,將Junit的一些相關的依賴庫導入到java工程中,導入java項目代碼到工程中來,在相應代碼文件上右鍵選擇Junit test,可見待測的所有方法,選擇需要測試的方法,生成我們單元測試的基本框架,調整,運行單元測試,得結果及相應的測試方法及是否異常。


    集成測試:是在單元測試的基礎上,測試再將所有的軟件單元按照概要設計規格說明的要求組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標及要求的活動

    集成測試的主要實施方案:

    1. Big Bang:一次性測試,大爆炸測試形成完整大量的集成的測試,即將所有的測試組裝好再進行完整測試

    2. 自頂向下:從主程序開始,逐層的向下進行集成測試,覆蓋所有模塊

    3. 自底向上:(常用,其他集成測試都或多或少吸取這種測試方法)從程序的最底層開始逐層進行組裝,逐層進行測試,好處是對已經組裝好的進行測試,不需要再組成樁模塊,就是模擬真實模塊的一些動力,優點比較好的鎖定項目出錯的位置。

    4. 核心系統集成:先把核心的軟件部分挑選出來,并對這些部位進行集成測試,在測試通過的基礎上再對其他外圍的部件進行集成測試

    5. 高頻集成:同步于軟件開發過程,每隔一段時間,開發團隊就對現有的程序進行集成測試,

    6. 23常用在傳統瀑布式,45常用于現代常用測試

    總結:

    單元測試對象是最小子系統,集成測試對象是子系統,模塊

    單元測試關系程序的類。集成測試關心的是模塊與模塊之間的關系,接口測試

    系統測試:(功能測試、性能測試、穩定性測試等)是將經過集成測試的軟件,作為計算機系統的一個部分,與系統中其他部分結合起來,在實際運行環境下對計算機系統進行的一系列嚴格的有效測試,以發現軟件潛在的問題,保證系統的正常運行。

    關注點:系統本身的使用、系統與其他系統間的連通、系統在不同的使用壓力下的表現、系統在真實使用環境下的表現

    區別:

    測試對象:

    集成測試:由通過了單元測試的各個模塊所集成起來的構件

    系統測試:除了軟件之外,還包括計算機硬件及相關的外圍設備、數據采集和傳輸機構、支持軟件、系統操作人員等整個系統

    測試角度:

    集成測試:偏向技術角度的驗證

    系統測試:偏向業務角度的驗證


    驗收測試:也稱交付測試。針對用戶需求、業務流程的正式的測試,確定系統是否滿足驗收標準,由用戶、客戶或其他授權機構決定是否接受系統

    細分

    用戶驗收測試(開發方在移交產品之前來運行的測試,測試的執行人是開發方)

    運行驗收測試:(更多在運維的方面來看這個系統是否可以正常運行和正常維護,如系統上線后的備份容災、災量恢復、這些場景是否正確進行運行驗收測試)

    合同和規范驗收測試:參照約定的規范進行一個驗收,而且一般還會針對政府和法律法規里的合規進行驗證

    alpha測試:在開發者提供的場所和環境中運行,一般由用戶執行,

    Beta測試:完全脫離開發者環境,在我們用戶提供的場景環境下進行測試

    Y:在系統完全交付的環境下進行

    ITT測試:在用戶流程中進行測試,滿足功能代碼滿足驗收測試的條件

    查看全部
    2 采集 收起 來源:軟件測試階段

    2020-03-26

  • 什么是軟件測試?

    早期定義:軟件測試是對程序能夠按預期運行建立起一種信心 - Bill Hetzel,1973

    經典定義:測試是為發現錯誤而執行程序的過程 - Myers,1979

    IEEE定義(ISO/IEC/IEEE 29119):使用人工或自動的手段來運行或測量軟件系統的過程,以檢驗軟件系統是否滿足規定的要求,并找出與預期結果之間的差異。


    軟件測試的五大要素:質量,人員,資源,流程,技術

    兩個目標:提升測試覆蓋率和提升測試效率


    軟件測試所遵循的原則

    1、測試顯示缺陷的存在,但不能證明系統不存在缺陷

    2、窮盡測試是不可能的,應設定及時終止的條件

    ?3、測試應該盡早進行

    4、缺陷具備群集特性

    5、測試的殺蟲劑悖論


    查看全部
    0 采集 收起 來源:軟件測試概要

    2020-03-26

  • 軟件測試的分類

    按測試模式來分類:瀑布模型、敏捷模型、基于腳本的測試、基于風險的測試、探索式測試等。


    查看全部
    0 采集 收起 來源:軟件測試模式

    2020-03-26

  • 軟件測試的分類

    按測試手段來分類:(根據測試可見度)黑盒測試、白盒測試、(根據狀態)靜態測試、動態測試、(根據測試執行的方式)手工測試、自動化測試。

    黑盒測試的主要測試方法:等價劃分法、邊界值分析法、錯誤推測法、因果圖法、正交試驗分析法、狀態遷移圖法、流程分析法。

    白盒測試的主要測試方法: 代碼檢測法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法。

    灰盒測試:介于黑、白盒測試之間的,關注輸出對于輸入的正確性,同時也關注內部表現。

    查看全部
    1 采集 收起 來源:軟件測試手段

    2020-03-26

舉報

0/150
提交
取消
課程須知
本門課程適合有志于從事軟件測試或在校軟件專業的同學學習, 最好了解一些軟件工程的基本概念,對軟件測試這個職業有一些最基本的認識。(隨堂資料:http://img1.sycdn.imooc.com//down/57bd4d2f0001474e00000000.rar)
老師告訴你能學到什么?
通過學習本門課程,能夠理清我們接觸到得各種不同的軟件測試概念以及它們的主要作用和適用場景,可以更加理解軟件測試這個職業的作用和對軟件產品的意義。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!