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

?

快速軟件測試策略

2017-05-22 00:50隋彬彬
科技視界 2017年4期

隋彬彬

【摘 要】軟件日益復雜,軟件測試工具、手段不成熟,測試人員不足,測試時間緊張等種種原因?qū)е卢F(xiàn)在國內(nèi)測試水平較差。針對現(xiàn)狀思考,綜合考慮測試時間和測試效果兼顧,制定程序靜態(tài)掃描的單元測試與探索性測試的系統(tǒng)測試相結(jié)合的快速測試策略。

【關鍵詞】快速測試;軟件質(zhì)量;測試策略

0 概述

(1)軟件測試現(xiàn)狀

隨著軟件的快速發(fā)展,軟件產(chǎn)品質(zhì)量面臨著前所未有的挑戰(zhàn),提高測試的效率、降低測試的成本,對軟件產(chǎn)品提高質(zhì)量和應對日趨激烈的市場競爭有著重要意義,而軟件質(zhì)量的提升主要靠軟件測試來實現(xiàn)。

統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試的工作量往往占到總工作量的40%以上,而在總成本中,測試成本要占30%~50%。盡管目前大部分公司已經(jīng)非常重視軟件測試,但軟件質(zhì)量提升的實際效果不盡人意,一部分原因是軟件測試方面的投入不足,更大一部分原因是軟件開發(fā)人員、甚至軟件測試人員的測試意識不足,測試時間不足,導致無法展開快速、有效的軟件測試。

(2)軟件測試面臨的問題

首先,國內(nèi)軟件相對起步較晚,現(xiàn)在在軟件開發(fā)上投入了大量的人力物力,相對而言在軟件測試方面沒有引起足夠的重視,更沒有進行成熟的軟件測試研究,軟件測試環(huán)境等測試資源國內(nèi)暫時沒有形成完善的氛圍。

其次,軟件測試人員較少,難以投入足夠的人力展開大規(guī)模的、規(guī)范的軟件測試,甚至在大部分公司軟件測試人員地位收入要低于軟件研發(fā)人員,軟件測試遠遠沒有引起重視。

第三,軟件發(fā)布時間緊湊,開發(fā)時間緊張,測試時間就會被大大縮短。測試的效果會大打折扣。

軟件日益復雜,軟件錯誤日益增多,軟件測試手段不成熟,測試人員不足,測試時間緊張等種種原因?qū)е履壳皣鴥?nèi)測試水平較差,軟件測試沒有完全展開。針對現(xiàn)狀思考,綜合考慮測試時間和測試效果兼顧,制定程序靜態(tài)掃描的單元測試與探索性測試的系統(tǒng)測試相結(jié)合,先進行程序靜態(tài)掃描的單元測試,通過后再進行探索性測試的系統(tǒng)測試的快速測試策略。

1 快速軟件測試策略

軟件測試是為了更快、更早的將軟件產(chǎn)品中存在的缺陷找出來,并敦促軟件開發(fā)人員盡快解決軟件缺陷,向客戶提供高質(zhì)量的產(chǎn)品。確定有效的軟件測試策略可快速找出軟件中的缺陷。

1.1 單元測試

單元測試是檢查軟件單元是否正確實現(xiàn)了詳細設計中的各項功能、性能要求,發(fā)現(xiàn)軟件單元內(nèi)可能存在的各種缺陷。

1.1.1 測試策略

針對單元測試目的,結(jié)合實際開發(fā)現(xiàn)狀,擬采用靜態(tài)測試工具對源代碼進行程序靜態(tài)掃描。

程序靜態(tài)分析是:在不運行代碼的前提下,通過詞法分析、語法分析、控制流等白盒測試技術對軟件源代碼進行掃描,驗證源代碼是否滿足規(guī)范性、安全性的一種代碼分析技術。

1.1.2 常用靜態(tài)分析技術

1.1.3 程序靜態(tài)掃描的優(yōu)缺點

程序的靜態(tài)分析與動態(tài)分析是相對應的兩種代碼分析技術,主要實現(xiàn)方式是通過對程序代碼的自動掃描發(fā)現(xiàn)隱含的程序缺陷,主要具有以下兩條優(yōu)點:

a)不執(zhí)行程序,對源程序不會產(chǎn)生任何破壞。程序靜態(tài)掃描不運行源代碼,只是通過靜態(tài)掃描對源代碼進行語法、結(jié)構(gòu)等方面的分析;

b)執(zhí)行速度快、效率高。成熟的程序靜態(tài)分析工具每秒可完成上萬行代碼的掃描,具有執(zhí)行速度快、效率高的特點。

程序靜態(tài)掃描的缺點也比較明顯:誤報率比較高,目前國際最好的程序靜態(tài)分析工具誤報率在5-10%之間,還是比較高的一個狀態(tài)。

在軟件程序?qū)崿F(xiàn)的過程中使用程序靜態(tài)分析工具對程序進行掃描,有助于快速發(fā)現(xiàn)代碼缺陷,提高代碼的質(zhì)量,是一種在節(jié)省人力物力的前提下快速的提升源代碼質(zhì)量的有效手段。

1.2 系統(tǒng)測試

系統(tǒng)測試的目的是:在真實或者仿真環(huán)境下檢驗軟件程序是否滿足“軟件研制任務書”和“軟件需求規(guī)格說明”規(guī)定的功能、性能等要求。

1.2.1測試策略

針對系統(tǒng)測試目的,結(jié)合人員緊張、開發(fā)時間短的實際開發(fā)現(xiàn)狀,擬采用使用探索性測試的測試策略對軟件程序進行功能、性能的合格性驗證。

探索性測試首先假設軟件存在某缺陷,然后對提出的假設進行逐步驗證。在進行探索性測試的過程中,學習知識、測試設計和測試執(zhí)行是在同一時間交叉進行的。探索性測試的核心是依據(jù)測試的實際情況,即時設計測試用例并在軟件程序上進行驗證,測試結(jié)束后將測試的結(jié)果整理形成“軟件測試報告”。

1.2.2探索性測試常用方法

探索性測試是對傳統(tǒng)測試技術的補充,它的關注點更多是有目的性地驗證程序是否存在某個缺陷。所以,探索性測試適用于所有的系統(tǒng)測試,但作為一種新興的軟件測試理論,它有著自己獨特的測試方法和管理方式。一般使用如下兩種方法來進行測試:

(1)結(jié)對測試法

結(jié)對測試的一般測試形式是兩名測試人員共同對一套軟件程序或者一臺機器展開測試。它要求必須有一名測試組長來負責統(tǒng)籌測試全程,進行合理的測試安排。測試組長制定合理的軟件測試計劃,依據(jù)計劃,測試成員兩兩組隊,分工合作。在測試過程中,兩位測試人員各有分工,一位進行測試操作,另一位主要負責提出建議、記錄測試發(fā)現(xiàn)的缺陷、提出測試過程中對程序的探索性問題等。

結(jié)對測試要求測試人員都能清晰地進行交流,因為當一名測試人員將自己的探索性想法與其他測試人員進行溝通時,極有可能會觸發(fā)其他測試人員的靈感,這種發(fā)散性的交流方式會碰撞出更多的思維火花,設計出更加準確、完整、符合實際測試情況的的軟件測試用例,這比傳統(tǒng)測試中要求測試人員按照固定的測試計劃進行軟件測試更有效率。除了以上優(yōu)點,結(jié)對測試還有以下優(yōu)點:

a)輕松的測試環(huán)境:輕松的測試環(huán)境將避免測試過程中測試人員產(chǎn)生的的枯燥和無聊情緒,明顯提高軟件測試效率;

b)良好的連續(xù)性:結(jié)對測試中,兩位測試人員分工明確,一名軟件測試人員專注于執(zhí)行測試,另一名軟件測試人員負責記錄及文檔整理,分工明確將大大增加測試的連續(xù)性,使測試具有更好的可持續(xù)性;

c)降低外界干擾:兩人組成一個小的團隊,其他無關人士前來打擾測試的機會將會大大降低,排除外界干擾 ,提高工作效率;

d)清晰的報告測試結(jié)果:結(jié)對測試中一人專注負責記錄和整理測試結(jié)果,這將使測試報告的數(shù)據(jù)清晰完整;

e)有利于培養(yǎng)新的測試人員:結(jié)對測試,兩兩結(jié)對,有經(jīng)驗的測試前輩趁此機會將探索性測試中規(guī)律性的經(jīng)驗傳授給新的測試人員,新的測試人員一邊學習一邊實踐,幫助新人快速成長,提升測試技能。

(2)會話測試法

探索性測試的創(chuàng)始人James Bach提出過另一種有效的測試方法:會話測試法。這種測試方法的優(yōu)點是既不影響探索性測試靈活性和探索性的特點,又能避免探索性測試人員松散不服從統(tǒng)一管理。目前是探索性測試所有方法中比較公認的一個有效的測試方法。

會話測試法中的會話主要包括兩部分:一部分是明確的測試主題,另一部分是可以被檢查的測試過程?!皽y試主題”指的是測試中想要發(fā)現(xiàn)的軟件缺陷或計劃完成被測試的功能?!翱梢员粰z查”是指階段性的軟件測試報告,該軟件測試報告來表征會話測試期間的工作成果。

持續(xù)時間1.5小時的會話測試為最優(yōu)會話測試,但這不是絕對的時間限制,一般而言小于45分鐘的會話測試稱之為短會話測試,大于2個小時的會話測試稱之為長會話。一般情況,每天可以使用會話測試法對軟件程序進行三輪測試。

會話測試中沒有固定的模式對測試步驟及測試用例進行規(guī)定和限制,依據(jù)測試人員和測試主題來進行靈活選擇和執(zhí)行,例如測試人員可能會從某項功能開展測試,也有可能從頻繁出現(xiàn)的缺陷打開測試入口。

1.2.3 探索性測試的優(yōu)缺點

探索性測試最大的特點是具有強大的缺陷發(fā)現(xiàn)能力,作為一種高效率的測試方法,主要具有以下優(yōu)點:

a)測試方式靈活、富有創(chuàng)造性和主觀能動性。它比傳統(tǒng)的測試方法更加靈活,例如探索性測試對測試文檔的要求沒有傳統(tǒng)測試那么嚴格,但是它能夠發(fā)現(xiàn)正常測試用例執(zhí)行以外的缺陷,更有效地發(fā)現(xiàn)隱性缺陷,發(fā)現(xiàn)很多正常途徑無法發(fā)現(xiàn)的缺陷也能夠激發(fā)測試人員的創(chuàng)造性和主觀能動性。

b)測試時間短,執(zhí)行效率高。測試學習、測試設計和測試執(zhí)行交叉進行,只對測試缺陷進行詳細的記錄,會大大縮短測試時間,為項目的整體開發(fā)節(jié)省大量時間。據(jù)統(tǒng)計,有經(jīng)驗的測試人員在使用探索性測試方法進行測試時,執(zhí)行測試的時間能占到測試總時間的80%,而測試設計只占總測試的20%。

探索性測試的缺點也是顯而易見的:對軟件測試工作沒有一個整體的規(guī)劃,不利于測試的規(guī)范化、標準化;重復性測試的幾率比傳統(tǒng)測試要大很多,很難確定哪些測試已經(jīng)執(zhí)行過。

在測試時間短、測試資源不充足的情況下,使用探索性的測試策略展開系統(tǒng)測試,可以有效快速地發(fā)現(xiàn)軟件缺陷,提高軟件質(zhì)量。

2 結(jié)論

軟件質(zhì)量是軟件的生命,由于軟件缺陷而造成經(jīng)濟損失、導致嚴重后果的事例屢見不鮮,軟件測試作為軟件質(zhì)量保證的重要手段一直都是軟件工程研究和應用的熱點。在有限的人力物力情況下,如何展開有效的軟件測試,顯著提升軟件質(zhì)量更是每個軟件研發(fā)人員的關注重點。

程序靜態(tài)掃描提升源代碼質(zhì)量、探索性測試保證軟件功能的合格性,二者有效地結(jié)合,在極短的時間內(nèi),節(jié)省開發(fā)人員精力的前提下,可以有效地達到軟件測試的目的,是一種有效的測試策略。

【參考文獻】

[1]張曉明,黃琳譯.軟件測試的藝術,機械工業(yè)出版社.

[2]朱少民編.軟件測試方法和技術,清華大學出版社,2005.

[3]汪穎譯.人月神話,清華大學出版社.

[4]呂靈,鮑臣禮.測試之美,機械工業(yè)出版社.

[5]“Parasoft C++test用戶手冊” Parasoft Corporation.

[6]朱昭俊.探索性測試方法分析,中船重工集團第七二二研究所.2012.

[責任編輯:朱麗娜]