国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件測(cè)試對(duì)于提高軟件質(zhì)量的作用

2017-03-06 20:16高欣
電子技術(shù)與軟件工程 2016年23期
關(guān)鍵詞:軟件開發(fā)軟件測(cè)試

高欣

摘 要

互聯(lián)網(wǎng)信息高速發(fā)展的大背景下,無論硬件軟件的復(fù)雜程度,還是技術(shù)含量都在日益提高,人們對(duì)軟件的需求也越來越高。與此同時(shí),軟件中存在的漏洞和缺陷也迅速成為黑客攻擊的對(duì)象,因此,建立一套高保障性的技術(shù)體系以保護(hù)軟件的研制和可靠性成為當(dāng)下社會(huì)研究的當(dāng)務(wù)之急。

【關(guān)鍵詞】軟件應(yīng)用 軟件開發(fā) 軟件測(cè)試

1 工程實(shí)例

1.1 測(cè)試過程

軟件開發(fā)是一個(gè)常規(guī)的過程,在當(dāng)今時(shí)代環(huán)境下,一般分為4個(gè)階段,每個(gè)階段中都需要對(duì)軟件進(jìn)行內(nèi)部測(cè)試,一般分為:靜態(tài)分析、代碼審查、單元測(cè)試、部件測(cè)試、配置項(xiàng)測(cè)試。

1.1.1 靜態(tài)分析

使用專業(yè)靜態(tài)分析工具,對(duì)軟件應(yīng)用的程序,數(shù)據(jù)等參數(shù)進(jìn)行剖析,并進(jìn)行深入的數(shù)據(jù)分析,將軟件應(yīng)用內(nèi)部的靜態(tài)信息和代碼信息提取出來,為未來的動(dòng)態(tài)測(cè)試提供參考數(shù)據(jù),并根據(jù)現(xiàn)在的軟件模型,對(duì)軟件的質(zhì)量做出正確評(píng)價(jià)。

1.1.2 代碼審查

主要是對(duì)代碼進(jìn)行一系列專業(yè)的檢查過程,對(duì)代碼的容錯(cuò)綠,代碼運(yùn)轉(zhuǎn)結(jié)果的一致性,代碼的可讀性等進(jìn)行檢查分析。重點(diǎn)對(duì)代碼的邏輯性,完整性進(jìn)行檢查,保證正確率。

1.1.3 單元測(cè)試

按照軟件設(shè)計(jì)的說明圖,模擬軟件運(yùn)行環(huán)境和運(yùn)行部件,針對(duì)軟件的環(huán)境進(jìn)行接口模擬,并創(chuàng)造出軟件的真實(shí)運(yùn)行環(huán)境,進(jìn)行測(cè)試,監(jiān)測(cè)軟件的運(yùn)行結(jié)果。

1.1.4 部件測(cè)試

按照被測(cè)軟件的說明圖,在單元測(cè)試的基礎(chǔ)上,將各個(gè)測(cè)試成功的單元模塊按需求和設(shè)計(jì)組裝成一個(gè)符合設(shè)計(jì)需求的整體功能模塊,并進(jìn)行測(cè)試,其目的是監(jiān)測(cè)軟件各個(gè)單元和接口之間的兼容性和容錯(cuò)率,保證軟件的設(shè)計(jì)成功。

1.1.5 配置項(xiàng)測(cè)試

所謂配置項(xiàng)是軟件中為滿足不同用戶的不通需求而設(shè)計(jì)的,能體現(xiàn)用戶個(gè)性化功能的配置功能項(xiàng),測(cè)試的目的是監(jiān)測(cè)配置項(xiàng)在軟件中的一致性。

1.2 問題現(xiàn)象

某產(chǎn)品軟件到了后期階段仍在進(jìn)行頻繁更改,通過對(duì)其分析,得出軟件復(fù)雜度高是其存在的主要問題:

(1)模塊在結(jié)構(gòu)上應(yīng)使用單出入口的結(jié)構(gòu),降低復(fù)雜性。

(2)在模塊的邏輯設(shè)計(jì)上進(jìn)行改進(jìn),采用分層次的結(jié)構(gòu),并在不同層次上設(shè)計(jì)不同的扇入扇出數(shù),保證模塊的扇出數(shù)較低,一般不超過7,并且盡可能的增加模塊的扇入數(shù),以保證代碼的簡(jiǎn)潔性。另外,高層模塊的設(shè)計(jì)應(yīng)該采取不同策略,比如高層模塊扇出較高,低層模塊扇入較高等。

(3)軟件單元的圈復(fù)雜度(即McCabe 指數(shù))應(yīng)小于10。

(4)簡(jiǎn)化軟件單元的源代碼數(shù)量,高級(jí)語言實(shí)現(xiàn)的單元,不應(yīng)超過60行。

1.3 問題分析

測(cè)試的目的是為了更正軟件的錯(cuò)誤,降低風(fēng)險(xiǎn)率,一般來說經(jīng)過幾個(gè)階段的測(cè)試后,軟件中的缺陷基本都能被修復(fù),但是沒有重視靜態(tài)分析中的軟件圈復(fù)雜度,基本復(fù)雜度超標(biāo)的現(xiàn)象,軟件在后期的高復(fù)雜性往往會(huì)帶來潛在的風(fēng)險(xiǎn)。

2 測(cè)試指導(dǎo)設(shè)計(jì)

2.1 軟件質(zhì)量的pareto原理

pareto原理[2] 指出,20%的軟件模塊包含了軟件中80%的缺陷,20%的軟件改進(jìn),需花費(fèi)80%的適應(yīng)性維護(hù)費(fèi)用。從這里可以得出結(jié)論,高復(fù)雜的模塊會(huì)導(dǎo)致軟件中可能出現(xiàn)的絕大部分錯(cuò)誤,而且不容易修復(fù)。因此,在軟件設(shè)計(jì)早起杜絕復(fù)雜度過高的風(fēng)險(xiǎn)十分必要。

2.2 降低軟件圈復(fù)雜度

2.2.1 圈復(fù)雜度定義

圈復(fù)雜度作為一個(gè)衡量軟件結(jié)構(gòu)復(fù)雜性的標(biāo)準(zhǔn),數(shù)量上表現(xiàn)為獨(dú)立線性路徑條數(shù),即合理的預(yù)防錯(cuò)誤所需測(cè)試的最少路徑條數(shù)。1976年ThomasMcCabe提出了圈復(fù)雜度(Cyclomatic Complexity)的概念,依據(jù)圈復(fù)雜度定義了軟件的復(fù)雜性。1977年Halstead提出了軟件科學(xué)復(fù)雜度度量。文獻(xiàn)[3],在這個(gè)理念中重點(diǎn)分析了嵌入式軟件的位置的重要性,并通過模型的方式展示了軟件復(fù)雜度的度量對(duì)識(shí)別代碼錯(cuò)位的重要性。可以看出,軟件的錯(cuò)誤和缺陷并非隨機(jī)分布的,而是有跡可循,和軟件的個(gè)性化,復(fù)雜度息息相關(guān)。

2.2.2 復(fù)雜度計(jì)算方法

C語言常用的軟件模塊邏輯結(jié)構(gòu)(結(jié)構(gòu)流圖)有如下幾種,如圖3所示。

2.2.3 降低圈復(fù)雜度

如果圈復(fù)雜度高于標(biāo)準(zhǔn)值的時(shí)候,可以提前做出判斷,降低代碼的復(fù)雜度和重復(fù)性。在判斷語句中采取單一的判斷條件,或者將重復(fù)代碼用一個(gè)函數(shù)來替代。都是降低代碼復(fù)雜度和重復(fù)性的有力措施。

2.3 降低軟件基本復(fù)雜度

運(yùn)轉(zhuǎn)正常的語句或代碼應(yīng)帶保證單入口和單出口結(jié)構(gòu),保證程序的簡(jiǎn)潔性,不應(yīng)過多使用異常跳轉(zhuǎn)語句增加程序的運(yùn)轉(zhuǎn)復(fù)雜度,如果非結(jié)構(gòu)化語句過多,出入口增大,只會(huì)導(dǎo)致結(jié)構(gòu)的復(fù)雜度增高,增加軟件后期運(yùn)行的風(fēng)險(xiǎn)。

因此,只要控制程序語句的結(jié)構(gòu)單一化,簡(jiǎn)單化,避免各種非正常跳轉(zhuǎn)語句的使用,復(fù)雜度就會(huì)在可控制的范圍內(nèi),有利于程序的運(yùn)行穩(wěn)定。

2.4 降低軟件扇出數(shù)

扇出的意思是函數(shù)調(diào)用其他函數(shù)的個(gè)數(shù),如果扇出過小,則會(huì)導(dǎo)致程序代碼過長(zhǎng),如果扇出過大,則會(huì)增加程序內(nèi)函數(shù)的調(diào)用次數(shù),影響速度,一般來說扇出最好為3或4個(gè),最高不超過7個(gè)。

扇入的意思是一個(gè)函數(shù)被其他程序調(diào)用的次數(shù),扇入較多會(huì)增加模塊的使用頻率,但是過高的扇入會(huì)影響程序的聚合性,如果扇出扇入次數(shù)過高,可以考慮重新調(diào)整該函數(shù)或過程。

3 結(jié)語

本文通過以測(cè)試結(jié)果來倒向改進(jìn)軟件設(shè)計(jì)的思路,提高了軟件的設(shè)計(jì)質(zhì)量和可靠性,可以看出,在軟件代碼內(nèi)部進(jìn)行早期分析,在軟件設(shè)計(jì)早期對(duì)軟件代碼,復(fù)雜度等指標(biāo)進(jìn)行優(yōu)化限制,對(duì)軟件后期的穩(wěn)定運(yùn)行,錯(cuò)誤率降低有非常大的影響和幫助,成為軟件改進(jìn)的新思路。

參考文獻(xiàn)

[1]尹平,許聚常,張慧穎.軟件測(cè)試與軟件質(zhì)量評(píng)價(jià)[M].北京:國(guó)防工業(yè)出版社,2008.

[2]SCHULMEYER G G.軟件質(zhì)量保證[M].北京:機(jī)械工業(yè)出版社,2003.

[3]JOHN C,MUNSON.Software faults,software failures and software reliability modeling[J].Information and Software Technology,1996(02).

作者單位

天津?yàn)I海職業(yè)學(xué)院 天津市 300451

猜你喜歡
軟件開發(fā)軟件測(cè)試
基于OBE的軟件測(cè)試課程教學(xué)改革探索
EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
智能電能表軟件測(cè)試技術(shù)概述
《軟件測(cè)試》課程教學(xué)策略研究
富民县| 淮阳县| 遵义县| 渭源县| 峡江县| 尼勒克县| 谢通门县| 喀喇沁旗| 民权县| 波密县| 阿荣旗| 三明市| 惠来县| 乌鲁木齐县| 鱼台县| 邻水| 武穴市| 阳谷县| 新化县| 宜章县| 应城市| 勐海县| 昌吉市| 乡城县| 宁德市| 买车| 兴业县| 洮南市| 麻阳| 中牟县| 巴林右旗| 阿瓦提县| 共和县| 萍乡市| 汕尾市| 东丽区| 慈利县| 河池市| 宜章县| 西平县| 舒城县|