本站小編為你精心準(zhǔn)備了軟件工程中軟件測(cè)試的必要性參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
1軟件工程提升軟件健壯性分析
軟件工程目前一直缺少一個(gè)明確的定義,但是目前業(yè)內(nèi)專家都一致認(rèn)為軟件工程一般分為需求分析、設(shè)計(jì)、編碼及測(cè)試4個(gè)環(huán)節(jié)。其中前面3個(gè)環(huán)節(jié)是整個(gè)軟件的編寫,而最后1個(gè)環(huán)節(jié)的軟件測(cè)試,則是通過(guò)各種專業(yè)測(cè)試方法來(lái)測(cè)試軟件是否滿足軟件工程下的10種特性:可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性。
2當(dāng)前軟件測(cè)試的現(xiàn)狀
從對(duì)軟件工程的分析來(lái)看,軟件測(cè)試是保證軟件最終健壯性的最后一個(gè)工序。但是,當(dāng)前很多軟件設(shè)計(jì)公司,在軟件測(cè)試方面投入的人力物力都非常低,甚至沒(méi)有專門的軟件測(cè)試部門,而是由一些軟件設(shè)計(jì)人員兼職。雖然這樣也有了所謂的軟件測(cè)試這道工序,顯然因?yàn)檐浖O(shè)計(jì)人員本身的先入為主,所以在軟件測(cè)試的過(guò)程中,往往不容易發(fā)現(xiàn)潛在的問(wèn)題。另外有的軟件測(cè)試人員僅僅把軟件推到市場(chǎng)上,部分使用人員來(lái)進(jìn)行測(cè)試,雖然這也是一種測(cè)試方法,但是這種由用戶測(cè)試的軟件測(cè)試環(huán)節(jié),更多的是在軟件的操作體驗(yàn)的測(cè)試,并不能夠發(fā)現(xiàn)軟件潛在的bug,正確的軟件測(cè)試流程,應(yīng)該設(shè)計(jì)專業(yè)的測(cè)試軟件,通過(guò)白盒測(cè)試的方法來(lái)針對(duì)軟件代碼進(jìn)行測(cè)試。而上述的僅僅測(cè)試界面和操作,那只是軟件測(cè)試中的黑盒測(cè)試法,只有綜合白盒和黑盒,才可能獲得更好的軟件測(cè)試效果。但是,目前能夠綜合這2種測(cè)試方法的專業(yè)軟件測(cè)試部門,還是非常稀缺的。這自然導(dǎo)致了國(guó)內(nèi)整個(gè)軟件行業(yè)的軟件健壯性存在缺陷的主要原因之一。
3軟件測(cè)試重要性分析
3.1軟件危機(jī)下凸顯軟件測(cè)試的重要性
軟件危機(jī)一直是IT行業(yè)的最重要的話題,其實(shí)在軟件危機(jī)這個(gè)名詞出來(lái)之前,軟件工程就已經(jīng)初步有了核心流程,不過(guò)正是因?yàn)楹芏鄬<矣兄约旱睦碚摚宰屲浖こ踢@門技術(shù)的解釋出現(xiàn)了很多不同的版本,不過(guò)在眾多版本中,軟件測(cè)試始終占據(jù)一個(gè)重要的模塊。軟件危機(jī)常見(jiàn)的表現(xiàn)就是因?yàn)檐浖陂_(kāi)發(fā)的過(guò)程中,成本失控、時(shí)間跳水、穩(wěn)定性和兼容性欠缺等諸多問(wèn)題,而不得不一而再再而三的重新開(kāi)發(fā),特別是軟件在設(shè)計(jì)的過(guò)程中,對(duì)于可維護(hù)性、可修復(fù)性不重視,導(dǎo)致維護(hù)的成本占據(jù)了整個(gè)軟件生存周期的90%以上,這很明顯是不正常的。通常而言,軟件維護(hù)的成本應(yīng)該是軟件生存周期的70%以下,超過(guò)70%,這個(gè)軟件最終的結(jié)局一定會(huì)失敗。軟件測(cè)試的過(guò)程,除了針對(duì)軟件的運(yùn)行是否穩(wěn)定,同樣也會(huì)對(duì)軟件的可維護(hù)性進(jìn)行有效的判斷,盡可能的避免軟件危機(jī)的產(chǎn)生,所以從軟件危機(jī)的角度上來(lái)看,軟件測(cè)試在軟件工程中的地位無(wú)疑是非常重要的。
3.2軟件測(cè)試的必要性
(1)是交流的問(wèn)題,容易導(dǎo)致軟件接口處的錯(cuò)誤。現(xiàn)代軟件設(shè)計(jì)已經(jīng)不是單人作戰(zhàn)的模式,已經(jīng)上升到團(tuán)隊(duì)甚至全球軟件工程師通過(guò)互聯(lián)網(wǎng)這個(gè)大平臺(tái)進(jìn)行合作,這種方式顯然對(duì)軟件工程規(guī)范要求更高。其中交流往往就成了一個(gè)很重要的問(wèn)題,很多軟件工程師在設(shè)計(jì)的過(guò)程中,盡可能的將自己負(fù)責(zé)的模塊做到完美,甚至也能夠考慮到模塊間的借口問(wèn)題。但是因?yàn)榻涣魃系牟槐悖蛘吆鲆暯涣鳎鶗?huì)產(chǎn)生2個(gè)模塊接口不兼容,甚至還會(huì)發(fā)生軟件需要重新改寫的問(wèn)題。
(2)軟件結(jié)構(gòu)有越來(lái)越復(fù)雜的趨勢(shì)。雖然軟件開(kāi)始實(shí)施模塊化設(shè)計(jì)方式,將一個(gè)軟件整體拆解成無(wú)數(shù)個(gè)小的系統(tǒng)模塊進(jìn)行設(shè)計(jì),然后將設(shè)計(jì)好的模塊進(jìn)行統(tǒng)一封裝。這種化整為零的軟件設(shè)計(jì)方式的確有效的改善了軟件復(fù)雜性的問(wèn)題,但是同樣也面臨著模塊間的兼容問(wèn)題,不同設(shè)計(jì)師的設(shè)計(jì)風(fēng)格可能會(huì)導(dǎo)致軟件可維護(hù)性降低及可移植性降低,特別是一些軟件開(kāi)發(fā)公司,根本就沒(méi)有軟件工程的概念,其研發(fā)的軟件產(chǎn)品,更是漏洞百出,自然很難保證軟件產(chǎn)品的健壯性。
(3)程序代碼的設(shè)計(jì)問(wèn)題。目前一個(gè)軟件的誕生,往往會(huì)有好幾千萬(wàn)行的代碼,而且在軟件正式代碼編寫之前,還需要撰寫概要設(shè)計(jì)代碼和詳細(xì)設(shè)計(jì)代碼,這些往往都給錯(cuò)誤埋下伏筆。如果程序設(shè)計(jì)代碼撰寫不規(guī)范,沒(méi)有相應(yīng)的注釋,沒(méi)有相應(yīng)的模塊設(shè)計(jì),往往計(jì)算式發(fā)現(xiàn)了軟件的錯(cuò)誤,最終維護(hù)起來(lái),也很難讓維護(hù)工程師定位,甚至連測(cè)試工程師也很難找到錯(cuò)誤的地方。
(4)設(shè)計(jì)文檔的組成非常少。一個(gè)軟件產(chǎn)品的誕生,除了優(yōu)秀的代碼設(shè)計(jì)之外,還要一份完善的代碼文檔,包括軟件的可行性研究、需求分析、詳細(xì)設(shè)計(jì)、代碼編寫,以及軟件測(cè)試等工作流程中所需要的一切的代碼文檔。如果代碼文檔貧乏,甚至沒(méi)有,那么一旦在軟件測(cè)試環(huán)節(jié),或者在軟件使用環(huán)節(jié),出現(xiàn)錯(cuò)誤時(shí),那就很難進(jìn)行維護(hù)調(diào)試了。這時(shí)候的維護(hù)成本往往會(huì)比重新編寫一款軟件的成本還要低,可見(jiàn)設(shè)計(jì)文檔的錯(cuò)誤撰寫給軟件健壯性的影響。
(5)一些軟件測(cè)試工具和開(kāi)發(fā)工具本身的問(wèn)題,往往導(dǎo)致軟件出現(xiàn)嚴(yán)重的bug。而且在設(shè)計(jì)階段,還很難發(fā)現(xiàn),因?yàn)槭潜旧碥浖y(cè)試工具和軟件開(kāi)發(fā)工具引起的,因?yàn)檐浖y(cè)試工具和開(kāi)發(fā)工具實(shí)際上也是一種軟件,如果這些軟件的健壯性有問(wèn)題,自然也會(huì)導(dǎo)致測(cè)試結(jié)果出現(xiàn)偏差,最終影響到軟件的健壯性。
3.3軟件測(cè)試成本過(guò)半證明了軟件測(cè)試的重要性
軟件工程雖然在很多專家和權(quán)威機(jī)構(gòu)的定義有所偏差,但是無(wú)一例外,對(duì)于軟件成本構(gòu)成的分析上,軟件測(cè)試的成本一直占據(jù)了主要部分,最低的認(rèn)為,軟件測(cè)試成本要占據(jù)30%,最高的則認(rèn)為占據(jù)到50%。如果將后期維護(hù)成本也放在軟件測(cè)試板塊中,那么這個(gè)測(cè)試成本就會(huì)變得更高。因?yàn)檐浖M(jìn)入維護(hù)期時(shí),一旦出現(xiàn)軟件需要進(jìn)行調(diào)試,那么修復(fù)后的軟件依然要進(jìn)行軟件測(cè)試,否則很難保證調(diào)試后軟件依然能夠保證健壯性。作為一個(gè)軟件系統(tǒng)的所有代碼,都是牽一發(fā)而動(dòng)全身,修改了某處代碼,可能會(huì)影響到另外一個(gè)模塊的功能,所以在維護(hù)期內(nèi),對(duì)軟件的任何變動(dòng),都需要進(jìn)行軟件測(cè)試,才能夠保證軟件接下來(lái)的健壯性。但很明顯,如果將軟件測(cè)試工作放在軟件推出市場(chǎng)之前,就來(lái)進(jìn)行有效的測(cè)試,那么對(duì)于軟件整個(gè)生命周期的成本,將能夠得到有效的降低。軟件測(cè)試的成本的高低,往往和軟件的質(zhì)量成正比,而軟件質(zhì)量提升了,后期的維護(hù)成本就能夠有效的降低,所以綜合起來(lái),軟件測(cè)試這部分的成本支出是非常有必要的。
4軟件測(cè)試流程分析
(1)建立獨(dú)立的軟件測(cè)試部門,測(cè)試部門領(lǐng)導(dǎo)應(yīng)該對(duì)這個(gè)專業(yè)非常精通,而不是簡(jiǎn)單的由開(kāi)發(fā)人員兼職,這個(gè)測(cè)試部門需要從可行性研究開(kāi)始就應(yīng)該著手對(duì)軟件研發(fā)進(jìn)行測(cè)試,可行性研究的最終確認(rèn)應(yīng)該也有軟件測(cè)試主管部門的簽字確認(rèn)才能夠進(jìn)行下一步的工作。
(2)軟件測(cè)試工作不是等到軟件全部開(kāi)發(fā)完畢才來(lái)進(jìn)行測(cè)試,而是跟隨軟件設(shè)計(jì)的整改生命周期,針對(duì)每一個(gè)環(huán)節(jié)進(jìn)行測(cè)試,軟件測(cè)試部門應(yīng)該擁有獨(dú)立的物理部門和獨(dú)立于開(kāi)放環(huán)境的測(cè)試環(huán)境,這樣才能夠提供更加完善的軟件測(cè)試,盡可能的將軟件bug扼殺在搖籃里。
(3)軟件模塊測(cè)試,因?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)成,那么對(duì)于A模塊的軟件設(shè)計(jì)過(guò)程中,就應(yīng)該有獨(dú)立的軟件測(cè)試人員進(jìn)行跟蹤,直到A模塊被測(cè)試證明沒(méi)有隱患。以此類推,分別對(duì)B、C、D等模塊分別進(jìn)行測(cè)試,合格以后,組裝后的軟件依然進(jìn)行測(cè)試,這樣才能夠最終提升軟件健壯性。在軟件設(shè)計(jì)的過(guò)程中,其實(shí)測(cè)試人員是和軟件開(kāi)發(fā)人員并行工作的,而不是等到軟件設(shè)計(jì)完畢之后,再來(lái)對(duì)模塊進(jìn)行測(cè)試,這種方法才能夠提升軟件測(cè)試的效果。
5結(jié)語(yǔ)
軟件測(cè)試隨著軟件系統(tǒng)復(fù)雜性的不斷提升而變得越來(lái)越重要,如果現(xiàn)在的軟件設(shè)計(jì)公司依然按照傳統(tǒng)的軟件研發(fā),只注重軟件的功能設(shè)計(jì),而忽視軟件測(cè)試,通過(guò)不斷的壓縮測(cè)試成本,希望以此來(lái)提升軟件最終的利潤(rùn)作法已經(jīng)行不通了,只有將軟件測(cè)試做好、做精,才能夠提升軟件的健壯性,才能夠提升軟件的生存周期,才能夠降低軟件的整體成本。
作者:董倩范亞斌單位:石家莊學(xué)院