軟件技術(shù)論文范文(2)
軟件技術(shù)論文范文篇二
軟件測試技術(shù)綜述
【關(guān)鍵詞】軟件測試技術(shù) 軟件工程 軟件質(zhì)量
眾所周知,由于通用計算機或芯片在各種系統(tǒng)中的廣泛使用,在工程中系統(tǒng)實現(xiàn)各種功能都離不開軟件來實現(xiàn)應(yīng)用功能,因而軟件重要性越來越顯突出,隨著軟件工程的發(fā)展,目前軟件的規(guī)模也逐漸越來越大,軟件的質(zhì)量已成為決定各種工程或武器系統(tǒng)的質(zhì)量乃至成敗的最重要因素之一。因此有必要更加重視軟件的質(zhì)量問題。而軟件測試作為軟件工程的一項重要組成部分也越來越受到重視。
1 對軟件測試的定義
在這里我們只討論狹義上的軟件測試。軟件測試是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼實現(xiàn)的最終審查。通常對軟件測試的定義有兩種描述:
定義1:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
定義2:軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例,并利用這些測試用例運行程序以及發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。
2 軟件測試流程和策略
2.1 軟件測試流程
軟件測試的流程可以細分為四個階段:單元測試,集成測試,確認測試(有效性測A試)和系統(tǒng)測試。單元測試針對軟件設(shè)計的最小單元A程序模塊,進行正確性檢驗的測試工作。它的目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯。集成測試在單元測試的基礎(chǔ)上,將所有模塊按照設(shè)計要求組裝成為系統(tǒng)進行測試。確認測試(有效性測試)驗證軟件的功能、性能和其它特性是否與用戶的要求一致。系統(tǒng)測試將測試的軟件作為整個計算機系統(tǒng)的一個元素與計算機硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機系統(tǒng)進行組裝測試和確認測試。
2.2 軟件測試的策略和技術(shù)
軟件測試的策略就是測試將按照什么樣的思路和方式進行。如采用什么技術(shù),什么步驟等。而軟件測試技術(shù)可以按照以下幾種方式來進行分類:
(1)黑盒(功能性)測試和白盒(結(jié)構(gòu)性)測試。
(2)靜態(tài)測試和動態(tài)測試。
(3)傳統(tǒng)測試方法和面向?qū)ο鬁y試的方法。
(4)特定環(huán)境及應(yīng)用的測試。
2.2.1 黑盒測試和白盒測試
(1)黑盒測試。黑盒測試又稱功能性測試、數(shù)據(jù)驅(qū)動測試、基于規(guī)格說明的測試。它 在已知軟件所應(yīng)具有的功能的基礎(chǔ)上,檢查程序功能能否按需求規(guī)格說明書的規(guī)定正常使用,功能是否有遺漏,性能等特性要求是否滿足。在進行黑盒測試時只需參照規(guī)格說明檢查軟件,不要求考察代碼,從用戶視角來對軟件進行測試。黑盒測試的目的在于檢測軟件功能是否正確和完整,檢測是否有人機交互和數(shù)據(jù)訪問錯誤,檢測軟件行為和性能是否滿足需求以及檢測軟件初始化和終止過程是否有錯誤。
黑盒測試要遵循以下的步驟:首先需要先根據(jù)規(guī)格說明書來生成測試用例,然后執(zhí)行測試并分析覆蓋標準,最后再根據(jù)所得結(jié)果來作出結(jié)論。
(2)白盒測試。白盒測試又被成為結(jié)構(gòu)性測試、邏輯驅(qū)動測試、基于程序的測試。它的與黑盒測試的區(qū)別在于我們在進行白盒測試的時候會將程序的執(zhí)行表現(xiàn)與編碼意圖作比較,并且關(guān)心軟件內(nèi)部設(shè)計和程序?qū)崿F(xiàn),而主要測試依據(jù)是代碼和設(shè)計文檔,這就能夠支持嚴格定義、數(shù)學(xué)分析和精確度量,從而更加準確的來評價一個軟件。
2.2.2 靜態(tài)測試和動態(tài)測試
(1)靜態(tài)測試。靜態(tài)測試廣義上包括了人工代碼檢查,軟件度量,程序結(jié)構(gòu)分析(自動審查)和自動編程規(guī)則檢查這些內(nèi)容。
(2)動態(tài)測試。動態(tài)測試包括覆蓋測試分析和運行時的錯誤檢測。
2.2.3 路徑測試
路徑測試是指根據(jù)路徑設(shè)計測試用例的一種技術(shù),經(jīng)常用于狀態(tài)轉(zhuǎn)換測試中?;韭窂綔y試法是在程序控制流圖的基礎(chǔ)上,通過分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,從而設(shè)計測試用例的方法。設(shè)計出的測試用例要保證在測試中程序的每個可執(zhí)行語句至少執(zhí)行一次。
2.2.4數(shù)據(jù)流測試
前面的測試針對程序的控制流路徑,檢查程序在各種條件值、各種決策下是否有錯。數(shù)據(jù)流測試主要測試程序中的數(shù)值流(覆蓋值傳遞路徑),檢測變量定義與使用的情況。它比較容易發(fā)現(xiàn)下列類型的錯誤:變量被定義,但是從來沒有使用;所使用的變量沒有被定義;變量在使用之前被定義兩次;其它定義不當(dāng)或使用不當(dāng)?shù)那闆r。
2.2.5 面向?qū)ο筌浖y試
面向?qū)ο蠹夹g(shù)開發(fā)出的程序更需要測試且對其進行測試將更復(fù)雜。面向?qū)ο筌浖c傳統(tǒng)的軟件存在不同的軟件結(jié)構(gòu),不同的開發(fā)方法且每個開發(fā)階段都有不同以往的要求和結(jié)果,針對面向?qū)ο筌浖男绿攸c,應(yīng)有一種新的測試模型
3 結(jié)論
軟件測試是一項非常重要的工作。有些觀點認為測試是極簡單的工作,誰都能進行軟件測試,還認為軟件測試技術(shù)要求不高,比編程容易多了,測試就是把數(shù)據(jù)輸進程序,看結(jié)果對不對,甚至認為測試是就體力活而已。這些觀點其實都是不正確的。軟件測試是一項非常需要智慧,耐心,協(xié)調(diào)以及溝通能力的一項工作,它包涵的內(nèi)容不光有深層次的技術(shù)性問題,也有管理方面的問題。如何才能做好軟件測試,光有技術(shù)上的水平仍然是不夠的,還必須要有好的團隊合作和細致的工作能力和態(tài)度。
軟件測試雖然能夠發(fā)現(xiàn)軟件中的問題,但是它并不能證明軟件中已經(jīng)不存在其它的問題了,因此要提高軟件的質(zhì)量,光靠軟件測試也還是不夠的,還需要全面的履行和落實軟件的質(zhì)量控制,這樣才能最大限度的減少軟件問題所引起的損失。
參考文獻
[1]徐世波.張健關(guān)于軟件質(zhì)量保證模型的研究[J].數(shù)字技術(shù)與應(yīng)用,2010(09).
[2]張瑤.白曉穎.張任偉.陸?zhàn)┮环N基于模型的測試充分性評估方法[J].計算機科學(xué),2013(02).
[3]徐冰霖.李戰(zhàn)懷基于數(shù)據(jù)操作的航天測控軟件測試復(fù)用模型[J].飛行器測控學(xué)報,2012(02).
作者單位
南京市玄武中等專業(yè)學(xué)校 江蘇省南京市 210042
看了“軟件技術(shù)論文范文”的人還看: