![軟件測試與缺陷管理_第1頁](http://file4.renrendoc.com/view/e21a21b00d719074fce702230d5f7152/e21a21b00d719074fce702230d5f71521.gif)
![軟件測試與缺陷管理_第2頁](http://file4.renrendoc.com/view/e21a21b00d719074fce702230d5f7152/e21a21b00d719074fce702230d5f71522.gif)
![軟件測試與缺陷管理_第3頁](http://file4.renrendoc.com/view/e21a21b00d719074fce702230d5f7152/e21a21b00d719074fce702230d5f71523.gif)
![軟件測試與缺陷管理_第4頁](http://file4.renrendoc.com/view/e21a21b00d719074fce702230d5f7152/e21a21b00d719074fce702230d5f71524.gif)
![軟件測試與缺陷管理_第5頁](http://file4.renrendoc.com/view/e21a21b00d719074fce702230d5f7152/e21a21b00d719074fce702230d5f71525.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件測試與缺陷管理第一頁,共三十八頁,編輯于2023年,星期三在畢業(yè)設(shè)計項目中,我們將采取什么方法來進(jìn)行進(jìn)度管理?面試時,面試官問你“如何實(shí)現(xiàn)一個權(quán)限系統(tǒng)”,你將如何回答?回顧第二頁,共三十八頁,編輯于2023年,星期三預(yù)習(xí)檢查畢業(yè)設(shè)計項目中,我們使用什么工具來管理測試用例?實(shí)現(xiàn)動態(tài)系統(tǒng)菜單的ASP.NET方法有哪些?簡單描述實(shí)現(xiàn)TreeView菜單的思路?第三頁,共三十八頁,編輯于2023年,星期三本章任務(wù)編寫“用戶管理”測試用例使用ASP.NET技術(shù)實(shí)現(xiàn)系統(tǒng)功能菜單第四頁,共三十八頁,編輯于2023年,星期三本章目標(biāo)建立軟件質(zhì)量觀念了解軟件測試的意義和方法學(xué)會編寫測試用例了解缺陷管理的流程會使用TreeView控件實(shí)現(xiàn)系統(tǒng)菜單第五頁,共三十八頁,編輯于2023年,星期三為什么要做軟件測試(1)?軟件缺陷和軟件故障案例案例1迪斯尼的獅子王,1994~1995
兼容性問題案例2跨世紀(jì)“千年蟲”問題設(shè)計考慮不周全案例3愛國者導(dǎo)彈防御系統(tǒng)炸死自家人系統(tǒng)時鐘誤差積累第六頁,共三十八頁,編輯于2023年,星期三為什么要做軟件測試(2)?系統(tǒng)故障原因:硬件故障:軟件故障=10:1運(yùn)行軟件的駐留故障密度(每千行代碼的故障數(shù)目):要求很高的關(guān)鍵財務(wù)或財產(chǎn)軟件為:1~10個軟件缺陷/千行代碼關(guān)鍵的生命軟件為:0.01~1個故障/千行代碼軟件失敗時,也許僅僅是給我們帶來了不便(案例1),也可能是災(zāi)難性的(案例3)。我們需要軟件測試,來保障軟件質(zhì)量。第七頁,共三十八頁,編輯于2023年,星期三什么是軟件缺陷(Bug)?軟件缺陷的定義軟件未達(dá)到產(chǎn)品說明書中已經(jīng)標(biāo)明的功能軟件出現(xiàn)了產(chǎn)品說明書中指明不會出現(xiàn)的錯誤軟件未達(dá)到產(chǎn)品說明書中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo)軟件功能超出了產(chǎn)品說明書中指明的范圍軟件測試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶認(rèn)為該軟件使用效果不良計算器的例子第八頁,共三十八頁,編輯于2023年,星期三小結(jié)1這時,漂亮的空姐過來宣布:“旅客朋友們請放心,我們飛機(jī)安裝有先進(jìn)的安全控制系統(tǒng),該系統(tǒng)是由著名的××公司(你所在的公司)開發(fā)的,......”假如你現(xiàn)在坐在飛機(jī)上,忽然飛機(jī)開始顫抖...要想真正設(shè)計、編寫出高質(zhì)量的軟件,首先需要我們在做事的時候,腦子里具有質(zhì)量意識。
這時,你是頓時感到踏實(shí),還是忽然覺得什么都完了?
第九頁,共三十八頁,編輯于2023年,星期三什么是軟件測試?什么是軟件測試定義:軟件測試是為了發(fā)現(xiàn)軟件缺陷而執(zhí)行程序的過程軟件測試的依據(jù)需求規(guī)格說明書(重中之重);相關(guān)的設(shè)計說明(概要設(shè)計,詳細(xì)設(shè)計等);已經(jīng)基本成型的UI(可以有針對性地補(bǔ)充一些用例)。第十頁,共三十八頁,編輯于2023年,星期三軟件測試方法(1)按照測試方法來分,軟件測試分為:黑盒測試白盒測試第十一頁,共三十八頁,編輯于2023年,星期三軟件測試方法(2)思想已知程序內(nèi)部工作流程,通過測試檢驗程序內(nèi)部動作是否按規(guī)格說明書規(guī)定正常運(yùn)作依據(jù)程序的內(nèi)部邏輯結(jié)構(gòu),針對程序的邏輯路徑設(shè)計測試用例特點(diǎn)必須了解程序的內(nèi)部工作流程白盒測試第十二頁,共三十八頁,編輯于2023年,星期三思想根據(jù)已知程序的功能和性能(而不是內(nèi)部細(xì)節(jié)),通過測試檢驗每個功能和性能是否正常依據(jù)程序的功能和性能描述特點(diǎn)知道程序的功能和性能,不必了解程序的內(nèi)部結(jié)構(gòu)和處理細(xì)節(jié)軟件測試方法(3)黑盒測試第十三頁,共三十八頁,編輯于2023年,星期三軟件測試階段按照測試階段來分,軟件測試分為:需求分析概要設(shè)計詳細(xì)設(shè)計編碼單元測試集成測試確認(rèn)測試軟件開發(fā)過程軟件測試階段用戶需求驗收測試第十四頁,共三十八頁,編輯于2023年,星期三什么是測試用例?測試用例的定義測試用例就是一個“情況”,軟件程序在這種情況下,必須能夠正常運(yùn)行并且得到預(yù)期的結(jié)果。一個簡化的測試用例:用例:用戶登錄前置條件:用戶進(jìn)入到“用戶登錄頁面”輸入:合法用戶在系統(tǒng)中的用戶名和密碼期待結(jié)果:用戶提交正確的用戶名和密碼后,順利進(jìn)入系統(tǒng)測試結(jié)果:成功/失敗第十五頁,共三十八頁,編輯于2023年,星期三測試用例的設(shè)計原則測試用例的設(shè)計原則對應(yīng)需求編寫測試用例測試用例要全面覆蓋需求規(guī)格說明書中的軟件功能點(diǎn)便于發(fā)現(xiàn)有價值的缺陷
系統(tǒng)要求上傳2M以下的文件,一般上載1M多一點(diǎn)的文件絕不會有問題。這時“敏感”會讓我們設(shè)計測試用例時,盡量去注意邊界條件,上載1.9M的文件會不會出問題?上載正好2M的文件呢?上載2M多一點(diǎn)的文件呢?第十六頁,共三十八頁,編輯于2023年,星期三測試用例的組織方式測試用例的組織方式系統(tǒng)模塊功能點(diǎn)用例編號用例說明前置條件輸入預(yù)期結(jié)果測試結(jié)果失敗原因教員講解第十七頁,共三十八頁,編輯于2023年,星期三小結(jié)2軟件測試按測試方法來分,分為哪兩種?兩種方法各有什么特點(diǎn)?設(shè)計測試用例的兩個原則是?第十八頁,共三十八頁,編輯于2023年,星期三為什么要做缺陷管理?看看缺陷會給我們的軟件開發(fā)過程造成怎樣的混亂?每發(fā)現(xiàn)一個Bug,都要驚動整個項目組
例:測試人員發(fā)現(xiàn)了一個Bug,當(dāng)作發(fā)現(xiàn)新大陸一樣告訴給項目組長,項目組長找到開發(fā)組長,開發(fā)組長再找程序...Bug沒有指明修改人,大家都不聞不問
例:測試人員將幾十個Bug郵件群發(fā)給開發(fā)組,開發(fā)組先是一片混亂,然后立刻平靜下來。事不關(guān)己,高高掛起...Bug的溝通成本往往很高
例:測試人員發(fā)現(xiàn)小張Bug后立即發(fā)給程序員小王,小王每次都需要和小張進(jìn)行大量的“溝通交流”來理解Bug。
缺陷管理可以幫助我們解決上述問題,將缺陷(Bug)按嚴(yán)重程度劃分等級,按特定的流程來進(jìn)行管理。第十九頁,共三十八頁,編輯于2023年,星期三如何進(jìn)行缺陷管理(1)1、缺陷等級劃分嚴(yán)重的缺陷:所導(dǎo)致的問題會導(dǎo)致系統(tǒng)罷工、工作不正常例:windows的藍(lán)屏、死機(jī)。一般的缺陷:主要工作運(yùn)作不完全,所產(chǎn)生的問題雖然嚴(yán)重,但是不影響下一步的測試。 例:軟件異常。輕微的缺陷:功能運(yùn)作正常,可是有改進(jìn)的空間。 例:對“必填”的文本框未作校驗。第二十頁,共三十八頁,編輯于2023年,星期三如何進(jìn)行缺陷管理(2)2、缺陷管理中的角色開發(fā)負(fù)責(zé)人(項目組長) 負(fù)責(zé)制定缺陷管理計劃和流程,將測試工程師發(fā)現(xiàn)的問題指派給指定開發(fā)工程師,協(xié)調(diào)缺陷管理流程中的問題。測試工程師
將發(fā)現(xiàn)的問題提交到缺陷管理系統(tǒng)中,寫明問題的描述、嚴(yán)重程度,問題重現(xiàn)方法;負(fù)責(zé)重新測試開發(fā)工程師修改過的缺陷。開發(fā)工程師
確認(rèn)并修改指定給自己的軟件缺陷。第二十一頁,共三十八頁,編輯于2023年,星期三如何進(jìn)行缺陷管理(3)3、缺陷管理流程第二十二頁,共三十八頁,編輯于2023年,星期三缺陷管理工具專業(yè)缺陷管理工具Bugzilla
Bugzilla是一款很專業(yè)的缺陷管理工具。它具有一般缺陷管理系統(tǒng)所必須的功能:
提供一個開發(fā)和測試交互的平臺,將測試和改錯程序化。不需要測試人員就每一個問題和開發(fā)人員直接交流,也避免了發(fā)生錯誤被遺忘的問題提供錯誤檢索功能,供項目經(jīng)理和測試經(jīng)理掌握測試和修改情況第二十三頁,共三十八頁,編輯于2023年,星期三畢業(yè)設(shè)計項目中的缺陷管理在畢業(yè)設(shè)計中,我們將使用《常見問題列表》管理缺陷《常見問題列表》將放在VSS服務(wù)器上,由小組組長維護(hù)。小組內(nèi)人員發(fā)現(xiàn)問題后,在問題列表中提出問題,組內(nèi)各成員經(jīng)常查看該問題列表,遇見自己可以解答的問題,將解決方案寫入表格。教員講解第二十四頁,共三十八頁,編輯于2023年,星期三小結(jié)3軟件缺陷按嚴(yán)重程度可以分為三個等級、分別是什么?簡單說說在你以前的項目(包括畢業(yè)設(shè)計項目)中,是如何進(jìn)行缺陷管理的?第二十五頁,共三十八頁,編輯于2023年,星期三ASP.NET中常用來實(shí)現(xiàn)動態(tài)菜單的兩種方法系統(tǒng)功能菜單的ASP.NET解決方案用TreeView實(shí)現(xiàn)動態(tài)菜單
用Accordion實(shí)現(xiàn)動態(tài)菜單
教員講解兩種方式的區(qū)別和應(yīng)用場景第二十六頁,共三十八頁,編輯于2023年,星期三使用TreeView控件動態(tài)生成菜單(1)我們以兩層菜單為例來講解動態(tài)菜單
MyOffice中SysFun表數(shù)據(jù)信息
屬性名稱
說明NodeId系統(tǒng)菜單的IDDisplayName系統(tǒng)菜單顯示的文本NodeURL系統(tǒng)菜單的連接地址ParentNodeId父菜單ID,ID為“0”,表示第一級菜單DisplayOrder在系統(tǒng)中顯示出來的順序SysFun表字段信息實(shí)現(xiàn)后的菜單效果第二十七頁,共三十八頁,編輯于2023年,星期三使用TreeView控件動態(tài)生成菜單(2)動態(tài)生成第一級菜單
展示所有的ParentNodeId為“0”的菜單布局母版頁MasterPage.master第二十八頁,共三十八頁,編輯于2023年,星期三使用TreeView控件動態(tài)生成菜單(3)protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){DisplayUserMenu();}}protectedvoidDisplayUserMenu(){tvUserRightMenu.Nodes.Clear();
IList<SysFun>parentSysFun=SysFunManager.GetAllParentNodeInfo();foreach(SysFunsfParentinparentSysFun){ stringnodeId=sfParent.NodeId.ToString(); stringdisplayName=sfParent.DisplayName; TreeNodefatherNode=this.CreatTreeNode(displayName, nodeId,“”,“Images/menuclose.gif”); tvUserRightMenu.Nodes.Add(fatherNode);}}生成第一級菜單后臺關(guān)鍵代碼得到系統(tǒng)菜單表中所有的第一級菜單得到第一層節(jié)點(diǎn)的ID得到第一層節(jié)點(diǎn)的顯示名根據(jù)節(jié)點(diǎn)信息,創(chuàng)建第一層節(jié)點(diǎn)將節(jié)點(diǎn)添加到TreeView中publicstaticIList<SysFun>GetAllParentNodeInfo(){returnSysFunService.GetAllParentNodeInfo();}對應(yīng)的業(yè)務(wù)處理層關(guān)鍵方法publicstaticIList<SysFun>GetAllParentNodeInfo(){stringsql="select*fromsysfunwhereParentNodeId='0'";returnGetSysFunBySql(sql);}對應(yīng)的數(shù)據(jù)訪問層關(guān)鍵方法查看生成第一級菜單關(guān)鍵后臺代碼第二十九頁,共三十八頁,編輯于2023年,星期三使用TreeView控件動態(tài)生成菜單(4)這時添加RoleManage.aspx運(yùn)行,只能看到第一級菜單如何生成父菜單對應(yīng)的子菜單呢?protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){DisplayUserMenu();}}protectedvoidDisplayUserMenu(){tvUserRightMenu.Nodes.Clear();
IList<SysFun>parentSysFun=SysFunManager.GetAllParentNodeInfo();foreach(SysFunsfParentinparentSysFun){ stringnodeId=sfParent.NodeId.ToString(); stringdisplayName=sfParent.DisplayName; TreeNodefatherNode=this.CreatTreeNode(displayName, nodeId,“”,“Images/menuclose.gif”);CreateChildTree(nodeId,fatherNode); tvUserRightMenu.Nodes.Add(fatherNode);}}在此處添加創(chuàng)建子菜單方法第三十頁,共三十八頁,編輯于2023年,星期三使用TreeView控件動態(tài)生成菜單(5)privatevoidCreateChildTree(stringnodeId,TreeNodefatherNode){IList<SysFun>childSysFun=SysFunManager.GetSysFunByParentNodeId(int.Parse(nodeId));foreach(SysFunsfChildinchildSysFun){ stringchildNodeId=sfChild.NodeId.ToString(); stringchildDisplayName=sfChild.DisplayName; stringnodeURL=ResolveUrl(sfChild.NodeURL.Trim()); TreeNodechildNode=this.CreatTreeNode(childDisplayName,childNodeId,nodeURL,"Images/CloseTree.gif"); AddTree(fatherNode,childNode);}}生成子菜單后臺關(guān)鍵代碼獲得父節(jié)點(diǎn)為nodeId的所有子節(jié)點(diǎn)將路徑轉(zhuǎn)換為在客戶端可用的URL根據(jù)節(jié)點(diǎn)信息,創(chuàng)建第二層節(jié)點(diǎn)將子節(jié)點(diǎn)添加到父節(jié)點(diǎn)中對應(yīng)的業(yè)務(wù)處理層關(guān)鍵方法publicstaticIList<SysFun>GetSysFunByParentNodeId(intparentNodeId){stringsql="select*fromsysfunwhereParentNodeId="+parentNodeId+"";returnGetSysFunBySql(sql);}對應(yīng)的數(shù)據(jù)訪問層關(guān)鍵方法publicstaticIList<SysFun>GetSysFunByParentNodeId(intparentNodeId){returnSysFunService.GetSysFunByParentNodeId(parentNodeId);}查看生成子菜單關(guān)鍵后臺代碼這時運(yùn)行程序?qū)崿F(xiàn)動態(tài)菜單效果第三十一頁,共三十八頁,編輯于2023年,星期三實(shí)現(xiàn)不同登錄用戶擁有不同的菜單項(1)不同的登錄用戶顯示不同的菜單權(quán)限分配需要用到的四張表之間的關(guān)鍵第三十二頁,共三十八頁,編輯于2023年,星期三實(shí)現(xiàn)不同登錄用戶擁有不同的菜單項(2)各表的關(guān)鍵數(shù)據(jù)信息權(quán)限分配原則是:一個用戶對應(yīng)一個角色,一個角色對應(yīng)多個權(quán)限以系統(tǒng)管理員和普通用戶身份分別登錄系統(tǒng)管理員登錄后看到的菜單普通用戶登錄后看到的菜單第三十三頁,共三十八頁,編輯于2023年,星期三實(shí)現(xiàn)不同登錄用戶擁有不同的菜單項(3)實(shí)現(xiàn)這個功能,只要在前面生成TreeView菜單的基礎(chǔ)上修改即可protectedvoidPage_Load(objectsender,EventArgse){
UserInfouser=(UserInfo)Session["CurrentUser"];if(!Page.IsPostBack){DisplayUserMenu(user.UserId);}}protectedvoidDisplayUserMenu(stringuserId){tvUserRightMenu.Nodes.Clear();
IList<SysFun>parentSysFun=SysFunManager.GetAllParentNodeInfoByUserId(userId);foreach(SysFunsfParentinparentSysFun){ stringnodeId=sfParent.NodeId.ToString(); stringdisplayName=sfParent.DisplayName; TreeNodefatherNode=this.CreatTreeNode(displayName, nodeId,“”,“Images/menuclose.gif”);
CreateChildTree(nodeId,userId,fatherNode); tvUserRightMenu.Nodes.Add(fatherNode);}}獲得登錄用戶信息修改顯示用戶菜單方法添加用戶Id參數(shù)根據(jù)用戶Id獲得對應(yīng)父節(jié)點(diǎn)信息創(chuàng)建子節(jié)點(diǎn)生成第一層節(jié)點(diǎn)修改后的后臺代碼第三十四頁,共三十八頁,編輯于2023年,星期三實(shí)現(xiàn)不同登錄用戶擁有不同的菜單項(4)生成子節(jié)點(diǎn)修改后的后臺代碼privatevoidCreateChildTree(stringnodeId,string
userId,TreeNodefatherNode){IList<SysFun>childSysFun=SysFunManager.
GetSysFunByParentNodeIdAndUserId(int.Parse(nodeId),userId);
foreach(SysFunsfChil
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Rilmazolam-生命科學(xué)試劑-MCE-2242
- cis-N-Acetyl-S-4-hydroxy-2-buten-1-yl-L-cysteine-d3-生命科學(xué)試劑-MCE-7054
- 3-4-MDPA-hydrochloride-生命科學(xué)試劑-MCE-3492
- 二零二五年度離婚后財產(chǎn)分割與共同生活費(fèi)用承擔(dān)協(xié)議
- 2025年度養(yǎng)老服務(wù)機(jī)構(gòu)專用房產(chǎn)租賃協(xié)議
- 二零二五年度貨車運(yùn)輸貨物跟蹤與反饋合同
- 2025年度股份占比協(xié)議書模板:知識產(chǎn)權(quán)入股股份占比協(xié)議書
- 二零二五年度企業(yè)食堂衛(wèi)生安全責(zé)任合同
- 2025年度越野輪車銷售與服務(wù)協(xié)議
- 跨學(xué)科知識體系的整合與實(shí)踐
- 2025年個人合法二手車買賣合同(4篇)
- 2025年山西國際能源集團(tuán)限公司所屬企業(yè)招聘43人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 青海省海北藏族自治州(2024年-2025年小學(xué)六年級語文)統(tǒng)編版隨堂測試(上學(xué)期)試卷及答案
- 外研版(三起)小學(xué)英語三年級下冊Unit 1 Animal friends Get ready start up 課件
- 江蘇省無錫市2023-2024學(xué)年高三上學(xué)期期終教學(xué)質(zhì)量調(diào)研測試語文試題(解析版)
- 銅礦隱蔽致災(zāi)普查治理工作計劃
- 《民航安全檢查(安檢技能實(shí)操)》課件-第一章 民航安全檢查員職業(yè)道德
- 農(nóng)業(yè)行政執(zhí)法現(xiàn)狀及相關(guān)法律法規(guī)課件
- 部編版一年級下冊《道德與法治》教學(xué)工作計劃及全冊教案
- 三重一大事項決策流程
- 精密配電列頭柜介紹講義
評論
0/150
提交評論