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

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

軟件測試概述

2019-11-17 04:51:59
字體:
供稿:網(wǎng)友
  信息技術(shù)的飛速發(fā)展,使軟件產(chǎn)品應(yīng)用到社會(huì)的各個(gè)領(lǐng)域,軟件產(chǎn)品的質(zhì)量自然成為人們共同關(guān)注的焦點(diǎn)。不論軟件的生產(chǎn)者還是軟件的使用者,均生存在競爭的環(huán)境中,軟件開發(fā)商為了占有市場,必須把產(chǎn)品質(zhì)量作為企業(yè)的重要目標(biāo)之一,以免在激烈的競爭中被淘汰出局。用戶為了保證自己業(yè)務(wù)的順利完成,當(dāng)然希望選用優(yōu)質(zhì)的軟件。質(zhì)量不佳的軟件產(chǎn)品不僅會(huì)使開發(fā)商的維護(hù)費(fèi)用和用戶的使用成本大幅增加,還可能產(chǎn)生其他的責(zé)任風(fēng)險(xiǎn),造成公司信譽(yù)下降,繼而沖擊股票市場。在一些要害應(yīng)用 (如民航訂票系統(tǒng)、銀行結(jié)算系統(tǒng)、證券交易系統(tǒng)、自動(dòng)飛行控制軟件、軍事防御和核電站安全控制系統(tǒng)等) 中使用質(zhì)量有問題的軟件,還可能造成災(zāi)難性的后果。   軟件危機(jī)曾經(jīng)是軟件界甚至整個(gè)計(jì)算機(jī)界最熱門的話題。為了解決這場危機(jī),軟件從業(yè)人員、專家和學(xué)者做出了大量的努力。現(xiàn)在人們已經(jīng)逐步熟悉到所謂的軟件危機(jī)實(shí)際上僅是一種狀況,那就是軟件中有錯(cuò)誤,正是這些錯(cuò)誤導(dǎo)致了軟件開發(fā)在成本、進(jìn)度和質(zhì)量上的失控。有錯(cuò)是軟件的屬性,而且是無法改變的,因?yàn)檐浖怯扇藖硗瓿傻模杏扇俗龅墓ぷ鞫疾粫?huì)是完美無缺的。問題在于我們?nèi)绾稳ケ苊忮e(cuò)誤的產(chǎn)生和消除已經(jīng)產(chǎn)生的錯(cuò)誤,使程序中的錯(cuò)誤密度達(dá)到盡可能低的程度。  給軟件帶來錯(cuò)誤的原因很多,具體地說,主要有如下幾點(diǎn):  ①、交流不夠、交流上有誤解或者根本不進(jìn)行交流  在應(yīng)用應(yīng)該做什么或不應(yīng)該做什么的細(xì)節(jié)(應(yīng)用的需求)不清楚的情況下進(jìn)行開發(fā)。  ②、軟件復(fù)雜性  圖形用戶界面(GUI),客戶/服務(wù)器結(jié)構(gòu),分布式應(yīng)用,數(shù)據(jù)通信,超大型關(guān)系型數(shù)據(jù)庫以及龐大的系統(tǒng)規(guī)模,使得軟件及系統(tǒng)的復(fù)雜性呈指數(shù)增長,沒有現(xiàn)代軟件開發(fā)經(jīng)驗(yàn)的人很難理解它。  ③、程序設(shè)計(jì)錯(cuò)誤  象所有的人一樣,程序員也會(huì)出錯(cuò)。  ④、需求變化  需求變化的影響是多方面的,客戶可能不了解需求變化帶來的影響,也可能知道但又不得不那么做。需求變化的后果可能是造成系統(tǒng)的重新設(shè)計(jì),設(shè)計(jì)人員的日程的重新安排,已經(jīng)完成的工作可能要重做或者完全拋棄,對其他項(xiàng)目產(chǎn)生影響,硬件需求可能要因此改變,等等。假如有許多小的改變或者一次大的變化,項(xiàng)目各部分之間已知或未知的依靠性可能會(huì)相互影響而導(dǎo)致更多問題的出現(xiàn),需求改變帶來的復(fù)雜性可能導(dǎo)致錯(cuò)誤,還可能影響工程參與者的積極性。  ⑤、時(shí)間壓力  軟件項(xiàng)目的日程表很難做到準(zhǔn)確,很多時(shí)候需要預(yù)計(jì)和猜測。當(dāng)最終期限迫近和要害時(shí)刻到來之際,錯(cuò)誤也就跟著來了。  ⑥、自負(fù)人更喜歡說:  '沒問題'  '這事情很輕易'  '幾個(gè)小時(shí)我就能拿出來'  太多不切實(shí)際的‘沒問題’,結(jié)果只能是引入錯(cuò)誤。  ⑦、代碼文檔貧乏  貧乏或者差勁的文檔使得代碼維護(hù)和修改變的異常艱辛,其結(jié)果是帶來許多錯(cuò)誤。事實(shí)上,在許多機(jī)構(gòu)并不鼓勵(lì)其程序員為代碼編寫文檔,也不鼓勵(lì)程序員將代碼寫得清楚和輕易理解,相反他們認(rèn)為少寫文檔可以更快的進(jìn)行編碼,無法理解的代碼更易于工作的保密(“寫得艱難必定讀的痛苦”)。  ⑧、軟件開發(fā)工具  可視化工具,類庫,編譯器,腳本工具,等等,它們經(jīng)常會(huì)將自身的錯(cuò)誤帶到應(yīng)用軟件中。就象我們所知道的,沒有良好的工程化作為基礎(chǔ),使用面向?qū)ο蟮募夹g(shù)只會(huì)使項(xiàng)目變得更復(fù)雜。 為了更好地解決這些問題,軟件界做出了各種各樣的努力。  人們曾經(jīng)認(rèn)為更好的程序語言可以使我們擺脫這些困擾,這推動(dòng)了程序設(shè)計(jì)語言的發(fā)展,更多的語言開始流行,為了使程序更易于理解開發(fā)了結(jié)構(gòu)化程序設(shè)計(jì)語言,如PL/1,PASCAL等;為了解決實(shí)時(shí)多任務(wù)需求開發(fā)了結(jié)構(gòu)化多任務(wù)程序設(shè)計(jì)語言,如Modula,Ada等;為了提高重用性開發(fā)了面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,如Simlasa等;為了避免產(chǎn)生不正確的需求理解,開發(fā)形式化描述語言,如HAL/S等,這使得建立基于自然語言的描述成為可能,人們以形式化語言來描述需求;為了支持大型數(shù)據(jù)庫應(yīng)用,開發(fā)了可視化工具,如Visual Studio、Power Builder等。程序語言對提高軟件生產(chǎn)效率起到了一定的積極作用,但它對整個(gè)軟件質(zhì)量尤其是可靠性的影響,與其他因素相比作用較小。  可能是因?yàn)槌绦蛘Z言基于嚴(yán)格的語法和語義規(guī)則,人們企圖用形式化證實(shí)方法來證實(shí)程序的正確性。將程序當(dāng)作數(shù)學(xué)對象來看待,從數(shù)學(xué)意義上證實(shí)程序是正確的是可能的。數(shù)學(xué)家對形式化證實(shí)方法最有愛好,在論文上談起來非常吸引人,但實(shí)際價(jià)值卻非常有限,因?yàn)樾问交C實(shí)方法只有在代碼寫出來之后才能使用,這顯然太遲了,而且對于大的程序證實(shí)起來非常困難。 受到其他行業(yè)項(xiàng)目工程化的啟發(fā),軟件工程學(xué)出現(xiàn)了,軟件開發(fā)被視為一項(xiàng)工程,以工程化的方法來進(jìn)行規(guī)劃和治理軟件的開發(fā)。  針對需求不確定的應(yīng)用,可以使用漸進(jìn)和迭代類的開發(fā)模型。還可以采用快速應(yīng)用程序開發(fā)(RAD)和協(xié)同應(yīng)用程序開發(fā)(JAD)技術(shù),由軟件開發(fā)者和用戶代表共同參與開發(fā)軟件規(guī)范。RAD和JAD的基本思路是開發(fā)者和用戶共同設(shè)計(jì)系統(tǒng)中的屏幕,開發(fā)者迅速地把實(shí)現(xiàn)這些屏幕的最基本功能編寫好,然后把它們交給用戶看,然后用戶和開發(fā)者回顧這些屏幕以確認(rèn)它們達(dá)到了用戶的要求,這個(gè)周期一直持續(xù)到系統(tǒng)的基本部分定義完畢。一旦設(shè)計(jì)被用戶接受,開發(fā)者將完成完全實(shí)現(xiàn)屏幕需要的代碼。RAD和傳統(tǒng)軟件開發(fā)項(xiàng)目之間的一個(gè)基本區(qū)別是:應(yīng)用程序RAD系統(tǒng)是按階段發(fā)布的。傳統(tǒng)項(xiàng)目一般一次發(fā)布,也叫“big bang”。RAD方法使用高效開發(fā)工具,開發(fā)者能夠非常迅速地設(shè)計(jì)出系統(tǒng)的基本屏幕,答應(yīng)用戶在開發(fā)周期中很早就能見識到系統(tǒng)將來看起來怎么樣,避免了在傳統(tǒng)開發(fā)項(xiàng)目中長篇大論并且枯燥難懂的說明。  IBM的Dr.Harlan Mills提出了凈室過程。凈室過程組合了形式化程序驗(yàn)證和統(tǒng)計(jì)過程控制(SPC)。在這種方法中,首先用正確性數(shù)學(xué)證實(shí)預(yù)防缺陷發(fā)生,然后用MTBF度量軟件質(zhì)量。凈室過程是一種相當(dāng)新的軟件開發(fā)方法,它要求軟件開發(fā)在治理方式和技術(shù)方法上作重大改變,非凡是要求SPC應(yīng)用到軟件的知識,這影響了其被廣泛的接受。
  硬件成本持續(xù)降低,可支持CASE工具運(yùn)行的新的強(qiáng)大的工作站和網(wǎng)絡(luò)已經(jīng)成為軟件工程使用的工作平臺,CASE工具可完成一些特定的軟件開發(fā)過程。這些工具提供給軟件設(shè)計(jì)者以圖形方式描述軟件設(shè)計(jì)的能力,這樣就易于維護(hù)、易于交叉檢查、易于理解。許多人(尤其是CASE工具供貨商)相信CASE工具扮演了解決軟件危機(jī)和拯救軟件工業(yè)的角色,但事實(shí)上我們看到的情形卻是許多公司花了大量的金錢買回的CASE工具但很少使用,原因在于這些工具執(zhí)行的過程與機(jī)構(gòu)的軟件設(shè)計(jì)過程不相適用。  在可以借助許多新的技術(shù)和工具進(jìn)行軟件開發(fā)的今天,軟件開發(fā)過程的成熟性問題開始引起人們的重視。這種產(chǎn)品一致性問題的主要癥結(jié)在于治理,因此人們將目標(biāo)轉(zhuǎn)向了治理的改善,一些以改進(jìn)軟件開發(fā)過程為目標(biāo)的活動(dòng)已經(jīng)展示出積極的結(jié)果。  以下是一些比較典型的文本。  SEI SW-CMM  ISO SPICE(Software PRocess Improvement and Capability dEtermination)  Bootstrap  ISO-9000-3  TickIT  Trillium  事實(shí)上,對于軟件來講,還沒有象銀彈那樣的東西。不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測試來找出,軟件中的錯(cuò)誤密度也需要測試來進(jìn)行估計(jì)。 測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。假如把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。因此,測試對于軟件生產(chǎn)來說是必需的,問題是我們應(yīng)該思考“采用什么方法、如何安排測試?”

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 聂拉木县| 前郭尔| 义乌市| 永川市| 阿合奇县| 沙洋县| 宽城| 南江县| 澄城县| 柳江县| 台东市| 彰武县| 行唐县| 中阳县| 新竹市| 建湖县| 马关县| 金堂县| 南充市| 井冈山市| 东山县| 鄯善县| 安义县| 彩票| 大石桥市| 文昌市| 乌海市| 中阳县| 伊吾县| 绥德县| 雅安市| 榆社县| 南郑县| 兴化市| 鹤岗市| 佳木斯市| 清远市| 新河县| 佛学| 灵丘县| 南汇区|