国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

軟件開發(fā)全過程檢測及測試自動化

2019-11-17 04:51:16
字體:
供稿:網(wǎng)友

  首先談?wù)勡浖y試。這可以說是一個非常令人捉摸不定的領(lǐng)域。“應(yīng)該怎樣對我們的產(chǎn)品進行測試?”和“怎樣才算對產(chǎn)品進行了足夠的測試?”等問題,對于不同企業(yè)的不同類產(chǎn)品、同一企業(yè)的不同類產(chǎn)品、或不同企業(yè)的同一類產(chǎn)品,實際操作上都會有很大的不同。

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

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

  單元測試(unit test ):

  由編程的開發(fā)人員自行計劃與完成的,針對單個或相關(guān)聯(lián)的一組程序單元的測試。

  組裝測試(inegration test ):

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

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

  測試整個系統(tǒng),以證實它滿足要求所規(guī)定的功能、質(zhì)量和性能等方面的特性。

  回歸測試(regression test ):

  用于驗證改變了的系統(tǒng)或其組件仍然保持應(yīng)有的特性。

  驗收測試(acceptance test ):

  測試整個系統(tǒng),以保證其達(dá)到可以交付使用的狀態(tài)。

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

  下面,談?wù)勡浖y試的其他方面的一些問題。

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

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

  1.測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;

  2.一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;

  3.一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。

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

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

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

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

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

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

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

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

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

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

  軟件測試的自動化

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

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

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

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

  3.測試結(jié)果與標(biāo)準(zhǔn)輸出的對比。

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

  5.總測試狀況的統(tǒng)計,報表的產(chǎn)生。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南安市| 长沙县| 洛川县| 广州市| 阿克苏市| 临潭县| 霍山县| 咸宁市| 密云县| 鹤岗市| 张家川| 德保县| 峡江县| 宜兴市| 古田县| 平罗县| 万宁市| 江阴市| 开阳县| 广德县| 平湖市| 来凤县| 松桃| 禹城市| 济阳县| 乌鲁木齐市| 阳曲县| 包头市| 合肥市| 静安区| 天镇县| 伊宁县| 龙陵县| 大方县| 化州市| 军事| 克东县| 广东省| 策勒县| 华坪县| 双江|