麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

軟件開發全過程檢測及測試自動化

2019-11-17 04:51:16
字體:
來源:轉載
供稿:網友

  首先談談軟件測試。這可以說是一個非常令人捉摸不定的領域。“應該怎樣對我們的產品進行測試?”和“怎樣才算對產品進行了足夠的測試?”等問題,對于不同企業的不同類產品、同一企業的不同類產品、或不同企業的同一類產品,實際操作上都會有很大的不同。

  SEI的SW-CMM在它的成熟度第三級的“軟件產品工程”要害過程域中,把軟件開發周期中不同階段的測試作為實施活動中的要害實踐。(在SW-CMM版本2.0 的討論過程中,曾經有過提議,在成熟度第二級設立一個要害過程域“軟件測試治理”。但在版本2.0 的討論稿C 中,并沒有這樣做。從這里我們也可以看出,SW-CMM本身也是一個人為地制定的“軟件”。)

  一般地,基于開發周期中不同階段對不同對象所進行的測試,可劃分為:

  單元測試(unit test ):

  由編程的開發人員自行計劃與完成的,針對單個或相關聯的一組程序單元的測試。

  組裝測試(inegration test ):

  計劃于設計階段,由開發人員與測試人員合作完成的,針對結合起來的不同單元以及它們的接口的測試。

  系統測試(system test ):(可認為包括“可用性與圖形用戶界面測試”)

  測試整個系統,以證實它滿足要求所規定的功能、質量和性能等方面的特性。

  回歸測試(regression test ):

  用于驗證改變了的系統或其組件仍然保持應有的特性。

  驗收測試(acceptance test ):

  測試整個系統,以保證其達到可以交付使用的狀態。

  關于上述各階段的測試的具體內容及實現的方法,讀者可參考SW-CMM及有關軟件工程和軟件測試的書籍。千萬不要停留在只參考SW-CMM,因為該文件只講述要做些什么,而沒有介紹怎樣做。同時,所有的資料中談及的內容及方法,都是一般化的。對于一個特定軟件的測試,必須經過使用者對通用的測試方法的改變及改進,才能有效和達到高效率。

  下面,談談軟件測試的其他方面的一些問題。

  一個被人忽略的軟件測試目的

  在談到測試時,許多作者都引用了Grenford J. Myers 就軟件測試目的提出的以下觀點:

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

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

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

  這是一種比較狹窄的觀點。作為一個清醒的、縱觀全局的軟件開發人員或治理者,我們應當從軟件過程的角度來看測試。

  一個被人忽略的軟件測試目的是:測試可以幫助發現當前開發工作所采用的軟件過程(也是一個“軟件”)的缺陷,以便進行改進。(在以下的討論中,“錯誤”與“缺陷”基本上認為代表相同意義。) QQread.com 推出各大專業服務器評測 linux服務器的安全性能 SUN服務器 HP服務器 DELL服務器 IBM服務器 聯想服務器 浪潮服務器 曙光服務器 同方服務器 華碩服務器 寶德服務器 怎樣理解這種說法呢?

  首先,測試并不僅僅是為了要找出錯誤。分析錯誤產生的原因和錯誤在開發的哪一個階段產生,具有非常重要的意義。

  通過分析錯誤的原因,我們可以立即在開發行動中對其進行改正。同時,這種分析也能幫助我們推理出 與所分析的錯誤有關聯的潛在錯誤,從而有針對性地設計出檢測的方法。

  通過分析錯誤產生于哪一個開發階段、而又在哪一個階段被發現,我們可以判定從錯誤的產生到錯誤的發現,跨越了多少個開發階段。軟件開發的一條重要原則是盡早發現與修正錯誤。
(當然,更高的一條原則是盡量預防錯誤的出現。)一個錯誤能夠超越本開發階段而不被發現,就指明了該開發階段的檢測手段有缺陷,從而也不難有針對性地制定出加強的措施與辦法。這也就是軟件過程改進的一項重要內容。假如能做到在同一開發階段發現及修正錯誤,該開發機構就可以預期有一個高質量的產品及一個低成本、高效率的軟件過程。

  有些項目的主持人,認為以盡快的速度把測試之前的所有開發階段完成(實際并沒有完成),早日開始測試,以圖達到快速和高質量(因為似乎有更長的時間可用于測試)。實際的效果將會是俗語所說的“欲速不達”。從常識就可以知道,花開發時間去繼續擴大發展前面階段引入的錯誤,得出的只能是更大量的需要耗時修正的錯誤。

  因此,正確分析與利用測試的結果,我們可以非常有效地進行軟件過程改進。

  軟件開發全過程檢測,力爭本階段修正錯誤

  從上面的討論,我們很自然的就能領會到,軟件錯誤的發現絕不能等到測試才開始(按常規,最早的測試就是編碼后的單元測試)。因此,筆者提出一個軟件工程的守則:軟件開發全過程檢測,力爭本階段修正錯誤。單元測試是在軟件開發的“實現階段”才開始的,在此之前的“可行性研究與計劃階段”,“需求分析階段”,“概要設計階段”,和“具體設計階段”,都必須有非常明確切實的手段與措施對開發結果進行檢驗,以保證階段的正確完成。

  怎樣判定一個軟件過程的優劣,怎樣進行軟件過程改進,都可以在這個守則的指導下進行。這個守則是簡單明確的,但因企業背景、條件的不同,開發環境條件的不同,項目產品的不同,實際的軟件過程的實現方法就會變化無窮。考慮實現這個原則的方法的時候,可以盡量多參考各種理論及經驗,但在選擇制定本企業開發實踐中使用的軟件過程時,就必須處處根據是否能給自身的項目帶來好處,以及自身的條件進行考慮。千萬不要僅僅為了滿足某個“標準”的提法而做一些無實際意義的工作。要盡量避免煩瑣,爭取做到簡單、有條理和有最大的效果。

  軟件測試的自動化

  軟件測試的工作量很大(據統計,會用到40% 的開發時間;一些可靠性要求非常高的軟件,測試時間甚至占到總開發時間的60% ),但測試卻是在整個軟件過程中極有可能應用計算機進行自動化的工作,原因是測試的許多操作是重復性的、非智力創造性的、需求細致注重力的工作。計算機就最適合于代替人類去完成這些任務。企業在這方面的投資,會對整個開發工作的質量、成本、和周期帶來非常明顯的效果。

  一些適于考慮進行自動化的測試操作為:

  1.測試個案的生成(包括測試輸入,標準輸出,測試操作指令等)。

  2.測試的執行寫控制(包括單機與網絡多機分布運行;夜間及假日運行。測試個案調用控制;測試對象、范圍、版本控制等。)。

  3.測試結果與標準輸出的對比。

  4.不吻合的測試結果的分析、記錄、分類、和通報。

  5.總測試狀況的統計,報表的產生。

  測試自動化與軟件配置治理是密不可分的。與測試有關的資源都應在配置治理中進行統一的計劃考慮。另外,測試工具的采用也是一個提高質量的要害,有些專用的測試工具能幫助發現一些用任何測試個案都難以觸及的錯誤。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产精久久久久久久 | 毛片免费视频观看 | 在线视频观看成人 | 久久艹国产精品 | 亚洲精品a级 | 欧美一级电影网站 | 毛片在线免费播放 | 日本xxxx视频| 国产成人精品一区二区视频免费 | chinesegv男男猛男无套 | 精品成人免费视频 | 永久免费不卡在线观看黄网站 | 黄色小视频免费在线观看 | 亚洲网站在线观看视频 | 亚洲人成网站在e线播放 | h色视频网站| 在线成人亚洲 | 久久久久久久一区 | 亚洲午夜免费电影 | 欧产日产国产精品v | 精品久久久91 | www.国产.com | 成人毛片免费视频 | 久久久国产精品电影 | 国产亚洲精品网站 | 男女亲热网站 | 视频一区 中文字幕 | 久久草草亚洲蜜桃臀 | 青青草在线免费观看 | 天天透天天狠天天爱综合97 | 毛片视频网站 | 免费午夜视频在线观看 | 国产成人综合在线观看 | 在线天堂资源 | 欧美精品一区自拍a毛片在线视频 | 136福利视频 | 精品中文字幕久久久久四十五十骆 | 一级做a爰性色毛片免费1 | 久久久久久亚洲国产精品 | 91精品观看91久久久久久国产 | 一区二区三区在线观看视频 |