亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        計(jì)算機(jī)軟件的測試方法研究

        2012-09-23 13:17:50文丨徐
        中國傳媒科技 2012年2期
        關(guān)鍵詞:功能測試測試用例軟件測試

        文丨徐 蕾

        引言

        計(jì)算機(jī)管理系統(tǒng)是一種運(yùn)用計(jì)算機(jī)的管理來代替手工管理的電子化系統(tǒng)。手工管理是比較靈活的,而用計(jì)算機(jī)管理則比較嚴(yán)謹(jǐn)、嚴(yán)肅和規(guī)范、可以提供正確的決策以及量化的管理、可以保證信息數(shù)據(jù)的可信可靠與完善。然而軟件是一種知識高度的密集以及復(fù)雜的邏輯產(chǎn)品,本身是無形的,因此存在一些錯誤是難免的。軟件產(chǎn)品質(zhì)量的問題一直是開發(fā)用戶以及開發(fā)人員所困擾的問題。軟件質(zhì)量是軟件產(chǎn)品具有滿足明確的或隱含需求能力的特征和特性總和。能發(fā)現(xiàn)軟件中存在的錯誤的方法有很多,其中一種就是軟件測試。也就是說軟件測試可以作為檢驗(yàn)軟件產(chǎn)品是否符合要求的一種手段。軟件測試的目的在于發(fā)現(xiàn)錯誤。軟件測試應(yīng)當(dāng)把盡早和不斷地測試作為開發(fā)者的準(zhǔn)則,程序員應(yīng)該避免測試自己的程序,測試工作應(yīng)該由獨(dú)立的專業(yè)的軟件測試人員或機(jī)構(gòu)來完成。在設(shè)計(jì)測試用例時,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件,充分注意測試中的群集現(xiàn)象。軟件開發(fā)人員通過使用一些設(shè)計(jì)分析的方法,并在各個階段結(jié)束之前,嚴(yán)格對設(shè)計(jì)分析的結(jié)果進(jìn)行技術(shù)的評審,以便滿足用戶的需求。人們的能力是有限的,審查時很難發(fā)現(xiàn)所有的缺陷和錯誤,而且還會在編碼階段產(chǎn)生很多錯誤,在正常投入運(yùn)行后,此類缺陷與錯誤最終會暴露出來。軟件測試需要在軟件投入運(yùn)行之前,對軟件進(jìn)行需求分析和概要設(shè)計(jì)以及詳細(xì)設(shè)計(jì)與編碼的復(fù)審,作為保證軟件質(zhì)量的關(guān)鍵的程序。測試人員需要做的工作是要站在用戶方角度來把握軟件開發(fā)整個過程與用戶的溝通與交流,理順業(yè)務(wù)的關(guān)系以及對業(yè)務(wù)需求的研究與理解,還要對其完整性與可用性和可維護(hù)性以及可靠性與正確性進(jìn)行必要的測試。

        軟件測試方法

        1.軟件功能測試

        圖1 功能測試流程

        1.1 功能測試流程

        軟件功能測試也稱為軟件行為測試,根據(jù)產(chǎn)品特征、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設(shè)計(jì)需求。功能測試的目的就是對產(chǎn)品是否達(dá)到合同技術(shù)協(xié)議書規(guī)定的功能進(jìn)行測試。功能測試包括邏輯功能測試、界面測試、易用性測試、安裝測試和兼容性測試。軟件功能測試流程如圖1所示。

        1.2 功能測試測試用例設(shè)計(jì)

        軟件測試是一個為了發(fā)現(xiàn)所存在的錯誤而對程序進(jìn)行執(zhí)行的過程,主要是依據(jù)開發(fā)的各個階段規(guī)格說明以及程序內(nèi)部設(shè)計(jì)的一些測試用例,并運(yùn)用這些測試用例來執(zhí)行程序,最終發(fā)現(xiàn)程序錯誤的過程。軟件測試是通過一些系統(tǒng)的測試方法來發(fā)現(xiàn)軟件中的一些錯誤,并提供相關(guān)的診斷信息,以便能很好的修正錯誤,來達(dá)到預(yù)防錯誤與降低軟件開發(fā)費(fèi)用的目的。測試用例一般分為正常系和異常系,對于正常系的測試,會輸入一些合法的數(shù)據(jù),對與異常系會輸入一些不合法的數(shù)據(jù),或者是設(shè)置不完整的運(yùn)行環(huán)境等。在醫(yī)療軟件中有一個模塊是存儲醫(yī)生對病人開藥的模塊,如果醫(yī)生運(yùn)行了該模塊就會把醫(yī)生開的藥物信息存入數(shù)據(jù)庫,當(dāng)然調(diào)用其它的模塊會把該信息讀取出來,這一讀,一寫,就會牽涉到許多功能。根據(jù)軟件的功能,寫出測試用例,比如給一組正常的數(shù)據(jù),看它是否被寫入數(shù)據(jù)庫,或者是給一個病人的ID號,能夠在畫面上正常的顯示,醫(yī)生給他開的藥物信息。特殊用例,比如說給一個病人的ID號,而這個病人在數(shù)據(jù)庫中沒有信息,畫面或者是模塊應(yīng)該做怎樣的處理。所以說用例是給出的各種可能發(fā)生的情況的業(yè)務(wù)數(shù)據(jù)。

        測試用例的好壞會對軟件的測試質(zhì)量產(chǎn)生直接的影響,它屬于測試工作的指導(dǎo)性的文件。它對測試工作的指導(dǎo)與控制的作用等同于設(shè)計(jì)的文檔對編碼指導(dǎo)的作用,這些在大系統(tǒng)當(dāng)中表現(xiàn)尤為突出以及權(quán)威。測試用例的關(guān)鍵內(nèi)容是預(yù)期產(chǎn)生結(jié)果和測試所用的輸入的數(shù)據(jù)是否吻合,且輸入的數(shù)據(jù)應(yīng)該是對測試功能整體的全面的覆蓋。

        2.軟件的性能測試

        2.1 軟件性能測試流程

        性能測試就是對產(chǎn)品是否達(dá)到合同技術(shù)協(xié)議書規(guī)定的性能指標(biāo)進(jìn)行驗(yàn)證。軟件性能測試一般包括三個方面:性能評測、負(fù)載測試和強(qiáng)度測試。每一方面的測試都有其不同測試目標(biāo)、測試技術(shù)、完成標(biāo)準(zhǔn)。本文主要通過負(fù)載測試,來對各種工作負(fù)載下系統(tǒng)的性能進(jìn)行確定。負(fù)載測試通過使測試對象承擔(dān)不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續(xù)正常運(yùn)行的能力。其測試目標(biāo)就是驗(yàn)證所指定的事務(wù)在不同的工作量條件下的性能行為時間。測試技術(shù)為使用為功能或業(yè)務(wù)周期測試制定的測試。通過修改數(shù)據(jù)文件來增加事務(wù)數(shù)量,或通過修改測試來增加每項(xiàng)事務(wù)發(fā)生的次數(shù)。在進(jìn)行負(fù)載測試時一定要注意:(1)負(fù)載測試應(yīng)該在專用的計(jì)算機(jī)上或再專用的機(jī)時內(nèi)執(zhí)行,以便實(shí)現(xiàn)完全的控制和精確的評測。(2)負(fù)載測試所用的數(shù)據(jù)庫應(yīng)該是實(shí)際大小或相同縮放比例的數(shù)據(jù)庫。軟件性能測試流程如圖2所示。

        圖2 性能測試流程圖

        2.2 測試工具

        性能測試的工具種類很多,簡單劃分為以下幾種:負(fù)載壓力測試工具、資源監(jiān)控工具、故障定位工具以及調(diào)優(yōu)工具。QA Load、Silk Performer、Load Runner、Web Runner都是主流的負(fù)載性能測試工具。本文采用Load Runner作為測試工具,它也可以作為監(jiān)控工具直接從中間件、數(shù)據(jù)庫以及主機(jī)自身提供的性能數(shù)據(jù)采集接口獲取性能指標(biāo),在負(fù)載壓力測試的同時對業(yè)務(wù)系統(tǒng)所處的測試環(huán)境進(jìn)行監(jiān)控。

        2.3 性能測試指標(biāo)

        性能指標(biāo)包括應(yīng)用性能、主機(jī)性能、網(wǎng)絡(luò)性能、多任務(wù)性能、可靠性、可用性、易用性、易學(xué)性、負(fù)載均衡等性能指標(biāo)。

        本文的合同技術(shù)協(xié)議書主要考察系統(tǒng)的功能模塊在某測試點(diǎn)下的最大并發(fā)數(shù)和響應(yīng)時間指標(biāo)。測試時、對服務(wù)器的CPU使用率、CPU等待隊(duì)列、磁盤傳輸率(Mb/s)、內(nèi)存頁交換率(頁/s)、網(wǎng)絡(luò)傳輸率(包/s)等指標(biāo)進(jìn)行監(jiān)控,編制服務(wù)器資源占用情況表,格式如表1所示。

        2.4 性能調(diào)優(yōu)

        性能測試調(diào)優(yōu)是為了改善系統(tǒng)某些方面的性能,而對系統(tǒng)軟件或硬件進(jìn)行的修改,它與負(fù)載測試是性能測試的兩個核心內(nèi)容,它們是多次交替進(jìn)行的。當(dāng)性能測試發(fā)現(xiàn)問題后,通過檢查如下幾方面來收集系統(tǒng)的信息以便診斷系統(tǒng):(1)應(yīng)用環(huán)境(如JDK版本);(2)應(yīng)用程序代碼;(3)數(shù)據(jù)庫配置參數(shù);(4)操作系統(tǒng)配置參數(shù);(5)硬件配置。如CPU的個數(shù)和主頻、磁盤的容量和速度及是否使用RAID,內(nèi)存大小等;(6)網(wǎng)絡(luò)狀況。是否會有網(wǎng)絡(luò)負(fù)載過重的情況;(7)問題的影響是什么,比如影響響應(yīng)速度或吞吐量等;(8)多少用戶遇到了問題,遇到問題的用戶與其他用戶的操作有什么不同(9)系統(tǒng)資源監(jiān)控的結(jié)果是否正常,如CPU和I/O是否正常;(10)問題是否集中在某一類模塊中;(11)是客戶端還是服務(wù)器出現(xiàn)問題;(12)實(shí)際負(fù)載是否超過了系統(tǒng)的負(fù)載能力;(13)是否未對系統(tǒng)進(jìn)行優(yōu)化。收集完以上必要的信息后,即確定調(diào)優(yōu)的具體目標(biāo),如:(1)提高系統(tǒng)吞吐量;(2)縮短響應(yīng)時間;(3)更好地支持并發(fā);(4)提高硬件配置(如CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等)。調(diào)優(yōu)完成后,再次進(jìn)行負(fù)載測試,確定調(diào)優(yōu)后的系統(tǒng)性能指標(biāo)是否達(dá)到合同技術(shù)協(xié)議書的要求。若仍未達(dá)到,則需要再次進(jìn)行調(diào)優(yōu),并讓開發(fā)方也改進(jìn)程序。

        表1 服務(wù)器資源占用情況表

        軟件測試工具

        對軟件產(chǎn)品進(jìn)行測試常用的測試工具是白盒測試與黑盒測試。其原理是通過依據(jù)選好的測試用例來作為輸入的執(zhí)行程序,并對程序行為進(jìn)行檢驗(yàn),判斷是否與所期待的結(jié)果一致。黑盒測試是根據(jù)需求的規(guī)格說明書來檢查程序功能能否滿足它的功能,而不用涉及內(nèi)部的程序邏輯結(jié)構(gòu)以及一些內(nèi)部特性。黑盒測試也就是通常所說的功能測試法,主要是檢驗(yàn)程序是否與功能相一致。因此在選用測試用例時,把重點(diǎn)放在軟件功能方面,沒有涉及程序的細(xì)節(jié)以及內(nèi)部的結(jié)構(gòu)。所以黑盒測試應(yīng)該能檢驗(yàn)程序的功能實(shí)現(xiàn)情況。通過黑盒測試能發(fā)現(xiàn)接口的錯誤,數(shù)據(jù)結(jié)構(gòu)以及外部數(shù)據(jù)庫的訪問錯誤,性能與初始化以及終止和一些漏掉以及不正確的功能等錯誤。在實(shí)際工作中,開發(fā)人員會和別的模塊進(jìn)行聯(lián)調(diào)。這個時候只能夠用黑盒測試方法。首先開發(fā)人員把所有的模塊都組裝起來,然后根據(jù)業(yè)務(wù)的需求,對組合好的模塊進(jìn)行正常系的數(shù)據(jù)操作,如果發(fā)現(xiàn)有錯誤的輸出(業(yè)務(wù)邏輯的不正確),然后進(jìn)行分析,找到出錯點(diǎn),進(jìn)行分析,并修改,如果業(yè)務(wù)上沒有問題,這時候就需要對異常系進(jìn)行測試,一般的測試方法是對數(shù)據(jù)輸入不合法的數(shù)據(jù)。比如我們現(xiàn)在開發(fā)出一個醫(yī)療系統(tǒng)的病人情況輸入模塊,這個模塊要求輸入正確的病人信息,并把它們存儲到數(shù)據(jù)庫中。作為測試人員,他們不知道系統(tǒng)內(nèi)部的具體實(shí)現(xiàn)是什么,只知道從畫面上等輸入合法的數(shù)據(jù)后,在數(shù)據(jù)庫中就有數(shù)據(jù)。測試人員拿到該測試模塊后,首先進(jìn)行正常系的測試,輸入合法數(shù)據(jù),然后看數(shù)據(jù)庫,如果有數(shù)據(jù),說明該模塊的正常系通過。測試完正常系后,測試人員會輸入一些不合法的數(shù)據(jù),或者是輸入的數(shù)據(jù)不完整,這時候再看數(shù)據(jù)庫,如果數(shù)據(jù)庫中沒有數(shù)據(jù)被登錄(好的情況程序會彈出個消息框,提示客戶輸入的數(shù)據(jù)不合法),說明異常系被通過。白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計(jì)規(guī)格說明書的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。經(jīng)過白盒測試能發(fā)現(xiàn)一些邏輯的錯誤與一些假設(shè)和條件,以及一些預(yù)料之外的路徑,還包括一些語法上未發(fā)現(xiàn)的或印刷方面的錯誤。白盒測試主要用在代碼級的調(diào)試階段,這也是開發(fā)過程中經(jīng)常使用的。當(dāng)系統(tǒng)開發(fā)人員開發(fā)完成某一個模塊過后,需要對該模塊進(jìn)行測試,可能會遇到一些不可能預(yù)料的情況,比方說程序報(bào)白框了。如果代碼中用到指針了,有經(jīng)驗(yàn)的程序員可能會猜到是使用空指針了,它們會單步跟蹤到調(diào)用指針的模塊,也此來確認(rèn),是否真的是調(diào)用指針出了錯。還有一種情況是,測邏輯表達(dá)式,也會用到白盒測試。所以說,白盒測試是代碼級別的測試。

        結(jié)語

        隨著信息技術(shù)的快速發(fā)展,軟件規(guī)模越來越大,因此在軟件開發(fā)過程中,人們所面臨的問題錯綜復(fù)雜。然而在軟件生命周期的每個階段都不可避免出現(xiàn)差錯。軟件測試在軟件開發(fā)中起著重要重要的作用。軟件測試就是為了檢驗(yàn)合同技術(shù)協(xié)議書規(guī)定的功能和性能指標(biāo)是否達(dá)到標(biāo)準(zhǔn)。本文主要從軟件功能測試和性能測試這兩種方法來進(jìn)行分析的。

        猜你喜歡
        功能測試測試用例軟件測試
        某內(nèi)花鍵等速傳動軸八功能測試夾具設(shè)計(jì)
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        基于OBE的軟件測試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        基于混合遺傳算法的回歸測試用例集最小化研究
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        軟件測試工程化模型及應(yīng)用研究
        汽車儀表HMI功能測試介紹
        人事薪資管理系統(tǒng)軟件測試方案研究
        民用飛機(jī)機(jī)載電子硬件測試策略研究
        科技視界(2015年27期)2015-10-08 12:34:04
        美女视频一区二区三区在线| 人妻乱交手机在线播放| 九九视频免费| 久久久久中文字幕精品无码免费 | 亚洲精品国产老熟女久久| 精品免费久久久久国产一区| 一本久久综合亚洲鲁鲁五月夫| 中文片内射在线视频播放| 全亚洲高清视频在线观看| 亚洲成av人片在线观看| 国产精品99无码一区二区| 日韩人妻无码精品久久免费一 | 性色av闺蜜一区二区三区| 精品久久人人妻人人做精品| 国产精品一区二区暴白浆| 乱人伦中文字幕在线不卡网站| 放荡人妻一区二区三区| 国内揄拍国内精品久久| 国产精品熟女一区二区三区| 亚洲热妇无码av在线播放 | 精品一区二区av天堂色偷偷| 五月综合激情婷婷六月| 激性欧美激情在线| 五月婷婷激情小说| 欧美一级鲁丝片免费一区| 高清成人在线视频播放| 日韩 无码 偷拍 中文字幕| 中文字幕人妻无码一夲道| 国产亚洲av片在线观看18女人| 久久久久中文字幕无码少妇| 国产亚洲精品一区二区在线播放| 日本系列有码字幕中文字幕| 日本真人边吃奶边做爽动态图 | 国产视频精品一区白白色| 久久婷婷综合激情五月| av人摸人人人澡人人超碰妓女| 日韩欧美亚洲综合久久影院d3| 波多野结衣一区二区三区视频| 色哟哟精品中文字幕乱码| 亚洲无精品一区二区在线观看| 成人免费无码大片a毛片抽搐色欲|