日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件质量保证与测试期末复习整理

發布時間:2023/12/9 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件质量保证与测试期末复习整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概要(包含但不限于)

  • 軟件測試的基本概念、目的、意義、方式方法等基礎概念
  • 1.1基本概念:

  • [IEEE]軟件測試是使用人工或自動手段來運行或測定某個系統的過程,檢驗它是否滿足規定的需求或者弄清預期結果與實際結果之間的差別。
  • 測試是程序的執行過程
  • 軟件測試是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出現的問題進行分析和評估。
  • 1.2目的:

    *最終目的是建立一個高可靠性的軟件系統的一部分。

    測試是程序的執行過程,目的在于發現錯誤;

    測試是為了證明程序有錯,而不是證明程序無錯誤。

    一個好的測試用例在于能發現至今未發現的錯誤;

    一個成功的測試是發現了至今未發現的錯誤的測試。

  • 站在不同的立場,軟件測試的目的也不同。
  • 從用戶角度出發,希望通過軟件測試暴露軟件隱藏的錯誤和缺陷,從而考慮是否可接受該產品。

    從軟件開發者角度出發,希望表明軟件產品不存在錯誤,驗證該軟件能正確地實現用戶需求,確立人們對軟件質量的信心。

    從軟件管理者角度出發,希望花費有限的資源達到該軟件用戶的質量要求

  • 總目標是充分利用有限的人力和物力資源,高效率、高質量地進行測試。
  • ?

    1.3意義:

    ???????? 測試是程序的執行過程,目的在于發現錯誤(猜的)

    1.4方式方法:

    1. 靜態方法和動態方法

    2. 黑盒測試、白盒測試和灰盒測試

    3. 基于軟件開發階段的測試方法:需求測試、單元測試、集成測試、性能測試、壓力測試、容量測試、配置測試、回歸測試、安裝測試、安全性測試

    4. 自動化:白盒測試工具、功能測試工具、負載壓力測試工具、測試管理工具

    ?

    1.5軟件測試有哪些:

    按測試技術

    軟件測試可分為白盒測試和黑盒測試兩種。

    按測試方式

    軟件測試可分為靜態測試與動態測試兩種。

    按測試階段

    軟件測試可以分為單元測試、集成測試、確認測試、系統測試和驗收測試。

    按測試內容

    按照測試內容可以分為功能測試、壓力測試、性能測試、可靠性測試、安全性測試、兼容性測試、安裝測試、災難性恢復測試、回歸測試等。

    2.1定義

    定義1(ISO):

    反映實體(可單獨描述和研究的事物,如活動、過程、產品、組織、體系或人,以及它們各項的任何組合)滿足明確和隱含需要能力的特性組合。

    定義2(IEEE):

    a)???? 系統、部件或者過程滿足規定需求的程度。

    b)???? 系統、部件或者過程滿足顧客或者用戶需要或期望的程度。

    c)????? 該定義相對客觀,強調了產品(或服務)和客戶/社會需求的一致性。

    2.2從不同的層面或角度對質量就有著不同的理解。

    從用戶出發的質量觀:質量是產品滿足使用目的的程度。

    以產品為中心的質量觀:質量是軟件的內在特征。

    生產者的質量觀:質量是產品性能符合規格要求的程度。

    以價值為基準的質量觀:質量依賴于顧客愿意付給產品報酬的數量

    質量核心是:滿足用戶需求

    2.3影響軟件質量的因素:人、過程和技術

    2.4軟件質量因素

    功能性:軟件實現的功能達到要求的和隱含的用戶需求以及設計規范的程度,

    可靠性:軟件在指定條件和特定時間段內維持性能的能力程度,

    易使用性:用戶使用該軟件所付出的學習精力,

    效率:在指定條件下,軟件功能與所占用資源之間的比值,

    可維護性:當發現錯誤、運行環境改變或客戶需求改變時,程序能修改的容易程度,

    可移植性:將軟件從一種環境移入另一種環境的容易程度。

    2.5補充:

    ???????? 外部用戶是實際使用者,內部用戶是下一道工序的接收者

  • 軟件質量保證的相關內容與定義、能力成熟度模型
  • 3.1相關內容:

  • 軟件質量保證目的是使軟件過程對于管理人員來說是可見的。
  • 通過對軟件產品和活動進行評審和審計來驗證軟件是合乎標準的。軟件質量保證組在項目開始時就一起參與建立計劃、標準和過程。這些將使軟件項目滿足機構方針的要求。
  • (2.1.2)(1)SQA過程;
  • (2)具體的質量保證和質量控制任務(包括技術評審和多層次測試策略);

    (3)有效的軟件工程實踐(方法和工具);

    (4)對所有軟件工作產品及其變更的控制;

    (5)保證符合軟件開發標準的規程(當適用時);

    (6)測量和報告機制。

    在恰當的時間以正確的方式做正確的事情

    3.2定義:

  • 軟件質量保證(SQA)是一種應用于整個軟件過程的保護性活動,包括:一種質量管理方法、有效的軟件工程技術(方法和工具)、在整個軟件過程中采用的正式技術復審、一種多層次的測試策略、對軟件文檔及其修改的控制、保證軟件遵從軟件開發標準的規程、度量和報告機制。
  • [IEEE]軟件質量保證(SQA)是:
  • 一種有計劃的,系統化的行動模式,它是為項目或者產品符合己有技術需求提供充分信任所必需的。也可以說軟件質量保證是設計用來評價開發或者制造產品過程的一組活動,這組活動貫穿于軟件生產的各個階段即整個生存周期。

    設計用來評價開發或者制造產品的過程的一組活動,與質量控制有區別。

  • 軟件質量保證是建立一套有計劃,有系統的方法,來向管理層保證擬定出的標準、步驟、實踐和方法能夠正確地被所有項目所采用。
  • 軟件質量保證(Software Quality Assurance,SQA)和一般的質量保證一樣,是確保軟件產品從誕生到消亡為止的所有階段的質量的活動,即確定、達到和維護需要的軟件質量而進行的所有有計劃、有系統的管理活動。
  • 3.3目的:

    目的是使軟件過程對于管理人員來說是可見的。

    3.4CMM(能力成熟度模型):

    3.4.1定義

    是對于軟件組織在定義、實施、度量、控制和改善其軟件過程的實踐中各個發展階段的描述

    3.4.2CMM的核心

    是把軟件開發視為一個過程,并根據這一原則對軟件開發和維護進行過程監控和研究,以使其更加科學化、標準化、使企業能夠更好地實現商業目標。

  • 軟件度量與可靠性的概念,軟件重用的概念
  • 4.1軟件度量相關概念:

    4.1.1.定義

    測量使得管理者和開發者能夠改善軟件過程;輔助軟件項目的計劃、跟蹤及控制;評估產生的產品(軟件)的質量。

    4.1.2軟件過程度量概念:

    軟件過程度量是對軟件過程進行度量的定義、方法、活動和結果的集合。

    軟件過程度量不是單一的活動而是一組活動的集合,它本身也是一個系統的過程。

    4.1.3軟件度量作用:

    通過軟件度量增加理解;

    通過軟件度量管理軟件項目,主要是計劃和估算、跟蹤和確認;

    通過軟件度量指導軟件過程改善,主要是理解、評估和包裝。軟件度量對于不同的實施對象,具有不同的效用。

    4.1.4軟件過程度量活動:

    選擇和定義度量、制定度量計劃、收集數據、執行度量分析、評估過程性能、根據評估結果采取相應措施

    4.5可靠性相關概念:

    4.5.1定義:

    在規定的條件下,在規定的時間內,軟件不引起系統失效的概率。該概率是系統輸入和系統使用的函數,也是軟件中存在的錯誤的函數;系統輸入將確定是否會遇到已存在的錯誤(如果錯誤存在的話);

    ???????? 注:

    軟件可靠性是指在規定的條件下和規定的時間內,軟件不引起系統故障的能力。

    軟件可靠性不但與軟件中存在的缺陷有關,而且與系統輸入和系統使用有關。

    軟件可靠性是軟件質量特性中重要的固有特性和關鍵因素。

    軟件可靠性反映了用戶的質量觀點。

    4.6軟件重用概念:

    軟件重用不僅僅是指軟件本身,也可以是軟件的開發思想方法、文檔,甚至環境、數據等,包括三個方面內容的重用:

    開發過程重用,指開發規范、各種開發方法、工具和標準等。

    軟件構件重用,指文檔、程序和數據等。

    知識重用,如相關領域專業知識的重用。

    ?

  • 黑盒與白盒測試的基本概念、方法
  • ?

    5.1黑盒測試

    5.1.1定義:

  • 黑盒測試又稱為數據驅動測試、基于規格的測試、輸入/輸出測試或者功能測試。
  • 黑盒測試基于產品功能規格說明書,從用戶角度針對產品特定的功能和特性進行驗證活動,確認每個功能是否得到完整實現,用戶能否正常使用這些功能。
  • 5.1.2方法:

    等價類的劃分、邊界值分析、因果圖(魚骨圖)、決策表

    5.2白盒測試

    5.2.1定義:

  • 白盒測試把測試對象看做一個透明的白盒子,允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序內部的變量狀態、邏輯結構、執行路徑進行測試。
  • 白盒測試又稱為結構測試、邏輯驅動測試或基于代碼測試。
  • 5.1.2方法:

    各種邏輯覆蓋、過程測試

  • 軟件測試中各階段測試的基本概念、使用測試方法的原則
  • 6.1基本概念

    軟件測試可以分為單元測試、集成測試、確認測試、系統測試和驗收測試。

    單元測試:單元測試就是驗證軟件單元的實現是否和該單元的說明完全一致的相關聯的測試活動組成的。

    集成測試:集成測試是在單元測試的基礎上,將多個模塊組合在一起進行測試的過程,主要檢查各個軟件單元之間的相互接口是否正確。

    確認測試:又稱為合格性測試,用來檢驗軟件是否符合用戶的需求。

    系統測試:系統測試是指將通過集成測試的軟件系統,作為計算機系統的一個重要組成部分,與計算機硬件、外設、某些支撐軟件的系統等其他系統元素組合在一起所進行的測試,目的在于通過與系統的需求定義作比較,發現軟件與系統定義不符合或矛盾的地方。

    驗收測試:驗收測試主要根據用戶的需求而建立,是整個測試過程中的最后一個階段。

    6.2原則:

  • 在整個開發過程中要盡早地和不斷地進行軟件測試。
  • 在開始測試時,不應默認程序中不存在錯誤。
  • 設計測試用例時,要給出測試的預期結果。
  • 測試工作應避免由系統開發人員或開發機構本身來承擔。
  • 對合理的和不合理的輸入數據都要進行測試。
  • 重點測試錯誤群集的程序區段(缺陷集群性)。
  • 除檢查程序功能是否完備外,還要檢查程序功能是否有多余。
  • 用窮舉測試是不可能的。
  • 長期完整保留所有的測試用例和測試文件,直至該軟件產品被廢棄為止。
  • 殺蟲劑悖論
  • 測試依賴于測試背景
  • 沒有失效就是有用系統是一種謬論
  • ?

  • 全面質量管理的概念,方法,相關技術。
  • 7.1相關概念:

    全面質量管理(Total Quality Management,TQM)是一個組織以質量為中心,以全員參與為基礎,目的在于通過讓顧客滿意和本組織所有成員及社會受益而達到長期成功的一種質量管理模式。

    核心思想(全員性、全過程性、全面性)

    7.2方法:

    ???????? 全面質量管理最重要的方法是PDCA循環,最早由美國質量管理專家戴明提出來的,所以又稱為“戴明環”。P(Plan)計劃;D(Do)執行;C(Check)檢查;A(Action)處理,它反映了質量工作過程的4個階段,通過4個階段循環不斷地改善質量。

    七種工具是指在質量管理中廣泛應用的統計分析表、分層法、散布圖、因果圖、控制圖、直方圖、帕累托圖。大多使用數理統計方法,以從生產中收集到的數據為依據,適于過程的分析和控制。

    ?

    7.3相關技術:

    軟件質量控制技術是為解決軟件的實際問題而產生的。列出一系列由買主或客戶及開發者在軟件質量控制過程中經常遇到的一些問題及解決問題涉及的質量控制技術。

    ?

    1.全面軟件質量控制技術

    2.在此基礎上,介紹了6σ管理和零缺陷,并介紹了6σ設計流程和主要設計工具。6σ管理法是一種統計評估法,核心是追求零缺陷生產,防范產品責任風險,降低成本,提高生產率和市場占有率,提高顧客滿意度和忠誠度。

    ?

  • 軟件缺陷的定義,類型,管理方法等
  • 8.1定義:

    軟件缺陷是指從產品內部看,軟件缺陷是軟件產品開發或維護過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統所需要實現的某種功能的失效或違背(IEEE729)。

    8.2類型:

  • 功能錯誤:以需求說明書為參照,未達到或未完成需求說明書所描述的功能即為功能錯誤。
  • 編碼錯誤:在系統運行中出現各類系統報錯以及死機、不能工作、沒有反應的現象即為編碼錯誤。
  • 數據錯誤:系統中各類查詢數據、插入數據、更新數據時出現的數據庫中表結構、視圖、索引等不正確引起的錯誤。
  • 可操作性錯誤:可操作性、應用方面的錯誤。
  • 界面問題:窗口個控件布局、字體顯示等不美觀,界面、信息提示不友好、不準確等。
  • 組件錯誤:測試創建組件產生的錯誤。
  • 其它錯誤:各類文檔、幫助的錯誤。
  • 8.3管理方法:

  • 處于CMM一級(或稱為初始級)的軟件組織,對軟件缺陷的管理無章可循。工程師們只是在發現缺陷后,修改相應的軟件。而且,只有在下一輪測試中才有可能知道那些所謂己被糾正了的缺陷是否真的被糾正了,更重要的是糾正過程是否引入了新的缺陷。所以這樣的軟件組織的項目交貨期表現出強烈的不可預測性。并且,為了獲得一個高質量的軟件產品(如果能夠的話),通常要在測試上花費大量的人力。
  • 在 CMM 二級(或稱為可重復級)的軟件組織中,軟件項目會從自身的需要出發,制定本項目的缺陷管理過程。
  • 一個完備軟件缺陷管理過程通常會包括如下幾個方面:提交缺陷、分析和定位缺陷;提請修改相應的軟件;修改相應的軟件;驗證修改。

    項目組會完整地記錄開發過程中的缺陷,監控缺陷的修改過程,并驗證修改缺陷的結果。

  • CMM 三級(或稱為己定義級)的軟件組織會匯集組織內部以前項目的經驗教訓,制定組織級的缺陷管理過程。并且,要求項目根據組織級的缺陷管理過程定制本項目的缺陷管理過程。
  • ????從而,整個軟件組織中的項目都遵循類似的過程來管理缺陷。
  • ????好的缺陷管理實踐成為所有項目的實踐,而教訓也為所有項目所了解。
  • 更重要的是,隨著組織的不斷發展完善,組織的過程會得到持續性的改進,所有項目的過程也都會相應的改進。

  • 定量管理級
  • 持續優化級
  • 報告軟件缺陷
  • 一個完整的軟件缺陷信息除了包含軟件缺陷類型、等級和優先級外還需要其它一些屬性,如缺陷標識、缺陷產生可能性、缺陷來源等。

  • 軟件配置管理的概念
  • 9.1定義:

    軟件配置管理是貫穿于整個軟件過程中的保護性活動,它被設計來:

    標識變化;

    控制變化;

    保證變化被適當地實現;

    向其他可能有興趣的人員報告變化。

    軟件配置管理是在貫穿整個軟件生命周期中建立和維護項目產品的完整性。

    9.2基本目標

    軟件配置管理的各項工作是有計劃進行的。

    被選擇的項目產品得到識別,控制并且可以被相關人員獲取。

    已識別出的項目產品的更改得到控制。

    使相關組別和個人及時了解軟件基準的狀態和內容。

  • 評審的幾種形式(靜態測試技術)
  • 10.1定義:

    評審(Review)是指對產品或產品狀態進行評估,以確定與計劃的結果所存在的誤差,并提供改進建議。

    10.2軟件評審的主要好處

    盡早發現和修改軟件缺陷、改善開發能力、縮短開發時間、縮減測試成本和時間、減少產品生命周期成本、減少軟件缺陷以及改善和開發人員之間的溝通等。評審可以在工作產品中發現一些遺漏的、冗長的內容,這在動態測試中是很難發現的。

    10.3評審的幾種形式:

    按照評審過程的正式程度、嚴格程度可以將評審分為非正式評審正式評審

    非正式評審包括桌面審查、走廊聊天、伙伴測試或者結對編程等;

    正式評審又可以分為管理評審、技術評審、審查、走查和審計

    ?

    ?

    ?

    ?

  • 等價類、邊界值、決策表與因果圖
  • 11.1等價類

  • 等價類劃分法是一種黒盒測試的技術,不考慮程序的內部結構,是把所有可能的輸入數據,即程序的輸入域劃分成盡可能少的若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例。
  • 該方法是一種重要的,常用的黑盒測試用例設計方法。
  • 每個子域構成輸入域的一個劃分,每個子域稱為一個等價類
  • 11.2邊界值

    ?

    11.3決策表

    決策表又稱為判定表,用于分析多種邏輯條件下執行不同操作的技術。

    ?

    11.4因果圖

    因果圖,也稱作依賴關系模型,主要用于描述軟件輸入條件(即“原因”)與軟件輸出結果(即“結果”)之間的依賴關系。因果圖可以直觀地表示各種依賴關系。

  • 各種邏輯覆蓋,路徑測試
  • 12.1邏輯覆蓋

    語句覆蓋:在測試時首先設計若干個測試用例,然后運行被測程序,使程序中的每個可執行語句至少執行一次。這里所謂“若干個”,自然是越少越好。

    ?

    判定覆蓋:設計若干測試用例,運行被測程序,使得程序中每個判斷的取真分支和取假分支至少經歷一次,即判斷的真假值均曾被滿足

    ?

    條件覆蓋:設計若干測試用例,執行被測程序后,使每個判定中每個條件的可能取值至少滿足一次。

    ?

    判定-條件覆蓋:要求設計足夠的測試用例,使得判定中的每個條件的所有可能的結果至少出現一次,并且每個判定的所有可能的結果至少執行一次

    條件組合覆蓋(多重條件覆蓋):設計足夠多的測試用例,使得判定中每個條件的所有可能組合至少出現一次。要求這些結果的所有可能組合都至少出現一次。

    路徑覆蓋:設計足夠多的測試用例要求覆蓋程序中所有可能的路徑。

    從底向上由弱到強:

    12.2路徑測試

    12.2.1 DD路徑(Decision to Decision Paths是決策到決策的路徑。所謂決策,是指一個序列語句,其開始位置是一個判定(決策)語句的開始,結束位置是下一個判定(決策)語句的開始,并且序列語句沒有分支。

    12.2.2基路徑測試

    基路徑是指將所有程序的路徑作為一個集合。在這些路徑當中必然存在一個最小路徑的集合

    詳細步驟

    步驟1:以詳細設計或源代碼作為基礎,畫出標準的流程圖,然后導出程序的控制流圖。

    步驟2:計算控制流圖G的圈復雜度V(G)。

    步驟3:確定基(獨立)路徑的集合,即確定線性無關的路徑的基本集。

    步驟4:生成測試用例,確保基本路徑集中每條路徑的執行。

    ?

    控制流圖G的圈復雜度V( G)定義為:

    方法1:V(G) =E -N+2,其中,E是控制流圖G中邊的數量,N是控制流圖G中節點的數量。

    方法2:將圈復雜度定義為控制流圖G中的區域數。

    方法3:V(G)=P+1,P是流圖G中判定(謂詞)節點的數量。

    總結

    以上是生活随笔為你收集整理的软件质量保证与测试期末复习整理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。