羅芬
摘要:軟件測試文檔審查是軟件第三方測試質(zhì)量保證的關(guān)鍵。人工審查雖然可以發(fā)揮測試人員的經(jīng)驗豐富的優(yōu)勢,但是具有很強(qiáng)的不確定性。基于此,論文設(shè)計并實現(xiàn)了一種軟件測試文檔自動審查系統(tǒng)。討論了文檔自動審查的相關(guān)問題,設(shè)計了文檔自動審查系統(tǒng)的功能模型,指出了文檔審查自動化系統(tǒng)應(yīng)實現(xiàn)的功能。
關(guān)鍵詞:文檔審查;Office服務(wù);數(shù)據(jù)庫
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)16-0065-02
1 背景
文檔審查是對委托方提交的文檔的完整性、一致性和準(zhǔn)確性所進(jìn)行的檢查[1]。這些文檔包括了比如軟件設(shè)計文檔、軟件需求規(guī)格說明、軟件用戶手冊等等一類應(yīng)用文檔[2]。這些文檔根據(jù)國軍標(biāo)的規(guī)定,都具有格式高度結(jié)構(gòu)化且長期穩(wěn)定不變的特點[3]。對于該類文檔的審查,由于它有大量重復(fù)格式的內(nèi)容,手工審查容易使審查者厭煩,造成出錯[2]。而且對于較長篇幅文檔某一部分的增刪查改操作不易進(jìn)行,在于安全方面也同樣限制于文件安全這一級[4]。文檔審查確定了審查所用的檢查單,為了適應(yīng)不同的文檔審查,需要用不同的檢查單,檢查單的設(shè)計或采用應(yīng)經(jīng)過評審并得到委托方的確認(rèn)。若將文檔審查按照其檢查單內(nèi)容轉(zhuǎn)化成為一個自動化系統(tǒng),可以讓審查者選擇審查內(nèi)容,然后借助辦公自動化軟件Office在編程方面提供的接口,使用計算機(jī)進(jìn)行文檔審查,審查的結(jié)果自動填入約定的檢查單,這樣可以提高文檔審查的正確性,減少人為的錯誤影響。
2 文檔審查自動化系統(tǒng)的設(shè)計
2.1 文檔審查自動化系統(tǒng)的前提
文檔格式高度結(jié)構(gòu)化,便于針對專項檢查內(nèi)容進(jìn)行審查,便于形成自動化生成系統(tǒng)。系統(tǒng)采用C++程序設(shè)計語言,在Visual C++6.0開發(fā)環(huán)境下開發(fā)設(shè)計,使用Oracle數(shù)據(jù)庫,變量命名采用匈牙利命名法。
2.2 系統(tǒng)的組成和基本功能
文檔審查自動化系統(tǒng)的基本功能包括文檔審查管理和審查結(jié)果文檔自動化生成兩方面。文檔審查管理將文檔審查單中的需要檢查的內(nèi)容合并到一起,然后針對這些內(nèi)容對文檔進(jìn)行審查,審查的結(jié)果作為關(guān)系數(shù)據(jù)庫中的記錄進(jìn)行管理,最后控制結(jié)構(gòu)和Office接口便可將記錄組合成審查結(jié)果生成審查結(jié)果單。
文檔審查自動化系統(tǒng)由三個部分組成(如圖1所示),包括:
1)文檔審查管理模塊;
2)文檔自動生成模塊;
3)文檔數(shù)據(jù)庫。
2.3 文檔審查管理模塊的組成和基本功能
2.3.1組成和基本功能
文檔審查管理模塊是由審查者提供選擇檢查內(nèi)容,將選定的檢查項組織在一起進(jìn)行檢查,并將檢查結(jié)果寫入數(shù)據(jù)庫的單元功能模塊,相當(dāng)于一個MIS系統(tǒng)。它主要由各檢查項的功能點組成,例如在軟件用戶手冊中是否存在自動編號項和軟件用戶手冊中的正文頁碼是否正確等等,各檢查項的功能通過Office提供的接口在后臺通過編碼實現(xiàn)。
2.3.2 工作流程
文檔審查管理模塊工作流程為:用戶選擇文檔需要審查的檢查點;將這些檢查點作為一個集合;判斷是否選擇結(jié)束,如果選擇結(jié)束,則啟動Office服務(wù),在文檔中對各檢查點逐一進(jìn)行檢查,將檢查結(jié)果寫入數(shù)據(jù)庫。如圖2所示。
2.4 文檔自動生成模塊組成和基本功能
2.4.1 組成和基本功能
文檔自動生成模塊主要是提供將文檔審查管理模塊審查的結(jié)果從數(shù)據(jù)庫中取出組合成文檔的功能。主要分為將審查結(jié)果從數(shù)據(jù)庫中讀取和生成審查結(jié)果文檔兩個部分。
2.4.2 工作流程
文檔自動生成模塊的工作流程如圖3所示,過程如下:
1)連接文檔數(shù)據(jù)庫;
2)讀取數(shù)據(jù)庫中文檔審查結(jié)果;
3)啟動Office服務(wù);
4)添加空白文檔并進(jìn)入文檔控制結(jié)構(gòu);
5)將文檔審查結(jié)果添加到文檔相應(yīng)固定位置;
6)保存文檔,關(guān)閉Office服務(wù)。
2.5 文檔數(shù)據(jù)庫
文檔數(shù)據(jù)庫采用Oracle來實現(xiàn),將文檔檢查單的內(nèi)容以關(guān)系表記錄的方式存儲于數(shù)據(jù)庫中。用戶選擇檢查內(nèi)容,檢查結(jié)果寫入文檔數(shù)據(jù)庫中,每一檢查結(jié)果對應(yīng)于相應(yīng)的檢查點。生成文檔時從數(shù)據(jù)庫中讀出結(jié)果形成結(jié)果報告。
文檔審查單是由事先制訂的審查規(guī)則組成,這些規(guī)則存儲于數(shù)據(jù)庫中,例如軟件設(shè)計文檔審查單中的“軟件設(shè)計文檔封面標(biāo)題、文檔編號是否一致”、軟件需求規(guī)格說明文檔審查單中的“是否描述了依賴安裝的數(shù)據(jù)”等等。這些規(guī)則的使用由用戶來選擇,選中的規(guī)則將對應(yīng)于相應(yīng)的程序代碼在文檔審查管理模塊中執(zhí)行。審查的結(jié)果再寫入數(shù)據(jù)庫中,每個審查點的審查結(jié)果和審查點一一對應(yīng)。
3 文檔審查自動化系統(tǒng)應(yīng)實現(xiàn)的功能
文檔審查自動化系統(tǒng)的實現(xiàn)關(guān)鍵是利用Office提供的接口,結(jié)合用戶選擇的檢查內(nèi)容檢查生成文檔。Office提供的接口實際上是借助COM結(jié)束以O(shè)ffice進(jìn)程作為本地或遠(yuǎn)程服務(wù)器,在后臺執(zhí)行代碼中設(shè)定的文檔操作。開發(fā)人員可以利用微軟提供的類庫msoffice.olb,該類庫集合了幾乎所有的Office文檔中的對象,如段落對象、文字對象、行對象、表格對象等等。根據(jù)文檔審查單的格式,將這些對象組合起來,在相應(yīng)的位置填入審查結(jié)果即可得到最后的審查報告單。
文檔審查自動化系統(tǒng)的難點在于針對文檔審查單中每一項檢查內(nèi)容如何開發(fā)出相應(yīng)的功能代碼。例如軟件需求規(guī)格說明審查單中引用文檔是否正確,這可以通過Office提供的接口通過編程來實現(xiàn)。但是對于例如軟件設(shè)計文檔中的屏幕截圖是否清晰、可辨認(rèn)這樣的檢查點來說通過簡單的編程是不容易實現(xiàn)的,這其中或許涉及人工智能方面的研究方向。其中很多檢查點的功能實現(xiàn)是有難度的,需要深入地去研究。
4 結(jié)束語
結(jié)合軟件測試中文檔審查的實際情況,本文提出了文檔審查的自動化系統(tǒng)實現(xiàn)的研究,目的是可以提高文檔審查的正確性,提高文檔審查的效率,減少人為的錯誤影響,提高軟件測試文檔審查的質(zhì)量。
參考文獻(xiàn):
[1] 侯偉波. 軟件項目文檔格式審查系統(tǒng)的設(shè)計與實現(xiàn)[D]. 西安: 西安電子科技大學(xué), 2016.
[2] 厲娟, 李和飛. 軟件測試文檔工程論述[J]. 電腦編程技巧與維護(hù), 2011(20): 16-17, 78.
[3] 趙洪彪, 景利, 李剛. 軟件測試文檔規(guī)范化[C]. 第三屆中國測試學(xué)術(shù)會議, 2004(3).
[4] 楊萬君, 伍濱. 軟件文檔審查的基本要求[J]. 中國軍轉(zhuǎn)民, 2013(2): 49-50.