摘要:進入21世紀以來,我國信息技術有了很大進步。軟件測試這一術語是當今軟件工程領域使用頻率很高的術語。計算機軟件測試技術是為檢測程序運行的缺陷,幫助軟件安全運行。為了加深計算機的運行多樣化,方便進行相關操作,計算機的軟件程序要進行精準的測試,確保軟件運行程序的準確性,幫助檢查軟件運行的錯漏,并進行程序的優(yōu)化。除此之外,對計算機軟件進行檢測還可以解決其中存在的病毒,保證軟件安全。因此進行其軟件的深度開發(fā),可以確保其運行的安全穩(wěn)定,提升計算機的使用價值,否則計算機就只是一個空殼,該文從計算機軟件測試技術與深度開發(fā)模式來分析。
關鍵詞:標準;軟件測試;相關術語;辨析
引言
伴隨著全球范圍內計算機技術的迅速進步,各行業(yè)領域針對各類軟件的應用已經變得越來越普及,軟件在使用過程中的整體性能質量也越來越被人們所重視,而在這一過程中,針對軟件進行測試時了解軟件整體質量的一種重要手段。因此,對于從事相關領域工作的人員來說,了解當前較為常見的軟件自動化測試方法,認識軟件自動化測試環(huán)節(jié)中常出現(xiàn)的相關問題,對一些不建議采用軟件自動化測試的情境有所了解,便成為了其所必須要關注的課題。
1研究背景
軟件測試一直都是提升產品質量的重要手段,從20世紀70年代開始就已經在軟件行業(yè)被廣泛應用。發(fā)展到現(xiàn)在,軟件測試已經發(fā)展成了一個非常獨立的學科。有關數據顯示,只有通過運用正確的測試方法才能夠在第一時間降低軟件使用時發(fā)生故障的風險。在一些大型的軟件公司,其軟件測試人員的數量較多。我國早在1995年就發(fā)布了類似《GJB2423軟件測試和評估的通用要求》,后又在2004年直接改名為《GJB 141 軍用軟件測試指南》,實際也明確了軟件測試的內容、方法和程序,為的是更好地保證軟件使用的質量。但是隨著軍用軟件開發(fā)的規(guī)模變得越來越大,其應用的范圍也在不斷地擴大,勢必會對軟件質量提出更高的要求。
隨著信息技術的不斷發(fā)展,不同的軟件生產者和使用者都生存在競爭較為激烈的環(huán)境中。多數軟件開發(fā)商都會為了占有市場而不斷地提升產品的質量,以便不在激烈的競爭中被淘汰出局。
2軟件測試發(fā)展概述
什么是軟件測試?最常見的回答就是發(fā)現(xiàn)軟件產品中的bug(缺陷)。但是,也有人會認為軟件測試就是:檢查軟件產品是否符合設計要求;確認軟件產品需求、設計和實現(xiàn)的一致性;對軟件產品質量的全面評估;揭示軟件產品的質量風險等等。關于軟件測試術語會有很多不同的理解,這是由于軟件測試是伴隨著軟件的產生而產生的,類似軟件的發(fā)展歷史一樣,也有其自己的發(fā)展史,主要經歷了以下五個發(fā)展階段:
(1)1957年以前,以調試(Debugging)為主的階段。在這個早期階段,軟件規(guī)模小、復雜程度低,開發(fā)人員將測試等同于“調試”,經常是等到軟件產品基本完成時由開發(fā)人員自己完成測試,此時,“軟件測試”還未有明確的定義。
(2)1957~1978年,以證明(Demonstration)為主的階段。1957年,軟件測試開始與調試區(qū)別開來,作為一種發(fā)現(xiàn)軟件缺陷的活動。1975年,JohnGoodEnough和SusanCerhart給出了軟件測試的通用定義“證明軟件的工作是正確的活動”,這個理念被簡稱為“證實”。
(3)1979~1982年,以破壞(Destruction)為主的階段。1979年,GlenfordJ.Myers的代表論著《軟件測試藝術(TheArtofSoftwareTesting)》一書出版,對軟件測試重新進行了定義,認為軟件測試是為了“發(fā)現(xiàn)錯誤而執(zhí)行的活動”,這個理念又被稱為“證偽”。
(4)1983~1987年,以評價(Evaluation)為主的階段。1983年,BillHetzel在《軟件測試完全指南(CompleteGuideofSoftwareTesting)》一書中指出“測試是以評價一個程序或者系統(tǒng)屬性為目標的任何一種活動,測試是對軟件質量的度量”。此時,軟件測試不僅是發(fā)現(xiàn)錯誤的過程,還包含了軟件質量評價的內容。
(5)1988~至今,以預防(Prevention)為主的階段。人們已經開始意識到,軟件測試不應該僅是事后用來證明軟件是對的或是不對的,而應該走向前端進行缺陷預防。在2002年,Rick和Setfan在《系統(tǒng)的軟件測試》一書中進一步對軟件測試定義為“測試是為了度量和提高被測軟件的質量,對測試軟件進行工程設計、實施和維護的整個生命周期”,該定義進一步豐富了軟件測試的內容。
3計算機軟件測試技術
3.1Asterisk壓力測試
Asterisk有公開的源碼,能夠實現(xiàn)媒體處理軟件,Asterisk可以利用加載,擴展軟件編碼的算法,數據媒體也可以在核心處理單元中實行中轉,而且,媒體通道的管理也能夠更加地方便。例如,在point1和poin3之間建立一個處理通道,來進行媒體的處理,而point2就是它們的處理中介。首先,IPPBXcore直接與MediaControler交互,一些媒體處理,也能夠在IPPBX系統(tǒng)當中完成,建立媒體通道,或者是拆除它,除此之外,媒體事件有很多,也需要對此進行處理。IPPBXcore與MediaCon?troller之間,它們的標準協(xié)議有MGCPMegaco/H248。其次,Me?diaControler維護所有的邏輯,對于媒體通道的建立,要查詢路由表,申請中介端點源。最后,poit1的數據被接收,以此進行功能模塊的處理,并根據MediaController提供的路由信息,將一些數據交由中介point2來處理,之后,發(fā)送到translator_3當中,這樣,數據就能夠完成,到達point3當中。
3.2黑盒測試方法
黑盒測試是最常用的軟件測試方法,又被稱為驅動測試。黑盒測試時可以將測試的對象先看成一個黑盒子,實際也并不應該單獨考慮內部程序處理的過程。人們在實際測試時需要同時考慮合法的和不合法的相關內容。
黑盒測試的優(yōu)點表現(xiàn)在如下幾個方面:第一,相比其他測試方法,黑盒測試的方法比較簡單,并不需要測試者詳細地了解內部的代碼;第二,軟件內部的內容實際并不存在一定的關系;第三,用戶比較容易理解黑盒測試的原理,至少可以知道其需要用到哪些不同的功能。但是黑盒測試過程也不是完全沒有缺點,主要包括如下幾個方面:第一,不是所有類型的代碼都可以用黑盒測試的方法來測試的,所以此種方法使用的覆蓋率相對較低;第二,黑盒測試復用性程度較低。
3.3負載測試
我們都知道,計算機在運行狀態(tài)時,往往會出現(xiàn)多個軟件共同運行,為了確保系統(tǒng)的運行良好,對一些信息進行及時的處理,提高計算機的加載能力,就要進行負載測試,便于提高加載服務。例如,可以在海量數據的加載中進行任務調度。運用集中式的調度方法。通過任務調度器,將所有任務進行一系列的調度,然后,以此進行分配并且執(zhí)行。調度器會進行周期性的運行,與其他的一些軟件是同時運行著的。在任務調度器當中,要判斷是否能獲得一個任務,或者是能否獲得一個好的任務,如果不能獲得的話,就要進行等待。而在獲得的任務Task中,要注冊一個結果項;在調用任務執(zhí)行器時,在資源上執(zhí)行相關的任務;任務Task的執(zhí)行結果,需要保存在結果項當中。
3.4面向對象環(huán)境中的集成測試
兩種不同的策略:基于線程的測試(thread—basedtesting)。基于使用的測試(use—basedtesting)。驅動程序和樁程序:驅動程序和樁程序實現(xiàn)的功能有所不同。驅動程序能夠在顯示界面前就開始進行系統(tǒng)測試,而且其也能夠對類和低層的操作進行測試;而樁程序測試能夠在缺少類的情況下對類協(xié)作進行測試。
結語
整體來說,軟件自動化測試技術在絕大多數場景下,都能夠針對軟件的性能進行測試,因此具有重要的使用價值,但是作為相關場景工作人員來說,仍然需要區(qū)分軟件自動測試技術在使用過程中的誤區(qū)以及不適用情境,只有有效回避這些場景,才能讓此項技術得到更為有效的利用。
參考文獻
[1]張長華.計算機軟件測試技術探討[J].才智,2020(9):241.
[2]杜娟,駱慶,張泉.計算機軟件測試技術與深度開發(fā)應用探討[J].電子測試,2017(19):127,126.
[3]顧吉堂.試析計算機軟件測試技術與深度開發(fā)應用[J].數字技術與應用,2017(8):225-226.
[4]牟亞飛.淺談計算機軟件測試技術與深度開發(fā)模式[J].西部皮革,2017,39(8):14.
作者簡介:黃曉(1985-)女,漢族,廣西柳州人,本科,主要從事軟件工程/軟件測試工作。