《軟件測試技術 》課件課程簡介及第1章軟件測試基礎_第1頁
《軟件測試技術 》課件課程簡介及第1章軟件測試基礎_第2頁
《軟件測試技術 》課件課程簡介及第1章軟件測試基礎_第3頁
《軟件測試技術 》課件課程簡介及第1章軟件測試基礎_第4頁
《軟件測試技術 》課件課程簡介及第1章軟件測試基礎_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件測試技術課程性質:專業必修課學時安排:54+10任課教師:聯系電話:QQ:辦公地點:1軟件測試技術軟件測試,What?

軟件測試是為了發現錯誤而執行程序,軟件測試通過的程序可以認為是基本安全的。2軟件測試技術軟件測試師的“錢”景:軟件測試一般占整個項目開銷的30%到50%!一般軟件企業目前沒有專門的軟件測試師!國家的目標是軟件測試師與程序員1:1!對軟件測試師的要求更高!3軟件類型開發成本按階段分布%需求與設計實現測試控制軟件462034航空航天軟件342046操作系統331750科技計算軟件442630商業應用軟件442828課程導論本課程的學習任務本課程的主要教學內容學習本課程后達到的目的學習本課程所需的鋪墊知識本課程的學習方法本課程的考核方法4本課程的學習任務通過學習本課程來了解軟件測試領域的新知識、新技術和關鍵技能,同時學習軟件測試領域最常用的相關工具軟件的使用。5本課程的主要教學內容1軟件測試基礎2測試用例設計(單元測試)3軟件缺陷管理4軟件測試管理5軟件功能測試6軟件性能測試7測試實踐6本課程的主要教學內容1軟件測試基礎2測試用例設計(單元測試)3軟件缺陷管理4軟件測試管理5軟件功能測試6軟件性能測試7測試實踐7重點內容學習本課程后達到的目的能針對一個小型的被測試軟件獨立地或與他人協作完成測試工作。8學習本課程所需的鋪墊知識軟件工程和程序設計語言(C/C++、Java)。9本課程的學習方法本課程所涉及的軟件工具較多,而且有的軟件工具還涉及到在不同操作系統環境中的使用。要在理解的基礎上學習這些軟件工具,并且在學習過程中要學會舉一反三。10本課程的考核方法期末考試占50%,平時占30%,實驗占20%。說明:平時成績評定見平時成績考核方案。。。11第1章軟件測試基礎1.1軟件與軟件危機1.2軟件測試基本概念1.3軟件測試的分類1.4軟件測試流程121.1軟件與軟件危機例1用C語言編寫的實現“計算每個同學各門課程成績的平均分”的程序。13程序在什么地方完成輸入和輸出?#include<stdio.h>voidmain(){ intscores[40]; inttotal,average; inti; total=0; for(i=0;i<40;i++){ scanf("%d",&scores[i]); total=total+scores[i];} average=total/40; printf("%d",average); getch(); }缺陷一:輸入、輸出沒有提示。1.1軟件與軟件危機例1用C語言編寫的實現“計算每個同學各門課程成績的平均分”的程序。14能完成一個學生多少門課程的平均分求取?這個值是怎么提供的?#include<stdio.h>voidmain(){ intscores[40]; inttotal,average; inti; total=0; for(i=0;i<40;i++){ scanf("%d",&scores[i]); total=total+scores[i];} average=total/40; printf("%d",average); getch(); }缺陷二:課程門數不能改變。1.1軟件與軟件危機例1用C語言編寫的實現“計算每個同學各門課程成績的平均分”的程序。15當輸入學生成績時不小心輸入了負數或非法字符,有沒有應對方案?#include<stdio.h>voidmain(){ intscores[40]; inttotal,average; inti; total=0; for(i=0;i<40;i++){ scanf("%d",&scores[i]); total=total+scores[i];} average=total/40; printf("%d",average); getch(); }缺陷三:輸入成績為負或非法字符,沒有錯誤提示,只是不能得到合理的結果。1.1軟件與軟件危機16既然程序有問題,那我修改!你的程序需要一個個輸入成績,但我的成績保存在數據庫。好,我再修改!我的成績在教務處的服務器中,要通過網絡訪問,這個程序應該是web方式,在瀏覽器中運行。這么多要求,你怎么不早說?你在編程之前有真正了解過我的要求嗎?。。。。。。。。。。。。1.1軟件與軟件危機什么是軟件?17軟件=程序?×1.1軟件與軟件危機18軟件=程序+數據結構+文檔程序是能夠完成事先設計的功能和性能的可執行的指令序列。數據是使程序能正常操縱信息的數據結構。文檔是程序開發、維護和使用有關的圖文資料。1.1軟件與軟件危機19軟件是:人的智力勞動成果;人的思維結果;計算機的邏輯部件,而不是物理部件。1.1軟件與軟件危機20軟件的特性:(1)軟件是一種邏輯實體,具有抽象性。(2)軟件的開發和制造是一個統一的過程。(3)軟件開發是一項經濟活動。(4)軟件不會磨損、老化,但會退化。(5)軟件的復雜度隨著規模的增大迅速增加。1.1軟件與軟件危機21軟件危機:自20世紀60年代以來,軟件的應用越來越廣泛,需求越來越迫切,規模也越來越大,但是軟件的生產率一直得不到提高,甚至出現了種種難以解決的問題,嚴重影響了軟件產業的健康發展,這一系列現象被稱為“軟件危機”。隨著硬件水平的不斷提高、軟件規模的不斷擴大,維護軟件成為了系統管理員的噩夢!1.1軟件與軟件危機22軟件危機的表現:(1)軟件開發的進度和成本難以預估和控制。1995年,美國共取消了810億美元的商業軟件項目,其中31%的項目未做完就被取消,53%的軟件項目進度通常要延長50%的時間,只有9%的軟件項目能夠及時交付并且費用也控制在預算之內。1.1軟件與軟件危機23軟件危機的表現:(1)軟件開發的進度和成本難以預估和控制。微軟公司2001年10月發布了WindowsXP系統,同時宣布啟動Vista的開發,最初預計2003年完成。在經歷了2005年初、2006年中的多次推遲,直到2007年1月31日才正式發布,歷時五年,投入了60億美元。1.1軟件與軟件危機24軟件危機的表現:(1)軟件開發的進度和成本難以預估和控制。

2008年上半年的統計數據顯示,中國軟件開發商不能按時完成軟件開發任務的比率超過50%,只有6.7%的企業對項目有嚴格的基于預算的財務管理和核算體系。1.1軟件與軟件危機25軟件危機的表現:(2)軟件的質量和可靠性差。

1996年6月4日,歐洲航天局研制的阿里亞娜五型火箭(Ariane5)的初次航行產生了災難性的后果。發射后僅僅37秒,火箭偏離它的飛行路徑,爆炸并解體了。火箭上載有價值5億美元的通信衛星,連同火箭本身6億美元付之一炬。后來的調查顯示,控制慣性導航系統的計算機向控制引擎噴嘴的計算機發送了一個無效數據。在將一個64位浮點數轉換成16位有符號整數時,產生了溢出。在設計Ariane4火箭的軟件時,軟件開發人員小心地分析了數字值,并且確定該數據絕不會超出16位。不幸的是,他們在Ariane5火箭的系統中簡單地重新使用了這一部分,而沒有檢查它所基于的假設。1.1軟件與軟件危機26軟件危機的表現:(3)軟件開發的結果常常不能滿足用戶需求。

美國政府統計署(GAO)2000年的數據:全球最大的軟件消費商--美國軍方--每年要花費數十億美元購買軟件,其中可直接使用的只占5%,另外5%需要做一些修改,其余90%都成了垃圾(Rubbish)。1.1軟件與軟件危機27軟件危機的表現:(4)軟件維護費用逐漸升高。1992年惠普公司的數據顯示,80%的人員和60%的費用用于軟件維護。維護需求來源于軟件錯誤、硬件系統的迅速更新和用戶需求的快速變化。1.1軟件與軟件危機28軟件危機的表現:(5)軟件產業發展落后于硬件的發展速度。軟件開發的生產率提高速度則遠遠慢于硬件,平均只有硬件的6%,導致信息系統中軟件的成本逐年上升,20世紀50年代,軟件成本在整個計算機系統成本中所占的比例為10%-20%。目前已經達到85%以上。1.1軟件與軟件危機29軟件危機的表現:(6)對軟件的需求越來越強,軟件規模越來越大。

1992年,微軟發布的第一個成功的Windows系統Windows3.1,其代碼規模是250萬行,Windows95上升到1500萬行,Windows98有1800萬行,WindowsXP則為3500萬行,WindowsVista的代碼行數達到了驚人的5000萬行。Windows7開發從2006年開始啟動,2009年10月22日正式發布,歷時3年。1.1軟件與軟件危機30軟件危機產生的原因:(1)軟件開發人員繼承下來的不良傳統。不注重軟件開發過程,忽視了分析、設計、測試、維護的工作。軟件確實容易修改,但難以正確地修改且不引入新的錯誤。越到軟件開發后期,軟件修改的代價越大。對于進度已落后的軟件開發計劃,增加人員只會讓其更加落后(Brooks法則)。缺少規范性,不注意信息交流,導致開發人員難以合作,軟件難以維護。1.1軟件與軟件危機31軟件危機產生的原因:(2)大型軟件開發問題。大型軟件開發項目需要組織很多的人力共同完成,而多數管理人員缺乏開發大型軟件系統的經驗,而多數軟件開發人員又缺乏管理方面的經驗。各類人員的信息交流不及時、不準確,有時還會產生誤解。軟件項目開發人員不能有效地、獨立自主地處理大型軟件開發的全部關系和各個分支,因此容易產生疏漏和錯誤,這也是導致軟件危機產生的一個原因。1.1軟件與軟件危機32軟件危機產生的原因:(3)用戶需求難以明確。在軟件開發出來之前,用戶自己也不清楚軟件開發的具體需求;用戶對軟件開發需求的描述不精確,可能有遺漏、有二義性,甚至有錯誤;在軟件開發過程中,用戶還提出修改軟件開發功能、界面、支撐環境等方面的要求;軟件開發人員對用戶需求的理解與用戶本來愿望有差異。1.1軟件與軟件危機33軟件危機產生的原因:(4)缺乏正確的理論指導,缺乏有力的方法學和工具方面的支持。由于軟件開發不同于大多數其他工業產品,其開發過程是復雜的邏輯思維過程,其產品極大程度地依賴于開發人員高度的智力投入。由于過分地依靠程序設計人員在軟件開發過程中的技巧和創造性,缺乏正確的理論指導,缺乏有力的方法學和工具方面的支持,從而加劇了軟件開發產品的個性化,這也是產生軟件危機的一個重要原因。1.1軟件與軟件危機34消除軟件危機的方法:(1)應該對計算機軟件有一個正確的認識。(2)必須充分認識到軟件開發應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工程項目。還有最重要的一點,及早開展軟件測試工作對消除軟件危機有很大的作用!

1.2軟件測試基本概念35軟件測試的發展歷史:軟件測試是伴隨著軟件的產生而產生的。早期因為軟件規模小、復雜程度低,測試的含義比較狹窄,開發人員將測試等同于“調試”。到了20世紀80年代初,軟件趨向大型化、復雜化,軟件的質量越來越重要。這個時候,一些軟件測試的基礎理論和實用技術開始形成。1.2軟件測試基本概念36軟件測試的概念:BillHetzel在《軟件測試完全指南》中指出:“測試是以評價一個程序或者系統屬性為目標的任何一種活動。測試是對軟件質量的度量”。1983年IEEE提出的軟件測試的定義是:“使用人工或自動的手段來運行或測定某個軟件系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。”1.2軟件測試基本概念37軟件測試的概念:軟件測試(SoftwareTesting),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出間的審核或者比較過程。——百度軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。1.2軟件測試基本概念38軟件測試的意義:軟件測試的意義在于保證發布出去的產品達到了一定的質量標準。軟件測試是幫助識別開發完成的計算機軟件的正確度、完全度和質量的軟件過程;是SQA(softwarequalityassurance)的重要子域。1.2軟件測試基本概念39軟件測試的目的:軟件測試的最終目的確保最終交給用戶的產品的功能符合用戶的需求,把盡可能多的問題在產品交給用戶之前發現并改正。1.2軟件測試基本概念40軟件測試的原則:(1)所有的測試都應追溯到用戶需求。(2)應盡早地和不斷地進行軟件測試。(3)在有限的時間和資源下進行完全測試。(4)測試只能證明軟件存在錯誤而不能證明軟件沒有錯誤。(5)充分關注測試中的集群現象。(6)程序員應避免檢查自己的程序。(7)盡量避免測試的隨意性。1.2軟件測試基本概念41軟件測試的質量度量:軟件測試質量度量的目的是改進軟件測試的質量,提高測試效率,改進測試過程的有效性。開展軟件測試質量度量,最關鍵的一項工作就是對軟件測試人員的工作質量度量。1.3軟件測試的分類42軟件測試的分類:“白盒”測試與“黑盒”測試根據是針對軟件系統的內部結構,還是針對軟件系統的外部表現行為來采取不同的測試方法,分別稱為“白盒”測試方法和“黑盒”測試方法。1.3軟件測試的分類43軟件測試的分類:②靜態測試與動態測試

根據程序是否運行,測試可以分為靜態測試和動態測試。1.3軟件測試的分類44軟件測試的分類:③手工測試與自動化測試:根據用人工的方法手動運行被測試軟件還是用工具自動控制被測試軟件運行將測試分為手工測試和自動化測試。1.3軟件測試的分類45軟件測試的分類:④基于生命周期的軟件測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論