摘 要:軟件在很多地方都是很重要的那么對其進行檢測也就顯得十分的重要。因為軟件檢測不僅僅是保證軟件質(zhì)量的關(guān)鍵所在,而且也是使得市場上的軟件達到一定的標準減少劣質(zhì)軟件的流通。在現(xiàn)在的市場上隨著經(jīng)濟的迅速發(fā)展,以往的軟件開發(fā)以及檢測的工藝已經(jīng)逐漸不能滿足市場上的要求了。本文主要以軟件開發(fā)時進行的檢測作出適當?shù)姆治?,并對其的?yīng)用作出合理的探討。
關(guān)鍵詞:軟件檢測;軟件開發(fā);應(yīng)用探析
中圖分類號:TP311.53
信息技術(shù)在迅速的發(fā)展,加快了軟件應(yīng)用到不同的領(lǐng)域,那么該產(chǎn)品在市場上的優(yōu)劣就成了一個需要重點關(guān)注的,因此對軟件進行檢測也必須相應(yīng)的進行。在現(xiàn)在的社會中,不管是開發(fā)商還是使用者,對于軟件的質(zhì)量上的要求都必須加強,這是現(xiàn)在市場上競爭激烈所形成的。因為不管是誰肯定都希望自己使用的軟件的質(zhì)量很好,而且可以避免因為使用劣質(zhì)軟件經(jīng)常出現(xiàn)事故和減少維護費用。
1 軟件檢測在市場上的重要性
對全部信息學(xué)科的工件都需要進行測試,那樣對于軟件開發(fā)有很大的作用。這是因為軟件進行程序設(shè)計開始就是要嚴格的控制其的安全性和穩(wěn)定性,所以對其進行測試是必要的。據(jù)統(tǒng)計得知,在定性的軟件開發(fā)時,對軟件進行檢測超過開發(fā)工作量的百分之四十,而且占在進行投資時的總成本的百分之三十到一半,況且對其進行維護投入人力和物力還要增加,這就說明該軟件測試在軟件開發(fā)時占的比重很大。
2 測試的目的及原則
軟件測試的目的就是發(fā)現(xiàn),就是模擬某種狀態(tài)來運行程序的過程,在此過程中發(fā)現(xiàn)缺陷,當然這里所講的“模擬某種狀態(tài)”就是測試用例,評價一個測試用例的優(yōu)劣在于它能否發(fā)現(xiàn)至今未發(fā)現(xiàn)的缺陷,以及發(fā)現(xiàn)至今未發(fā)現(xiàn)的缺陷的多少。測試的結(jié)果說明缺陷的存在,而不能證明被測軟件(系統(tǒng))沒有缺陷,也就是說對于一個復(fù)雜的被測軟件(系統(tǒng))來說,無論采取什么測試手段和測試用例都不能證明這個系統(tǒng)沒有缺陷,完美無缺,因此測試的原則就是以最少代價(時間和費用),檢測出隱藏在軟件內(nèi)的各種隱患(缺陷)甚至錯誤,更不能無休止地檢測。
3 關(guān)于軟件測試的團隊
(1)測試團隊由測試人員和管理人員(支持人員)組成,也可以將這兩部分人分為兩組---測試小組和管理小組,分別由各個小組的組長負全責,測試小組一般根據(jù)測試項目的需要臨時組建的,其生命周期比較短,在測評期間,測試組長是測試團隊與項目組的唯一聯(lián)絡(luò)接口,負責測試人員的工作安排、工作檢查、進度管理等一切與測試有關(guān)的技術(shù)工作管理。支持小組則是一個比較穩(wěn)定的部門,一般是一個常設(shè)機構(gòu),負責向測試小組提供后勤服務(wù)保障和一些日常的管理事務(wù);(2)軟件測試人員一般要對軟件開發(fā)有一定的了解,具有系統(tǒng)分析的能力,并要全面了解系統(tǒng),這對于編寫用例具有重要的作用,開軟件開發(fā)的過程中,開發(fā)人員一般只負責自己的那個模塊范圍,根據(jù)輸入條件、輸出要求進行編寫自己的軟件,而測試人員是對整個系統(tǒng)進行測試,因此要求測試人員對整個被測試系統(tǒng)有一個很高把控,甚至?xí)瘸绦蜷_發(fā)人員要求的更高。其實在一些規(guī)范的公司測試人員從軟件開發(fā)的初期都以質(zhì)量保證人員的身份參與到軟件的文檔的審核、代碼檢查、科等工作中,可測試性需求、測試用例的開發(fā)等等。因此,對于一名合格的測試人員來講,首先要看懂代碼、了解軟件開發(fā)整個過程,畢竟測試的目的是發(fā)現(xiàn)缺陷,與開發(fā)是密切相關(guān)的。軟件可以通過測試來發(fā)現(xiàn)缺陷,并更改錯誤來提高軟件的質(zhì)量。當然我們也要明白高質(zhì)量的軟件是編出來的、開發(fā)出來的而不是測試出來的,測試只是提高質(zhì)量的一個輔助手段。
4 如何進行檢測
想要進行檢測,就必須先了解測試時所需要進行的程序。其中包括:(1)要事先制定策劃,那么就要對所需要操作的事項進行合理的分配,并且整理好所需要的測試系統(tǒng);(2)將大的事項計劃好后,那就要對其進行合理的設(shè)計,那么就要對測試所要的數(shù)據(jù)和過程設(shè)計完善;(3)具體操作過程,對測試用例完成自動化腳本和員工手工實施的環(huán)節(jié);(4)就是實際操作過程;(5)對已經(jīng)操作完的測試工程和得到的數(shù)據(jù)進行處理,并且作出適當?shù)姆治?;?)將最后的結(jié)果經(jīng)過檢驗后確認其的價值是否重要,再根據(jù)其重要性進行適當?shù)墓芾怼?/p>
5 檢測時會出現(xiàn)的問題
(1)在軟件檢測的領(lǐng)域中,因為傳統(tǒng)的技術(shù)在不斷的更新,使得人們錯誤的以為新的科學(xué)技術(shù)可以解決很好的解決出現(xiàn)的任何問題。但是實際上,如果管理的人沒有很好的預(yù)期和從實際狀況出發(fā),那就很容易導(dǎo)致最初的期望難以實現(xiàn);(2)任何新的軟件測試剛剛進行開發(fā)是必然會出現(xiàn)很多問題,那么就需要對其進行適當?shù)男薷牟拍軡M足要求。但是很多時候想要將軟件的編程代碼進行更改會很容易影響到該軟件的其他部分,因此這就需要很多投入;(3)在有的時候用測試軟件是未發(fā)現(xiàn)缺陷,但是這不是代表軟件很正常,也有可能是因為檢測時剛好被漏過或者是進行檢測的軟件本身就有問題。所以要多留心檢測時所用的軟件和得到的結(jié)果,這樣才能最大限度的減少錯誤;(4)技術(shù)上出現(xiàn)的漏子?,F(xiàn)在很多地方都在使用軟件,但是就是因為隨著信息技術(shù)的發(fā)展過于迅速,給軟件測試帶來巨大的挑戰(zhàn)性。因為該軟件要與其它軟件之間的互動性要加強,還有就是批量生產(chǎn)的巨大和難以操作性,使得廠商難以很好的適應(yīng)并且隨步而行。
6 現(xiàn)代的新軟件檢測工序
6.1 黑盒檢測
這也可以稱為利用軟件的功能或者是數(shù)據(jù)情況進行測試的方法,這就要求要知道產(chǎn)品的所有功能,經(jīng)過檢測來確定這些功能的可行性。那么軟件檢測就是將那些程序當成一個密封的黑盒子,進行檢測的人員在接口處進行測試,但是它只是檢查那些程序有沒有達到原本設(shè)計的要求,還有就是輸入的數(shù)據(jù)能否很好的接收和進行處理后的信息完整性。并且它只是關(guān)注與程序外部的結(jié)構(gòu),不關(guān)注內(nèi)部的具體情況,重點是看軟件界面和軟件在使用時的具體功能。
6.2 白盒檢測
這也可以被稱之為結(jié)構(gòu)檢測和邏輯驅(qū)動上的檢測,這就要求要先知道產(chǎn)品的內(nèi)部構(gòu)造,經(jīng)過檢測來具體了解產(chǎn)品有沒有按照制定的程序運行。它的主要方式有邏輯驅(qū)動、基本路線的檢測等,這就要將所有的路線都測試,用于軟件檢驗證明其實用性。
(1)軟件如果有說明書,那就只需要對說明書上所說的去進行檢測和合理的分析。并且要認真審查說明書上的內(nèi)容是否正確或者是符合標準;(2)因為現(xiàn)在很多軟件的開發(fā)速度過快,造成對其適當?shù)倪M行說明軟件的情況比較差,就必須采用試探性的檢測,通過事先的預(yù)設(shè)條件進行設(shè)計過程,一個步驟一個步驟的將軟件的功能了解清楚;(3)對一些軟件可以先建立一個狀態(tài)的結(jié)構(gòu)圖,采取最好的方式清楚的將其成立的程序狀態(tài)描敘,把實際輸入和輸出所需要的數(shù)據(jù)情況和條件進行細化。假設(shè)該軟件過大和復(fù)雜,那么軟件測試時就需要很多人的幫忙,不一定要將其狀態(tài)結(jié)構(gòu)圖完整的描繪,選擇一些大體的方向就可以了。
7 結(jié)束語
我們之所以要進行軟件測試不只是說找出軟件的缺陷,而是要通過找到的不足之處進行合理的統(tǒng)計再來幫助現(xiàn)在開發(fā)軟件人員,也是為了在更快的基礎(chǔ)上將軟件盡可能的優(yōu)質(zhì)化。同時也可以對一些典型性的問題在很有對策的情況下很快的解決。也可以改良軟件測試的程序設(shè)置,給技術(shù)變革帶來可行性的基礎(chǔ)。鑒于本人對軟件開發(fā)以及檢測的實際了解不多,那么對于其實際應(yīng)用了解更加少,所以只能從部分情況進行探討。
參考文獻:
[1]張炯.軟件測試用例設(shè)計方法研究[J].計算機光盤軟件與應(yīng)用,2012(21):211-212.
作者簡介:李金鳳(1977-),女,山東廣饒人,碩士研究生,講師,主要研究方向:軟件開發(fā)、數(shù)據(jù)庫設(shè)計。
作者單位:東營職業(yè)學(xué)院,山東東營 257091