李浩 熊巧 丁建華
摘要:文章介紹了自動(dòng)化測(cè)試的理論、以及UFT運(yùn)行的基本原理,闡述了UFT在取證軟件中的應(yīng)用,搭建了一套自動(dòng)化測(cè)試框架,實(shí)現(xiàn)了對(duì)交付測(cè)試版本的冒煙測(cè)試,有效地提高了測(cè)試效率,節(jié)約了人力成本,具有較好的現(xiàn)實(shí)意義。
關(guān)鍵詞:UFT;取證;自動(dòng)化
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)35-0126-02
Abstract: The paper introduced the theory of automatic test, and the basic principle of UFT.Expounding the application of UFT in forensic software, building a set of automatic test framework, which could improve the test efficiency and save the human resource.
Key words: UFT; forensic; automation
隨著我國(guó)信息化技術(shù)的飛速發(fā)展,電子證據(jù)在公安機(jī)關(guān)案件偵破、法院審判、電子商務(wù)等諸多領(lǐng)域扮演著重要的角色。基于C/S架構(gòu)的取證產(chǎn)品依然是市場(chǎng)上的主流,面對(duì)敏捷開(kāi)發(fā)帶來(lái)的版本頻繁更迭,手工測(cè)試面臨巨大的挑戰(zhàn)。構(gòu)建自動(dòng)化測(cè)試框架,對(duì)交付版本完成基本的冒煙測(cè)試,不僅能夠減少大量重復(fù)的人力勞動(dòng),還能有效的控制產(chǎn)品質(zhì)量。
1 自動(dòng)化測(cè)試概述
在敏捷開(kāi)發(fā)過(guò)程中,版本更迭非常頻繁,每個(gè)版本都有大量重復(fù)的基本功能需要測(cè)試;不但浪費(fèi)時(shí)間而且容易引起測(cè)試人員的疲倦,甚至忽略部分功能的測(cè)試,對(duì)產(chǎn)品質(zhì)量造成一定的影響。自動(dòng)化測(cè)試,簡(jiǎn)而言之,就是用程序測(cè)試程序,以腳本的運(yùn)行來(lái)代替手工測(cè)試,它是測(cè)試人員測(cè)試思維的體現(xiàn)。
自動(dòng)化測(cè)試主要用于回歸測(cè)試,因?yàn)闇y(cè)試人員完全掌握回歸測(cè)試的預(yù)期結(jié)果,可以有效地提高測(cè)試效率。當(dāng)一個(gè)業(yè)務(wù)需要重復(fù)10次以上時(shí),自動(dòng)化測(cè)試的優(yōu)勢(shì)便顯現(xiàn)出來(lái)了,面對(duì)復(fù)雜重復(fù)的測(cè)試任務(wù),自動(dòng)化測(cè)試可以保證測(cè)試工作的可靠性、高效性。此外還能進(jìn)行24小時(shí)全天候不停歇的測(cè)試任務(wù)。當(dāng)面對(duì)多環(huán)境時(shí),比如win xp、win vista 、win7、win8、win10,且操作系統(tǒng)還有X86、X64之分,再加上各種瀏覽器、各種殺毒軟件的組合,測(cè)試工作量之大可想而知,而自動(dòng)化測(cè)試可以很好地解決這一問(wèn)題。
當(dāng)然,自動(dòng)化測(cè)試也有其弊端,其不可能完全代替手工測(cè)試,對(duì)于復(fù)雜邏輯來(lái)說(shuō),自動(dòng)化測(cè)試的編碼代價(jià)非常巨大;其次自動(dòng)化測(cè)試腳本編寫(xiě)有一定的門(mén)檻,對(duì)測(cè)試人員技術(shù)有一定的要求,技術(shù)的高低決定了腳本代碼質(zhì)量的好壞。
對(duì)于項(xiàng)目周期較長(zhǎng),系統(tǒng)升級(jí)較頻繁、且需求變更不大的產(chǎn)品可以適當(dāng)?shù)囊胱詣?dòng)化測(cè)試;對(duì)于周期較短的項(xiàng)目,自動(dòng)化腳本代碼編寫(xiě)還未完成,項(xiàng)目可能已經(jīng)接近尾聲,得不償失。
2 基本原理
要了解UFT的基本原理,我們首先要明確三個(gè)概念,它們分別是對(duì)象、對(duì)象屬性、對(duì)象庫(kù)。其中對(duì)象是構(gòu)成被測(cè)系統(tǒng)的基本元素;每個(gè)對(duì)象都有一個(gè)可以唯一標(biāo)識(shí)對(duì)象的屬性列表,稱之為對(duì)象屬性,其中屬性可以進(jìn)行設(shè)置,對(duì)象通過(guò)其屬性建立了與被測(cè)系統(tǒng)元素的一一對(duì)應(yīng)關(guān)系;對(duì)象庫(kù),顧名思義,就是對(duì)象的有序集合,在一次測(cè)試過(guò)程中涉及的被測(cè)系統(tǒng)的對(duì)象成為本次測(cè)試的對(duì)象庫(kù)。
UFT采用錄制/回放的技術(shù)原理。在錄制過(guò)程中,首先根據(jù)被測(cè)系統(tǒng),將對(duì)象識(shí)別并加入對(duì)象庫(kù),然后生成相應(yīng)的腳本;在回放過(guò)程中,首先根據(jù)要回放的腳本去對(duì)象庫(kù)中尋找相應(yīng)的對(duì)象,然后對(duì)被測(cè)系統(tǒng)進(jìn)行一系列的回放操作。
3 主要研究?jī)?nèi)容
3.1 需求分析
面對(duì)頻繁的版本更迭,搭建自動(dòng)化框架,完成基本的冒煙測(cè)試,有效的節(jié)約人力成本,是我們的根本目的。
首先需要關(guān)注測(cè)試的內(nèi)容。對(duì)取證軟件的取證部分進(jìn)行自動(dòng)化框架搭建,包括瀏覽器信息、下載取證、即時(shí)通信、郵件取證、數(shù)據(jù)恢復(fù)、系統(tǒng)痕跡、用戶痕跡、文件系統(tǒng)等八個(gè)模塊,而每個(gè)模塊下面又包含多個(gè)取證內(nèi)容,其取證對(duì)象內(nèi)容如圖2所示。
其次需要關(guān)注測(cè)試的顆粒度。被測(cè)目標(biāo)數(shù)據(jù)源中,設(shè)定每個(gè)模塊均有數(shù)據(jù),對(duì)各個(gè)模塊進(jìn)行基本的點(diǎn)擊操作,判斷數(shù)據(jù)的有無(wú),確定取證軟件取證功能的好壞;然后進(jìn)行相關(guān)數(shù)據(jù)的導(dǎo)出,確保導(dǎo)出功能可用。對(duì)于數(shù)據(jù)的準(zhǔn)確比對(duì),將是我們以后考慮的事情,本文不做討論。
3.2 用例設(shè)計(jì)
通過(guò)圖2我們可以看到,取證軟件包含對(duì)75個(gè)取證對(duì)象的取證功能。測(cè)試內(nèi)容較多,用例的設(shè)計(jì)需要考慮以下幾個(gè)方面:
1)要按照軟件的使用邏輯來(lái)設(shè)計(jì)。首先進(jìn)行取證軟件的打開(kāi),案件的新建,取證證據(jù)的添加,其次針對(duì)每一個(gè)模塊依次的進(jìn)行數(shù)據(jù)的取證,待每一個(gè)模塊取證完成后,關(guān)閉并退出取證軟件。
2)要把握好時(shí)間觀念。根據(jù)軟件的設(shè)計(jì)方案,將取證時(shí)間少的模塊首先進(jìn)行取證,取證耗時(shí)長(zhǎng)的模塊放到末尾進(jìn)行。
3)由于案件編號(hào)為唯一標(biāo)識(shí),不允許重復(fù),所以要達(dá)到腳本的重復(fù)回放,需要對(duì)取證案件的基本信息模塊進(jìn)行參數(shù)化設(shè)定。
4)加入相關(guān)的檢查點(diǎn)技術(shù),并將運(yùn)行結(jié)果寫(xiě)入報(bào)告,可以直觀的獲取測(cè)試結(jié)果,減少測(cè)試人員的工作量。
3.3 腳本編寫(xiě)
在腳本的編寫(xiě)過(guò)程中,主要依賴于UFT的錄制功能。但也會(huì)出現(xiàn)對(duì)象無(wú)法識(shí)別,回放出現(xiàn)錯(cuò)誤等現(xiàn)象,那就要求根據(jù)具體的情況進(jìn)行具體的分析。有可能是開(kāi)發(fā)人員沒(méi)有標(biāo)識(shí)相應(yīng)的對(duì)象屬性,也有可能是對(duì)象名稱重復(fù)導(dǎo)致,或者是無(wú)法識(shí)別錄制的對(duì)象,下面舉例說(shuō)明:
在取證的過(guò)程中,取證結(jié)果條數(shù)不確定。少則幾條,多則成百上千條,圖3展示了兩個(gè)不同取證數(shù)目的對(duì)比,左圖中的取證數(shù)據(jù)為1條,右圖中的取證數(shù)據(jù)為770條,若對(duì)每一條記錄都進(jìn)行ID標(biāo)識(shí),
3.4 結(jié)果分析
在自動(dòng)化測(cè)試完成后,UFT會(huì)將測(cè)試結(jié)果打印在測(cè)試報(bào)告中。我們需要對(duì)結(jié)果進(jìn)行分析,根據(jù)測(cè)試結(jié)果來(lái)判斷測(cè)試是否通過(guò),并檢查腳本是否完全完成了測(cè)試。
3.5 現(xiàn)實(shí)意義
引入自動(dòng)化測(cè)試框架后,從一定程度上有效地節(jié)約了人力成本。如圖5所示,圖表中縱坐標(biāo)代表人力花費(fèi)時(shí)間(人力/天),圖表橫坐標(biāo)代表各個(gè)版本號(hào)。從圖表中可以看到版本1在引入自動(dòng)化測(cè)試前,需要15人力/天,以3人為一測(cè)試小組,需要花費(fèi)5天的時(shí)間;但引入自動(dòng)化測(cè)試后,測(cè)試前期只需要進(jìn)行自動(dòng)化冒煙測(cè)試,節(jié)省的人力資源可以轉(zhuǎn)移到其他的項(xiàng)目上去,具有一定的現(xiàn)實(shí)意義。
4 結(jié)束語(yǔ)
本文闡述了UFT在取證軟件中的應(yīng)用,搭建了自動(dòng)化測(cè)試框架,實(shí)現(xiàn)了對(duì)交付測(cè)試版本的冒煙測(cè)試,有效地提高了測(cè)試效率,節(jié)約了人力成本,具有較好的現(xiàn)實(shí)意義。下一步將是在有效固定數(shù)據(jù)源的情況下實(shí)現(xiàn)數(shù)據(jù)的精確比對(duì),完全實(shí)現(xiàn)取證產(chǎn)品的自動(dòng)化測(cè)試。
參考文獻(xiàn):
[1] 余杰,趙旭斌. 精通QTP—自動(dòng)化測(cè)試技術(shù)領(lǐng)航[M]. 北京: 人民郵電出版社,2012.
[2] 韓濤. 基于QTP的稅收征管信息系統(tǒng)自動(dòng)化測(cè)試研究[D]. 西安: 西安電子科技大學(xué),2012.