信息系統項目管理師:軟件測試、調試及其管理

1.4.5軟件測試及其管理

1、軟件測試方法可分為靜態測試和動態測試。

靜態測試是指被測試程序不在機器上運行,而采用人工檢測和計算機輔助靜態分析的手段對程序進行檢測。靜態測試包括對文檔的靜態測試和對代碼的靜態測試。對文檔的靜態測試主要以檢查單的形式進行,而對代碼的靜態測試一般采用桌前檢查、代碼走查和代碼審查。

動態測試是指在計算機上實際運行程序進行軟件測試,一般采用白盒測試和黑盒測試方法。

白盒測試也稱為結構測試,主要用于軟件單元測試中。它的主要思想是,將程序看作是一個透明的白盒,測試人員完全清楚程序的結構和處理算法,按照程序內部邏輯結構設計測試用例。白盒測試方法主要有控制流測試、數據流測試和程序變異測試等。另外,使用靜態測試的方法也可以實現白盒測試。例如,使用人工檢查代碼的方法來檢查代碼的邏輯問題,也屬于白盒測試的范疇。白盒測試方法中,最常用的技術是邏輯覆蓋,即使用測試數據運行被測程序,考察對程序邏輯的覆蓋程度。

主要的覆蓋標準有語句覆蓋、判定覆蓋、條件覆蓋、條件/判定覆蓋、條件組合覆蓋、修正的條件/判定覆蓋和路徑。

黑盒測試也稱為功能測試,主要用于集成測試、確認測試和系統測試中。黑盒測試將程序看作是一個不透明的黑盒,完全不考慮(或不了解)程序的內部結構和處理算法。

一般包括等價類劃分、邊界值分析、判定表、因果圖、狀態圖、隨機測試、猜錯法和正交試驗法等。

測試分類

4、軟件測試可分為單元測試、集成測試、確認測試、系統測試、配置項測試和回歸測試等類別。

(1)單元測試。單元測試也稱為模塊測試。

(2)集成測試。集成測試的目的是檢查模塊之間,以及模塊和已集成的軟件之間的接口關系。

(3)確認測試。確認測試主要用于驗證軟件的功能、性能和其他特性是否與用戶需求一致。根據用戶的參與程度,通常包括以下類型。

內部確認測試

主要由軟件開發組織內部按照SRS進行測試(SRS:軟件需求說明書)。

(1)Alpha測試,對于通用產品型的軟件開發而言,A|pha測試是指由用戶在開發環境下進行測試,通過A|pha測試以后的產品通常稱為A|pha版;

(2)Beta測試,是指由用戶在實際使用環境下進行測試,通過Beta測試的產品通常稱為Beta版。一般在通過Beta測試后,才能把產品發布或交付給用戶。

(3)驗收測試,是指針對SRS,在交付前以用戶為主進行的測試。其測試對象為完整的、集成的計算機系統。

(4)系統測試。系統測試的對象是完整的、集成的計算機系統,系統測試的目的是在真實系統工作環境下,驗證完整的軟件配置項能否和系統正確連接,并滿足系統/子系統設計文檔和軟件開發合同規定的要求。

(5)配置項測試。配置項測試的對象是軟件配置項,配置項測試的目的是檢驗軟件配置項與SRS的一致性。

(6)回歸測試。回歸測試的目的是測試軟件變更之后,變更部分的正確性和對變更需求的符合性,以及軟件原有的、正確的功能、性能和其他規定的要求的不損害性。回歸測試的對象主要包括以下四個方面。

補充

未通過軟件單元測試的軟件,在變更之后,應對其進行單元測試。

未通過配置項測試的軟件,在變更之后,首先應對變更的軟件單元進行測試,然后再進行相關的集成測試和配置項測試。

未通過系統測試的軟件,在變更之后,首先應對變更的軟件單元進行測試,然后再進行相關的集成測試、配置項測試和系統測試。

因其他原因進行變更之后的軟件單元,也首先應對變更的軟件單元進行測試,然后再進行相關的軟件測試。

軟件調試

1、與傳統的結構化系統相比,OO系統具有三個明顯特征,即封裝性、繼承性與多態性。

2、常用的軟件調試策略可以分為蠻力法、回溯法和原因排除法三類。軟件調試與測試的區別主要體現在以下幾個方面:

(1)測試的目的是找出存在的錯誤,而調試的目的是定位錯誤并修改程序以修正錯誤。

(2)調試是測試之后的活動,測試和調試在目標、方法和思路上都有所不同。

(3)測試從一個已知的條件開始,使用預先定義的過程,有預知的結果;調試從一個未知的條件開始,結束的過程不可預計。

(4)測試過程可以事先設計,進度可以事先確定;調試不能描述過程或持續時間。

軟件測試管理

軟件測試的管理包括過程管理、配置管理和評審工作。

(1)過程管理。過程管理包括測試活動管理和測試資源管理。軟件測試應由相對獨立的人員進行。

(2)配置管理。應按照軟件配置管理的要求,將測試過程中產生的各種工作產品納入配置管理。

(3)評審。測試過程中的評審包括測試就緒評審和測試評審。

測試就緒評審是指在測試執行前對測試計劃和測試說明等進行評審,評審測試計劃的合理性和測試用例的正確性、完整性和覆蓋充分性,以及測試組織、測試環境和設備、工具是否齊全并符合技術要求等;

測試評審是指在測試完成后,評審測試過程和測試結果的有效性,確定是否達到測試目的,主要對測試記錄和測試報告進行評審。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537310.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537310.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537310.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目驗收材料整合流程

目標:多份word整合成一份項目驗收材料 第一步:編寫好word;準備好一份驗收材料的封面與目錄word 第二步:用WPS的word轉PDF,批量轉成PDF; 第三步:用Adobe Acrobat DC 合并轉成的多個PDF成為一個…

python調用接口獲取文件_python接口文件使用說明

首先,python接口文件在安裝好的darknet目錄下的python文件夾,打開就可以看到這里的darknet.py文件就是python接口用編輯器打開查看最后部分代碼:使用十分簡單,先將網絡配置加載進去,然后進行檢測就行了。但其實現在還不…

[譯]Kube Router Documentation

體系結構 Kube路由器是圍繞觀察者和控制器的概念而建立的。 觀察者使用Kubernetes監視API來獲取與創建,更新和刪除Kubernetes對象有關的事件的通知。 每個觀察者獲取與特定API對象相關的通知。 在從API服務器接收事件時,觀察者廣播事件。 控制器注冊以獲…

windows11 22H2資源管理器開啟多標簽頁

效果 步驟 windows11 22H2后續可能會推送該功能,現在是隱藏的,需要借助工具把這個隱藏功能開啟 工具:vivetool 下載:Releases thebookisclosed/ViVe GitHub 步驟1:右鍵開始菜單,選擇“終端(…

python像素處理_Python 處理圖片像素點的實例

###在做爬蟲的時候有時需要識別驗證碼,但是驗證碼一般都有干擾物,這時需要對驗證碼進行預處理,效果如下:from PIL import Imageimport itertoolsimg Image.open(C:/img.jpg).convert(L) #打開圖片,convert圖像類型有L,RGBA# 轉化為黑白圖def blackWrite(img):blackXY []# 遍歷…

Mysql更改表名大小寫不敏感

編輯配置文件 vi /etc/my.cnf 在[mysqld]后添加添加 lower_case_table_names1 重啟服務 service mysqld stop service mysqld start 部署會遇到的問題: MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:   1、數據庫名與表名是嚴格區分大…

遇到“我覺得行才算行”的業主怎么辦?

目錄 案例 分析 案例 項目初期UI設計需求不確定,我們設計了幾稿,業主還是不滿意,沒有確定最終稿。后來呢,業主安排了一位內部的美工A過來。美工A給出了很多修改意見,我們根據美工A的意見進行了修改,又反反復復改了好幾版,最后業主不算滿意地確定了。 后來項目要收尾…

python讀取多個文件夾下所有txt_Python實現合并同一個文件夾下所有txt文件的方法示例...

本文實例講述了Python實現合并同一個文件夾下所有txt文件的方法。分享給大家供大家參考,具體如下:一、需求分析合并一個文件夾下所有txt文件二、合并效果三、python實現代碼# -*- coding:utf-8*-import sysreload(sys)sys.setdefaultencoding(utf-8)impo…

項目是臨時的,那項目組成員也是臨時的嗎?

在PMBOK定義項目屬性,“臨時性”是項目的三大屬性之一。 在“結束項目或階段”過程里的活動,重新分配人員:釋放團隊資源,在一些合同里面,項目結束后,需要給客戶提供培訓和一段時間的維護保修,那…

ceph安裝配置

簡介 ceph是一個開源分布式存儲系統,支持PB級別的存儲,支持對 象存儲,塊存儲和文件存儲,高性能,高可用,可擴展。 部署網絡建議架構圖 部署 部署架構圖,本次實驗部署jewel版本 實驗環境的Vagrant…

推薦好用的JavaScript模塊

2019獨角獸企業重金招聘Python工程師標準>>> 譯者按: 作者將自己常用的JavaScript模塊分享給大家。 原文:? JavaScript Modules Worth Using ?譯者: Fundebug為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原…

python直接連接oracle_python連接oracle

一:弄清版本,最重要!!!首先安裝配置時,必須把握一個點,就是版本一致!包括:系統版本,python版本,oracle客戶端的版本,cx_Oracle的版本&…

項目計劃不要拖,要趕緊排

目錄 案例 復盤 應對 總結 案例 業主:這個項目很急,趕緊干活吧,明天就安排人來干活。 于是,項目經理問公司要來資源,第二天就投入到項目里。 公司只有一個項目,這樣搞,項目能順利實施,業主滿意,公司老板感覺這種方法不錯哦。 當公司項目越來越多了,員工也越來…

select函數_SQL高級功能:窗口函數

一、窗口函數有什么用?在日常生活中,經常會遇到需要在每組內排名,比如下面的業務需求:排名問題:每個部門按業績來排名topN問題:找出每個部門排名前N的員工進行獎勵面對這類需求,就需要使用sql的…

客戶端C++與前端js交互

客戶端與前端交互 qwebchannel.js文件引入建立通信// c發送消息給js new QWebChannel(qt.webChannelTransport, function(channel){var content channel.objects.jsContext;// 建立通信后,客戶端通過調用 sMsg 方法來執行后面的回調函數,從而實現c與j…

python動態映射_sqlalchemy動態映射

似乎您可以直接使用屬性,而不是使用columnsdict。考慮以下設置:from sqlalchemy import Table, Column, Integer, Unicode, MetaData, create_enginefrom sqlalchemy.orm import mapper, create_sessionclass Word(object):passwordColumns [english, k…

linux外接顯示屏,關掉本身的筆記本電腦

https://blog.csdn.net/a2020883119/article/details/79561035 先用xrandr命令查看: eDP-1 connected eDP-1是連接著的 關掉:sudo xrandr --output eDP-1 --off 打開:sudo xrandr --output eDP-1 --auto

發揮項目“臨時性”威力,讓項目順利實施

所謂臨時性,就是要有明確的“開始”和“結束”。雖然大家都知道項目一定會有開始和結束的,但要更多地關注“明確“。 問題1:問商務(售前)或業主,這個項目什么時候結束? 答:商務或業主他們有時候也不知道,因為國內的項目大多數是提前開始交付,是一邊交付,一邊把里程…

上拉加載更多后臺數據_6-7【微信小程序全棧開發課程】記錄頁面(七)--分頁加載記錄數據...

現在是一次性加載所有的記錄數據,數據多的時候,會加載比較慢,所以我們改成分頁加載,一次最多加載15條數據每次拉倒底部都會自動加載下一頁的數據,知道所有的數據加載完成1、添加data變量編輯record.vue文件&#xff0c…

spring cloud eureka服務注冊和調用

SPRING INITIALIZR構建工程 spring boot 可通過SPRING INITIALIZR構建項目訪問SPRING INITIALIZR官網,填寫項目相關信息后,生成項目。將下載的項目解壓,打開idea,file-->new-->project from existing sources。import proje…