軟件工程中軟件測試的必要性_第1頁
軟件工程中軟件測試的必要性_第2頁
軟件工程中軟件測試的必要性_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件工程中軟件測試的必要性1 軟件工程提升軟件健壯性分析軟件工程目前一直缺少一個(gè)明確的定義,但是目前業(yè)內(nèi)專家都一致認(rèn) 為軟件工程一般分為需求分析、設(shè)計(jì)、編碼及測試 4 個(gè)環(huán)節(jié)。其中前 面 3 個(gè)環(huán)節(jié)是整個(gè)軟件的編寫,而最后 1 個(gè)環(huán)節(jié)的軟件測試,則是通 過各種專業(yè)測試方法來測試軟件是否滿足軟件工程下的 10 種特性:可 修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng) 性、可移植性、可追蹤性和可互操作性。2 當(dāng)前軟件測試的現(xiàn)狀從對軟件工程的分析來看,軟件測試是保證軟件最終健壯性的最后一 個(gè)工序。但是,當(dāng)前很多軟件設(shè)計(jì)公司,在軟件測試方面投入的人力 物力都非常低,甚至沒有專門的軟件測

2、試部門,而是由一些軟件設(shè)計(jì) 人員兼職。雖然這樣也有了所謂的軟件測試這道工序,顯然因?yàn)檐浖?設(shè)計(jì)人員本身的先入為主,所以在軟件測試的過程中,往往不容易發(fā) 現(xiàn)潛在的問題。另外有的軟件測試人員僅僅把軟件推到市場上,部分 使用人員來進(jìn)行測試,雖然這也是一種測試方法,但是這種由用戶測 試的軟件測試環(huán)節(jié),更多的是在軟件的操作體驗(yàn)的測試,并不能夠發(fā) 現(xiàn)軟件潛在的bug,正確的軟件測試流程,應(yīng)該設(shè)計(jì)專業(yè)的測試軟件, 通過白盒測試的方法來針對軟件代碼進(jìn)行測試。而上述的僅僅測試界 面和操作,那只是軟件測試中的黑盒測試法,只有綜合白盒和黑盒, 才可能獲得更好的軟件測試效果。但是,目前能夠綜合這 2 種測試方 法的專

3、業(yè)軟件測試部門,還是非常稀缺的。這自然導(dǎo)致了國內(nèi)整個(gè)軟 件行業(yè)的軟件健壯性存在缺陷的主要原因之一。3 軟件測試重要性分析3.1 軟件危機(jī)下凸顯軟件測試的重要性軟件危機(jī)一直是 IT 行業(yè)的最重要的話題,其實(shí)在軟件危機(jī)這個(gè)名詞 出來之前,軟件工程就已經(jīng)初步有了核心流程,不過正是因?yàn)楹芏鄬?家有著自己的理論,所以讓軟件工程這門技術(shù)的解釋出現(xiàn)了很多不同 的版本,不過在眾多版本中,軟件測試始終占據(jù)一個(gè)重要的模塊。軟 件危機(jī)常見的表現(xiàn)就是因?yàn)檐浖陂_發(fā)的過程中,成本失控、時(shí)間跳 水、穩(wěn)定性和兼容性欠缺等諸多問題,而不得不一而再再而三的重新 開發(fā),特別是軟件在設(shè)計(jì)的過程中,對于可維護(hù)性、可修復(fù)性不重視, 導(dǎo)

4、致維護(hù)的成本占據(jù)了整個(gè)軟件生存周期的 90%以上,這很明顯是不正 常的。通常而言,軟件維護(hù)的成本應(yīng)該是軟件生存周期的 70%以下,超 過 70%,這個(gè)軟件最終的結(jié)局一定會(huì)失敗。軟件測試的過程,除了針對 軟件的運(yùn)行是否穩(wěn)定,同樣也會(huì)對軟件的可維護(hù)性進(jìn)行有效的判斷, 盡可能的避免軟件危機(jī)的產(chǎn)生,所以從軟件危機(jī)的角度上來看,軟件 測試在軟件工程中的地位無疑是非常重要的。3.2 軟件測試的必要性(1)是交流的問題,容易導(dǎo)致軟件接口處的錯(cuò)誤?,F(xiàn)代軟件設(shè)計(jì)已 經(jīng)不是單人作戰(zhàn)的模式,已經(jīng)上升到團(tuán)隊(duì)甚至全球軟件工程師通過互 聯(lián)網(wǎng)這個(gè)大平臺(tái)進(jìn)行合作,這種方式顯然對軟件工程規(guī)范要求更高。 其中交流往往就成了一個(gè)很

5、重要的問題,很多軟件工程師在設(shè)計(jì)的過 程中,盡可能的將自己負(fù)責(zé)的模塊做到完美,甚至也能夠考慮到模塊 間的借口問題。但是因?yàn)榻涣魃系牟槐?,或者忽視交流,往往?huì)產(chǎn)生 2 個(gè)模塊接口不兼容,甚至還會(huì)發(fā)生軟件需要重新改寫的問題。(2)軟件結(jié)構(gòu)有越來越復(fù)雜的趨勢。雖然軟件開始實(shí)施模塊化設(shè)計(jì) 方式,將一個(gè)軟件整體拆解成無數(shù)個(gè)小的系統(tǒng)模塊進(jìn)行設(shè)計(jì),然后將 設(shè)計(jì)好的模塊進(jìn)行統(tǒng)一封裝。這種化整為零的軟件設(shè)計(jì)方式的確有效 的改善了軟件復(fù)雜性的問題,但是同樣也面臨著模塊間的兼容問題, 不同設(shè)計(jì)師的設(shè)計(jì)風(fēng)格可能會(huì)導(dǎo)致軟件可維護(hù)性降低及可移植性降低, 特別是一些軟件開發(fā)公司,根本就沒有軟件工程的概念,其研發(fā)的軟 件產(chǎn)品

6、,更是漏洞百出,自然很難保證軟件產(chǎn)品的健壯性。(3)程序代碼的設(shè)計(jì)問題。目前一個(gè)軟件的誕生,往往會(huì)有好幾千 萬行的代碼,而且在軟件正式代碼編寫之前,還需要撰寫概要設(shè)計(jì)代 碼和詳細(xì)設(shè)計(jì)代碼,這些往往都給錯(cuò)誤埋下伏筆。如果程序設(shè)計(jì)代碼 撰寫不規(guī)范,沒有相應(yīng)的注釋,沒有相應(yīng)的模塊設(shè)計(jì),往往計(jì)算式發(fā) 現(xiàn)了軟件的錯(cuò)誤,最終維護(hù)起來,也很難讓維護(hù)工程師定位,甚至連 測試工程師也很難找到錯(cuò)誤的地方。(4)設(shè)計(jì)文檔的組成非常少。一個(gè)軟件產(chǎn)品的誕生,除了優(yōu)秀的代 碼設(shè)計(jì)之外,還要一份完善的代碼文檔,包括軟件的可行性研究、需 求分析、詳細(xì)設(shè)計(jì)、代碼編寫,以及軟件測試等工作流程中所需要的 一切的代碼文檔。如果代碼文

7、檔貧乏,甚至沒有,那么一旦在軟件測 試環(huán)節(jié),或者在軟件使用環(huán)節(jié),出現(xiàn)錯(cuò)誤時(shí),那就很難進(jìn)行維護(hù)調(diào)試 了。這時(shí)候的維護(hù)成本往往會(huì)比重新編寫一款軟件的成本還要低,可 見設(shè)計(jì)文檔的錯(cuò)誤撰寫給軟件健壯性的影響。(5)一些軟件測試工具和開發(fā)工具本身的問題,往往導(dǎo)致軟件出現(xiàn) 嚴(yán)重的bug。而且在設(shè)計(jì)階段,還很難發(fā)現(xiàn),因?yàn)槭潜旧碥浖y試工具 和軟件開發(fā)工具引起的,因?yàn)檐浖y試工具和開發(fā)工具實(shí)際上也是一 種軟件,如果這些軟件的健壯性有問題,自然也會(huì)導(dǎo)致測試結(jié)果出現(xiàn) 偏差,最終影響到軟件的健壯性。3.3 軟件測試成本過半證明了軟件測試的重要性軟件工程雖然在很多專家和權(quán)威機(jī)構(gòu)的定義有所偏差,但是無一例外, 對于軟件

8、成本構(gòu)成的分析上,軟件測試的成本一直占據(jù)了主要部分, 最低的認(rèn)為,軟件測試成本要占據(jù) 30%,最高的則認(rèn)為占據(jù)到 50%。如 果將后期維護(hù)成本也放在軟件測試板塊中,那么這個(gè)測試成本就會(huì)變 得更高。因?yàn)檐浖M(jìn)入維護(hù)期時(shí),一旦出現(xiàn)軟件需要進(jìn)行調(diào)試,那么 修復(fù)后的軟件依然要進(jìn)行軟件測試,否則很難保證調(diào)試后軟件依然能 夠保證健壯性。作為一個(gè)軟件系統(tǒng)的所有代碼,都是牽一發(fā)而動(dòng)全身, 修改了某處代碼,可能會(huì)影響到另外一個(gè)模塊的功能,所以在維護(hù)期 內(nèi),對軟件的任何變動(dòng),都需要進(jìn)行軟件測試,才能夠保證軟件接下 來的健壯性。但很明顯,如果將軟件測試工作放在軟件推出市場之前, 就來進(jìn)行有效的測試,那么對于軟件整個(gè)

9、生命周期的成本,將能夠得 到有效的降低。軟件測試的成本的高低,往往和軟件的質(zhì)量成正比, 而軟件質(zhì)量提升了,后期的維護(hù)成本就能夠有效的降低,所以綜合起 來,軟件測試這部分的成本支出是非常有必要的。4 軟件測試流程分析(1)建立獨(dú)立的軟件測試部門,測試部門領(lǐng)導(dǎo)應(yīng)該對這個(gè)專業(yè)非常 精通,而不是簡單的由開發(fā)人員兼職,這個(gè)測試部門需要從可行性研 究開始就應(yīng)該著手對軟件研發(fā)進(jìn)行測試,可行性研究的最終確認(rèn)應(yīng)該 也有軟件測試主管部門的簽字確認(rèn)才能夠進(jìn)行下一步的工作。(2)軟件測試工作不是等到軟件全部開發(fā)完畢才來進(jìn)行測試,而是 跟隨軟件設(shè)計(jì)的整改生命周期,針對每一個(gè)環(huán)節(jié)進(jìn)行測試,軟件測試 部門應(yīng)該擁有獨(dú)立的物理

10、部門和獨(dú)立于開放環(huán)境的測試環(huán)境,這樣才 能夠提供更加完善的軟件測試,盡可能的將軟件 bug 扼殺在搖籃里。( 3)軟件模塊測試,因?yàn)楝F(xiàn)在軟件設(shè)計(jì)都已經(jīng)進(jìn)入模塊化設(shè)計(jì)標(biāo)準(zhǔn), 比如一個(gè)完整的軟件是S,它有A B、C D等模塊構(gòu)成,那么對于 A 模塊的軟件設(shè)計(jì)過程中,就應(yīng)該有獨(dú)立的軟件測試人員進(jìn)行跟蹤,直 到A模塊被測試證明沒有隱患。以此類推,分別對 B、C D等模塊分 別進(jìn)行測試,合格以后,組裝后的軟件依然進(jìn)行測試,這樣才能夠最 終提升軟件健壯性。在軟件設(shè)計(jì)的過程中,其實(shí)測試人員是和軟件開 發(fā)人員并行工作的,而不是等到軟件設(shè)計(jì)完畢之后,再來對模塊進(jìn)行 測試,這種方法才能夠提升軟件測試的效果。5 結(jié)語軟件測試隨著軟件系統(tǒng)復(fù)雜性的不

溫馨提示

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

評論

0/150

提交評論