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