時間:2022-03-24 09:28:07
導(dǎo)言:作為寫作愛好者,不可錯過為您精心挑選的10篇測試計劃,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內(nèi)容能為您提供靈感和參考。
一、測試范圍
1.尚未參加普通話水平測試或已參加普通話水平測試尚未達到規(guī)定級別的國家公務(wù)員、機關(guān)工作人員、各級各類學校的教師、教學管理人員、教學輔助工作人員、播音員、節(jié)目主持人、出鏡記者、節(jié)目主持人、影視劇演員、話劇演員、導(dǎo)游員、講解員、話務(wù)員、廣播員及其他直接面向公眾服務(wù)的相關(guān)服務(wù)部門(如:稅務(wù)、工商、商貿(mào)、交通、金融等行業(yè))窗口服務(wù)人員。
根據(jù)國家有關(guān)規(guī)定,上述范圍內(nèi)在年6月15日以前測試并取得等級證書的有關(guān)人員,均需要重新參加測試。
2.按照市教育局《關(guān)于加強學校語言文字工作的基礎(chǔ)地位全面推進學校語言文字工作規(guī)范發(fā)展的通知》要求,年齡在35歲以下、應(yīng)參加升級測試的教師。
3.按照《省實施〈國家通用語言文字法〉辦法》和省人民政府辦公廳《關(guān)于進一步加強語言文字工作的意見》的有關(guān)規(guī)定,師范類、中等職業(yè)學校、高校的應(yīng)屆畢業(yè)生應(yīng)參加測試并達到二級乙等以上水平。
二、計劃提報
1.區(qū)教體局負責提報所屬各中小學、民辦學校的教職員工的測試計劃。
2.區(qū)人力資源和社會保障局負責提報區(qū)內(nèi)國家公務(wù)員、機關(guān)工作人員、媒體工作人員、窗口服務(wù)人員及社會其他人員的測試計劃。
三、有關(guān)要求
1.市語委辦根據(jù)各單位計劃提報情況,統(tǒng)籌安排測試時間。
2.未提報計劃的單位,原則上年不予安排測試。
1.1 自動化關(guān)鍵技術(shù)簡介
自動化測試的核心就是對象識別技術(shù)。腳本錄制的主要目的是采集對象信息并生成相應(yīng)的腳本?;胤诺倪^程就是根據(jù)這些信息進行對象的識別和執(zhí)行相應(yīng)的腳本。
對象識別本質(zhì)是根據(jù)關(guān)鍵屬性來確認對象,然后在該對象上執(zhí)行相應(yīng)的操作。如下圖所示:
1.2 自動化測試框架的作用
減少冗余代碼、提高代碼生產(chǎn)率、提高代碼重用性和可維護性。提高開發(fā)速度,提升測試代碼的執(zhí)行效率。
提高軟件代碼質(zhì)量,同時引入重構(gòu)概念,讓代碼更干凈和富有彈性。
1.3 自動化測試框架的主要類型
數(shù)據(jù)驅(qū)動測試框架
數(shù)據(jù)驅(qū)動測試是測試腳本從數(shù)據(jù)文件(數(shù)據(jù)池,CVS文件,Excel文件等)中讀取輸入和輸出數(shù)值并載入到錄制的或手工編寫的腳本變量中的一種框架。在這種框架里,輸入數(shù)值和輸出數(shù)值都使用變量。測試數(shù)據(jù)包含在數(shù)據(jù)文件里而不是在腳本中被硬編碼。不同的數(shù)據(jù)文件對應(yīng)不同的測試用例。在這種模式下數(shù)據(jù)和腳本分離,腳本的利用率、可維護性大大提高。
關(guān)鍵字驅(qū)動或表格驅(qū)動測試測試框架
關(guān)鍵字驅(qū)動和表格驅(qū)動測試在是數(shù)據(jù)驅(qū)動基礎(chǔ)之上,進一步提高自動化測試的靈活性和擴展性的框架解決方案。在關(guān)鍵字驅(qū)動框架下,除了要設(shè)計應(yīng)用程序的測試數(shù)據(jù)表,還要生成一個關(guān)鍵字數(shù)據(jù)表。這個關(guān)鍵字包含了程序的特性,或者是有關(guān)程序的操作。
基于UI功能的自動化測試
圖形用戶界面(Graphical User InterFace, GUI)就是使用圖像,輸入的文字,帶有圖標的計算機界面。GUI可以讓用戶通過圖標和鼠標與計算機進行交互,而不是在命令行中輸入文本。 一般來說,應(yīng)用程序(包括桌面程序和web應(yīng)用)有一些基本的界面控件, 如窗口, 消息對話框, 菜單, 按鈕, 復(fù)選框, 組合框, 列表框, 文本輸入框, 組選框, 樹形視圖, 瀏覽器, 日期選擇控件等。它們有些是屬于Windows桌面應(yīng)用程序, 有些是屬于Web DOM對象。
所有軟件的指令都通過這些控件以事件或消息的形式傳遞給后臺處理程序。自動化測試腳本的開發(fā)過程就是一個工具模擬人工操作的過程。人員要通過工具去操作(錄制), 工具要能“學習”并掌握這個過程(對界面控件的識別能力),最終能夠獨立完成測試(回放)。
2.1 利用HTML DOM編程接口實現(xiàn)UI自動化測試
HTML DOM(HTML Document Object Model)文檔對象模型定義了訪問和處理HTML文檔的標準方法。所有的WEB瀏覽器都內(nèi)嵌了DOM解析技術(shù),包括IE和FireFox等。要改變頁面的某個元素或節(jié)點,瀏覽器中的JavaScript就需要獲得文檔中所有元素進行訪問來獲得每個對象的入口。這個入口,連同對HTML元素進行添加, 移動, 改變或移除的方法和屬性,都是通過文檔對象模型來獲得的(DOM)。
我們來看下,如何用HTML DOM接口來實現(xiàn)在百度的首頁(見下圖)上完成自動搜索。
“文本輸入框”源碼:
“百度一下按鈕”源碼:
如果想通過DOM接口來完成自動搜索的過程,則VBScript代碼如下。以下代碼保存在VBS文件里, 雙擊運行。
Set WshShell=WScript.CreateObject("WScript.Shell")
Set ie=CreateObject("internetexplorer.application")
ie.visible=1
ie.navigate("http://")
Do while (ie.busy=True)
wscript.sleep 1000
Loop
Set docRoot=ie.Document
docRoot.getElementById("kw").value="163"
docRoot.getElementById("su").click
DOM對象接口就是對WEB UI實施自動化測試的技術(shù)基礎(chǔ), 理論上,只要獲得DOM的根節(jié)點,依次遍歷,就可以對根下所有的對象進行操作了。但它的缺點是過于低層,需要自動化測試開發(fā)人員對DOM非常的精通,而且要開發(fā)大量的遍歷函數(shù),才能完成一個基本功能的操作。
2.2 QTP測試工具
QTP(Quick Test Professional)是HP公司提供的自動化測試工具,其腳本語言為VBScript, 目前最新版本為11。 主要為GUI自動化測試提供解決方案。 QTP提供了VB Object, Windows Object, Web Object等對象接口, 生成的VB Script腳本好具有可讀性好,面向?qū)ο蟮葍?yōu)點。
使用QTP錄制百度搜索的操作, 生成的腳本如下:
QTP在錄制的過程中, 捕捉頁面上的元素,錄制生成了4個QTP對象(如下圖)。這些對象以樹狀的組織形式存儲在QTP的對象庫里。每個對象的屬性存儲了此對象的相關(guān)信息,對象的層次關(guān)系代表對象在界面上的隸屬關(guān)系,即DOM的層次關(guān)系。
當腳本回放時, QTP會從對象庫中讀出對象的屬性, 按對象層次結(jié)構(gòu), 依次與頁面上的各個元素進行比較。如果匹配成功則執(zhí)行QTP腳本里的動作, 完成回放, 否則,腳本將會報錯, 停止運行。
因此,可以看出QTP是在HTML DOM的基礎(chǔ)上封閉了一套強大的QTP對象, 使得用戶對DOM的操作更加直觀和方便。
2.3 QC簡介
QC(Quality Center)是HP公司的一個基于 Web 且支持測試管理的所有必要方面的應(yīng)用程序。QC測試流程包括四個階段(指定需求,計劃測試,運行測試,跟蹤缺陷)。
指定需求階段, 您可以創(chuàng)建一個“需求樹”,用于定義您的總體測試需求, 針對需求樹中的每個需求主題, 創(chuàng)建詳細的測試需求列表; 計劃測試階段, 創(chuàng)建“測試計劃樹”, 向計劃樹中添加每個測試的基本定義, 對于確定要自動化測試的, 使用測試工具創(chuàng)建測試腳本; 運行測試階段, 計劃測試執(zhí)行并將任務(wù)分配給測試人員, 自動或手動執(zhí)行測試集中的測試;跟蹤缺陷階段, 可以添加缺陷,查看新缺陷, 修復(fù)打開的缺陷。
QTP + QC + 測試數(shù)據(jù)管理工具 框架實例
測試管理平臺: 管理腳本的開發(fā);管理腳本的執(zhí)行;管理腳本的維護;管理測試的任務(wù); 管理測試的報告
Quick Test Professional (QTP):讀取測試數(shù)據(jù)及全局環(huán)境變量;生成測試腳本 (對象識別); 執(zhí)行測試腳本 (腳本回放);報告測試結(jié)果
測試數(shù)據(jù)管理工具(JAVA):從數(shù)據(jù)庫提取自動化測試數(shù)據(jù);將測試數(shù)據(jù)存入測試數(shù)據(jù)管理文件;多線程并發(fā)提取數(shù)據(jù)
Excel(測試數(shù)據(jù)驅(qū)動): 保存測試數(shù)據(jù) (輸入?yún)?shù));保存測試結(jié)果 (輸出參數(shù))
XML(全局環(huán)境配置): 保存全局環(huán)境變量
構(gòu)建測試數(shù)據(jù)文件實例
建立外部測試數(shù)據(jù)文件(Test_Data.xls)。QTP腳本需要從此配置文件里讀取測試數(shù)據(jù),需要將輸出參數(shù)寫回該配置文件。實現(xiàn)腳本與測試數(shù)據(jù)的分離。
此數(shù)據(jù)文件包含三張表(General, SQL, Other)。 第一張表(General)存放全局性的配置信息(如數(shù)據(jù)庫連接串,站點URL,是否“下載測試時所需動態(tài)鏈接庫文件”標志等);第二張表(SQL)存放所有QTP腳本需要讀取的測試數(shù)據(jù)和需要保存的輸出參數(shù);第三張表(Other)保存一些其它的信息。一般情況下腳本開發(fā)人員需要使用“SQL”表。在該表內(nèi)定義輸入?yún)?shù)的名稱(供腳本讀?。?,定義輸出參數(shù)的名稱(供腳本寫入),相應(yīng)的SQL(供腳本運行此SQL,從DB里自動獲取測試數(shù)據(jù))。如下面的圖片所示:
管理測試數(shù)據(jù)工具研發(fā)實例
通常對于大型項目的回歸測試來說, 一般自動化測試數(shù)據(jù)比較多;有的時候,測試數(shù)據(jù)需要實時從數(shù)據(jù)庫里提取, 這時候就需要有方法在啟動腳本前能夠快速的準備好測試數(shù)據(jù),因為QTP本身對多線程支持的不是很好,所以可能需要開發(fā)另外的多線程的工具來支持快速的獲取測試數(shù)據(jù)。這很重要,不然手工維護大量的測試數(shù)據(jù)將會是令人沮喪的一件工作。
可以將該配置文件存于MQC的固定路徑下(自動化回歸測試腳本\通用\下載全局配置文件),在QC里建立測試集的時候,“下載全局配置文件”腳本應(yīng)該首先被選中運行,腳本運行后,該配置文件將被下載到測試機上(c:\temp\目錄)供QTP使用。
研發(fā)工具工作流程的基本思路為:讀取測試數(shù)據(jù)配置文件(Excel) 加載配置文件中的SQL語句到內(nèi)存 查詢SQL需要連接的數(shù)據(jù)庫的類型 連接對應(yīng)的數(shù)據(jù)庫(并發(fā)) 執(zhí)行SQL查詢(并發(fā)) 返回查詢結(jié)果(并發(fā)) 將結(jié)果寫入數(shù)據(jù)配置文件(Excel)關(guān)閉數(shù)據(jù)庫連接、關(guān)閉系統(tǒng)文件連接
腳本的復(fù)用實例
為提高QTP腳本的復(fù)用度, 盡可能將常用功能以函數(shù)庫的形式提供出來,或二次封裝常用的函數(shù)接口以方便調(diào)用,或編寫常用的Action供別的腳本調(diào)用。基本上可以將代碼大致分成三類,如下圖所示:
6.1 構(gòu)建底層庫函數(shù)實例
6.2 構(gòu)建公共庫模塊腳本實例
“登錄腳本”:用于登錄系統(tǒng)
“退出腳本”: 該腳本用于退出系統(tǒng)
“獲取訂單腳本”: 該腳本用于從頁面獲取訂單號
腳本規(guī)范實例
在腳本最前面加上基本信息: IE版本,QTP版本,項目名稱,腳本編寫人, 腳本創(chuàng)建時間,腳本修改時間,修改說明,輸入?yún)?shù),輸出參數(shù),功能描述, 調(diào)用庫函數(shù)說明,調(diào)用共享對象庫說明,調(diào)用場景恢復(fù)文件說明,調(diào)用存在的Action說明,更改默認Action的名稱,業(yè)務(wù)流程說明,其它說明。舉例如上。
輸入,輸出參數(shù): 原則上,所有的輸入?yún)?shù)需要定義在配置文件內(nèi)(Test_Data.xls)供腳本讀取; 所有的輸出參數(shù)需要保存入配置文件內(nèi)(Test_Data.xls)供其它腳本視需要讀取。
檢驗點: 一般情況,腳本里應(yīng)該需要加上必要的校驗點; 業(yè)務(wù)完成后,需要在頁面上對業(yè)務(wù)結(jié)果進行校驗; 有訂單產(chǎn)生的,需要在數(shù)據(jù)庫里校驗訂單是否竣工。
常量命名規(guī)范: 常量的命名應(yīng)該全部用大寫,使用"_"作為單詞間的分隔符,單詞盡量使用全名稱. 如: Public Const MSG_EMPTY_ROW As String = "有空行存在"。
變量命名規(guī)范: 變量命名大小寫:盡量使用錯落有致的大小寫字母命名變量,錯誤的命名如STRNAME,正確的命名如strName.用標志性的前綴來指明一個變量的數(shù)據(jù)類型,如:strName, intQuantity, blnFound, dteNow, objCurrent。如果是一般的臨時性變量定義,應(yīng)該盡可能地簡單 (如for循環(huán):for i=0 to 5).
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1120059-01
任何長期的軟件項目的測試工作最終都會進入自動測試階段。軟件開發(fā)的過程中在不斷的更新舊的功能增加新的功能,在此基礎(chǔ)上必須保證不影響原有的正常功能。自動化測試的引入使測試人員從繁重而枯燥的工作中解放出來,同時還能保證精確性。
隨著Adobe Flex編程技術(shù)的流行,基于Flex的軟件項目應(yīng)運而生。然而,其美觀的界面卻相應(yīng)帶來了測試的復(fù)雜性,它不同于數(shù)據(jù)驅(qū)動測試只顧輸入輸出,也不同于事件驅(qū)動測試只關(guān)注行為與結(jié)果,Flex產(chǎn)品與Flash一樣可作出動態(tài)的美麗的外觀效果,在事件處理上也及其復(fù)雜,這對測試帶來一些極大的挑戰(zhàn)。本文將介紹基于Flex的自動化測試框架。
一、自動化測試框架
首先讓我們看一下自動化測試框架,如圖1:基于自動化測試工具的測試過程不外乎三步:自動化測試初始化;自動化錄制;自動化回放。即測試工具能夠識別Flex的控件,通過錄制用戶的操作步驟模擬用戶操作,生成測試腳本,回放錄制的步驟,檢測結(jié)果,以達到自動化測試的效果。
二、Flex與測試工具交互框架
然而自動化測試工具如何能夠識別用戶各種操作并進行模擬呢?讓我們再來看一下Flex事件流框架(如圖2):
Stage相當于樹的根部為枝葉輸送養(yǎng)份而服務(wù)的,一個事件的觸發(fā)必須首先通過這個平臺進入,在對象的顯示列表中找到基類,再順延找到子類,在相應(yīng)的地方去實現(xiàn)一個事件的處理程序。所有的顯示對象都有一個Stage的屬性用于指向應(yīng)用平臺。每當事件觸發(fā)時,都會經(jīng)歷從Stage到目標節(jié)點再從目標節(jié)點返回Stage的過程:抓獲階段,這個過程會抓獲在Stage上的所有節(jié)點的父節(jié)點;目標階段,查找到目標子節(jié)點;浮出階段,將查獲的子節(jié)點通過其父節(jié)點返回至Stage平臺上。
自動化測試工具對Flex事件的支持便是按照其事件流處理框架的標準來實現(xiàn)的,首先必須能夠找到所謂的Stage,然后識別Stage上的所有對象,進而找到那個唯一的子對象去獲得它的屬性及事件處理方法,自動化測試工具通過記錄用戶UI上的操作然后觸發(fā)事件流達到自動化操作的過程,再由用戶添加檢查點以達到測試的目的。因而,測試工具要模擬用戶操作必須要求能夠識別對象,而且用戶操作的事件流也必須按照如上圖所示的事件流來操作,即必須通過一個Stage平臺到Flex對象。
Flex在技術(shù)上又是如何與自動化測試工具交互的呢?為了支持Flex的自動化,Flex特提供了一個重要的包,即Adobe Flex自動化包(mx。automation。*):這個包為開發(fā)者創(chuàng)建Flex測試案例提供了自動化編程的接口。此包包含了:自動化庫-automation。swc與automation_agent。swc這兩個庫用于幫助實現(xiàn)Flex框架的組件的派生類。Automation_agent。swc文件以及與其相關(guān)的包提供普遍的機制。,如SilkTest,是建立在這些庫之上的。有了這些支持才便于測試工具去模擬Flex處理機制。而對于自動化工具本身也提供了支持Flex的接口,以達到自動化工具與Flex的通信與交互。如SilkTest也提供一個支持自動化的SDK,它是基于Flex自動化的API的。SDK以與Flex的AutomationAPI同樣的方式為Flex組件提供自動化支持。SilkTest的開放(Open Agent)使用了Adobe的Flex自動化庫。FlexTechDomain。swc文件即包含了SilkTest的具體實現(xiàn)實現(xiàn)方法。
Flex測試工程的準備工作與其它項目類似:開啟支持Flex應(yīng)用程序測試的接口;創(chuàng)建可測試的Flex應(yīng)用程序;編譯Flex容器(相當上面提到的Stage);使Flex事件與組件工具化(目的是為了使測試工具能夠識別Flex對象,并模擬其事件處理程序)。
三、測試維護框架
為了提高自動化測試套件的可維護性,還需要采取一些措施。推薦采用測試腳本模塊化框架。通過創(chuàng)建獨立的腳本來代表被測試應(yīng)用程序的模塊、對象或函數(shù),利用抽象和封裝的原則將過程對象與源應(yīng)用脫離開來,增強測試腳本的重用性,可維護性,降低由源代碼的改變而帶來的腳本大量的變動、失效。由此,才得以更為有效的提高自動化測試的效率與可用性。例如,SilkTest將一項工程分為四類文件來管理,即測試計劃文件(.pln),由測試腳本與參數(shù)構(gòu)成,類似于Function的一個實例,可用于分類管理測試案例;測試腳本文件(.t),可分類管理各類各個測試案例的過程描述;包含文件(.inc),可用于管理各種封裝后的函數(shù);配置文件(.ini)。這種規(guī)劃管理一個復(fù)雜的工程項目得以有序清晰方便的進行管理。
四、結(jié)束語
由此,回顧整個過程,二個方面是我們在實現(xiàn)自動化測試的過程不可不關(guān)注的,它是自動化支持的瓶頸,是開啟自動化的鑰匙,即被測應(yīng)用程序與測試工具的相互支持及測試腳本的有效維護。
參考文獻:
[1]《Programming ActionScript 3.0》,2008 Adobe Systems Incorporated.
中圖分類號: TP 31文獻標識碼: Adoi: 10.3969/j.issn.10055630.2013.02.004
引言隨著計算機應(yīng)用日益普及和深化,用戶對軟件的需求越來越多,對軟件要求也總是在不斷變化[1]。AutoCAD產(chǎn)品在軟件國際化的過程中,每次修改都需要對大量的測試用例進行反復(fù)測試,還要在不同語言版本的操作系統(tǒng)平臺上測試,這就使得該項目的測試工作極為繁瑣。軟件自動化測試作為保證軟件質(zhì)量和可靠性的關(guān)鍵技術(shù)手段,正日益受到廣泛的重視。但如何進行測試,如何提高測試的質(zhì)量和效率,仍然是許多人深感困擾的問題[2]。根據(jù)對AutoCAD軟件測試項目研究與實踐的體會,介紹軟件自動化測試技術(shù)的概述、基本過程和實現(xiàn)。結(jié)合實用的Silk Test工具以及可擴展標記語言技術(shù)(extensible markup language,XML),給出整個自動化測試框架。1自動化測試概述整個自動化測試平臺包含兩部分:測試平臺和服務(wù)器平臺。測試平臺包含不同語言版本或者不同操作系統(tǒng)的平臺;服務(wù)器平臺主要含有源代碼版本管理庫和測試結(jié)果的關(guān)系數(shù)據(jù)庫[3]。一個規(guī)范化的軟件自動化測試過程通常包括以下幾個基本的測試活動:(1)自動化測試用例選擇對于Silk Test工具而言,它對Java的支持很好,所以如果是多模塊、多軟件測試,首先要盡量選擇和Java相關(guān)的部分來設(shè)計用例[4]。(2)自動化測試環(huán)境準備開啟windows遠程控制,設(shè)置文件的擴展名可見,安裝待測試AutoCAD系列產(chǎn)品,安裝測試過程所需的自動化測試軟件(Silk Test軟件)等等一系列配置。光學儀器第35卷
第2期商林霞,等:基于XML的軟件自動化測試
(3)自動化測試腳本開發(fā)Silk Test自動化測試工具支持簡單的捕獲同放功能,但是這并不是自動化測試。測試工具直接錄制產(chǎn)生的腳本是不能直接使用的,所以對于利用Silk Test工具編寫的腳本來說,通常是通過捕獲對話框圖形,抓到測試對象。然后利用Silk Test所提供的4Test語言來添加函數(shù)、控制結(jié)構(gòu)等[5]。 (4)自動化測試報告生成分析腳本運行的結(jié)果是否符合要求,決定每個用例自動化測試是否通過。對測試結(jié)果進行分類整理,生成測試報告。對于不能通過的測試結(jié)果要進行分析、記錄和通報,方便相關(guān)的測試人員和開發(fā)人員了解測試結(jié)果。2自動化測試系統(tǒng)過程為了取得自動化測試效率和效益的最大化,現(xiàn)選取當前最適合自動化的測試用例。例如自動化測試腳本編寫異常復(fù)雜的用例、運行自動化測試腳本很難發(fā)現(xiàn)軟件缺陷的用例等等,都可以不運用自圖1自動化測試系統(tǒng)實現(xiàn)框圖
Fig.1Automation testing system
realization block diagram動化測試,而運用手動測試代替。同時在兩個測試版本的間歇進行新的腳本的開發(fā),當有了一定數(shù)量的腳本之后,就讓腳本運行起來,發(fā)揮作用[6]。現(xiàn)只要保證自動化運行的環(huán)境足夠充足,那么每個測試版本所需的時間就會足夠短,節(jié)省了大量的人力。軟件自動化測試是一個極為復(fù)雜的過程。在不同的測試環(huán)境下,測試的流程也會有所不同。一般都要根據(jù)實際情況,制定相應(yīng)的測試流程。從軟件測試對象出發(fā),軟件自動化測試系統(tǒng)實現(xiàn)框圖,如圖1所示。對于不同語言版本的本地化測試,測試過程大體是相似的。首先根據(jù)AutoCAD軟件的功能特征選擇和設(shè)計測試用例,然后就是由測試用例編寫測試腳本,接著就是將這些測試腳本作為輸入運行程序,將通過測試得到的結(jié)果與先得到的英語版本的結(jié)果進行比較,最后就是將兩者的比較結(jié)果寫成測試報告,軟件開發(fā)者根據(jù)測試報告再決定對軟件如何處理[7]。3系統(tǒng)實現(xiàn)
3.1腳本生成根據(jù)測試設(shè)計中的每個測試用例,利用 Silk Test軟件進行編程,完成自動化測試腳本。腳本編寫完成,進行不斷地調(diào)試,直至完成的腳本符合測試用例驗證的要求。編程語言是4Test語言,整個腳本的思路是基于AutoCAD軟件對話框?qū)ο髞韺崿F(xiàn)的。函數(shù)中執(zhí)行圖像錄像功能的語句,把整個自動化測試的windows平臺界面上的執(zhí)行過程錄制下來,方便判斷軟件是否存在缺陷。針對每個自動化測試的測試用例,編寫測試腳本。每個測試用例都有數(shù)個測試確認點,測試腳本要保證每個測試確認點都能被執(zhí)行自動化測試,生成測試結(jié)果。測試腳本程序示例如下:
3.2結(jié)果信息讀取軟件本地化測試的對象是本地化的軟件,需要在本地語言的操作系統(tǒng)上進行。以Windows中文語言操作平臺為例,用Silk Test工具運行該對話框?qū)?yīng)的測試腳本,生成XML的結(jié)果信息文件,該XML記錄了該對話框上的所有信息:文字信息、控件位置信息、控件屬性信息。圖2中所示的AutoCAD軟件對話框的XML部分信息示例如下:
在獲取對話框信息之后,接著就要進行XML結(jié)果的分析。讀取XML文件信息的程序片段為:
其中,利用XPath的路徑表達式來選取XML文檔中的節(jié)點或者節(jié)點集[8]。如要讀取出對話框的標題信息“選擇樣板”,則正確的XPath語句是“/DIALOG/CONTROL[1]/Texts_LIST/@Texts_00000”。類似地,對話框上各控件的位置、大小、屬性等信息都可獲取到。如圖2中的截斷錯誤,都用紅色線框標示出來,提升了后期錯誤分析的效率。
3.3結(jié)果對比國際化軟件自動化測試包括軟件國際化測試和軟件本地化測試。軟件的國際化測試一般是英語版本的測試,必須在本地化測試之前進行。首先進行國際化軟件測試有助于判斷軟件國際化的設(shè)計程度,確定軟件支持的國家區(qū)域,以及本地化是否容易[9]。本地化測試過程中,以源程序軟件結(jié)果(標準英語版本)作為本地化軟件的主要參考。運行英語版本和本地化版本的結(jié)果比較程序,本地化版本對話框都將與標準英語版本對話框的各項信息進行對比。經(jīng)對比本地化軟件存在缺陷時有三大類情況:(1)本地化軟件對話框的某項XML信息(控件的位置、大小、屬性等)是空值;(2)本地化軟件對話框的某項信息值的長度和標準英語版本的不一致;(3)本地化軟件對話框的某項信息內(nèi)容(控件的位置、大小、屬性等)和標準英語版本的不一致。結(jié)果比較程序的部分示例:
3.4結(jié)果分析在實際的項目測試過程中,每一步都有很具體的內(nèi)容。例如在報告測試結(jié)果的同時,實際上還包含了對測試結(jié)果的統(tǒng)計和分析,測試工程師通過對結(jié)果進行分析來判斷是否存在缺陷,將缺陷上傳至Test Desk網(wǎng)站進行管理。表1對話框界面的典型錯誤類型
高質(zhì)量且高可靠性的企業(yè)應(yīng)用程序系統(tǒng)是數(shù)字化時代非常重要的元素[1]。測試團隊在確保企業(yè)應(yīng)用程序系統(tǒng)滿足既定標準或需求時會發(fā)揮非常重要的作用。隨著系統(tǒng)的規(guī)模和復(fù)雜性升級,其可靠性和質(zhì)量要求必然成倍增長,這意味著測試團隊需要開發(fā)更有效的測試方法。一個完整的測試過程包括數(shù)據(jù)記錄、數(shù)據(jù)維護、數(shù)據(jù)驗證等多個方面。測試數(shù)據(jù)管理策略對于測試數(shù)據(jù)的記錄必須是全面的,這也為后期的數(shù)據(jù)分析挖掘提供了支撐。
陳翔等人在文獻[2]中重點闡述了回歸測試中用例優(yōu)先排序(test case prioritization,簡稱TCP)問題。從源代碼、需求和模型三個角度對TCP問題進行分類,重點分析了回歸測試中測試資源缺乏時的TCP問題。另外,潘偉豐等人在文獻[3]中提出了基于錯誤傳播網(wǎng)絡(luò)的測試用例排序方法。該方法在類粒度將軟件抽象成加權(quán)類依賴網(wǎng)絡(luò)(weighted class dependency network, 簡稱WCDN)模型,并基于WCDN分析錯誤在網(wǎng)絡(luò)上的傳播行為,構(gòu)造錯誤傳播網(wǎng)絡(luò)(bug propagation network,BPN)。實例研究表明,基于錯誤傳播網(wǎng)絡(luò)的測試用例排序方法在錯誤檢出率上相比于其他經(jīng)典方法有一定的提高,并且具有較好的穩(wěn)定性。一個全面的用例排序方法,能準確地將當前的軟件質(zhì)量反映到執(zhí)行用例的優(yōu)先級上[4-5]。通過使用正確的TCP策略測試團隊能夠提供及早發(fā)現(xiàn)缺陷,在整個產(chǎn)品開發(fā)過程中,為提供更簡單的方法去解決系統(tǒng)缺陷提供支撐。因此,擁有正確的TCP策略對測試團隊乃至公司都至關(guān)重要,能加快系統(tǒng)周期并大幅削減成本。然而在現(xiàn)有的研究工作中,TCP策略問題主要集中在回歸測試階段,但是回歸測試處于整個測試過程的末端[6]。由于回歸測試時對于本系統(tǒng)缺陷分布情況有非常清晰的概念,但是由于處于末端,對于測試團隊的優(yōu)化畢竟有限。同時測試團隊與研發(fā)團隊往往是單線交流,即研發(fā)團隊待測系統(tǒng),測試團隊極少參與提高研發(fā)團隊的開發(fā)質(zhì)量。
因此,可以從測試用例執(zhí)行策略和測試結(jié)果反向優(yōu)化開發(fā)策略兩個方面展開研究,并提高系統(tǒng)可靠性。測試用例執(zhí)行順序問題是測試執(zhí)行策略中非常重要的部分,在測試項目中持續(xù)優(yōu)化測試用例執(zhí)行順序可以提早發(fā)現(xiàn)潛在的缺陷。同時由于測試團隊對于項目整體的理解更為透徹,對缺陷的總體分析可以幫助研發(fā)團隊在類似問題上處理地更為妥善。測試團隊在需求分析階段的有效介入,將從源頭上提高系統(tǒng)的質(zhì)量和可靠性。
1 測試執(zhí)行策略優(yōu)化
測試中的關(guān)鍵問題是第一時間發(fā)現(xiàn)被測系統(tǒng)不符合規(guī)范要求的內(nèi)容。測試經(jīng)理在測試規(guī)劃時是通過大量的測試用例保證測試的覆蓋率。持續(xù)優(yōu)化測試用例執(zhí)行順序是在保障測試覆蓋率的同時,合理地安排測試用例地執(zhí)行順序,即TCP問題。文章提出將項目測試分為三個階段,在項目測試的初期、中期、后期三方面分別進行優(yōu)化TCP,最終優(yōu)化整個測試執(zhí)行策略。
如圖1 所示,項目測試初期,分析測試用例的歷史數(shù)據(jù)得到測試用例的執(zhí)行潛在價值,優(yōu)先執(zhí)行潛在價值高的測試用例。比如在其它項目中執(zhí)行某些用例時,發(fā)現(xiàn)了系統(tǒng)不符合規(guī)范要求的部分,并提交了缺陷。在新的測試用例執(zhí)行時,應(yīng)首先執(zhí)行這類測試用例以便快速發(fā)現(xiàn)系統(tǒng)缺陷。項目測試中期,分析本項目當前缺陷情況得到各個系統(tǒng)功能模塊的缺陷發(fā)生概率。優(yōu)先執(zhí)行缺陷分布較多的功能模塊相關(guān)的測試用例。項目測試后期,即回歸測試階段,需結(jié)合各個系統(tǒng)功能模塊在本項目和歷史項目中的缺陷發(fā)生概率,在保證一定回歸比率的情況下,綜合考慮本項目和歷史項目的分析,優(yōu)先回歸測試缺陷發(fā)生概率較高的模塊。
2 需求分析優(yōu)化
項目測試工作通常被安排在項目研發(fā)工作之后,測試團隊的主要工作也僅僅是將測試結(jié)果中發(fā)現(xiàn)的缺陷情況報告給研發(fā)團隊,并沒有對缺陷情況進行分析,可能使得類似的缺陷在不同的項目中反復(fù)出現(xiàn)。因此測試團隊在提供測試報告的同時,對各個功能模塊中所發(fā)現(xiàn)的缺陷進行分析,并在新項目立項初期給出系統(tǒng)模塊開發(fā)時的缺陷概率,幫助研發(fā)團隊在需求分析階段重點考慮高缺陷概率的模塊開發(fā)和模塊間的協(xié)作,從源頭上降低缺陷發(fā)生的概率。測試團隊與研發(fā)團隊的雙向反饋將優(yōu)化產(chǎn)品設(shè)計的需求分析階段,提高系統(tǒng)的可靠性,如圖2所示。
圖2 測試團隊和研發(fā)團隊雙向通道
3 結(jié)束語
文章從優(yōu)化測試用例執(zhí)行順序和測試結(jié)果優(yōu)化需求分析兩個方面,闡述了現(xiàn)在系統(tǒng)開發(fā)中提高系統(tǒng)可靠性的重要方法。測試數(shù)據(jù)的管理是一座金礦,對測試數(shù)據(jù)的深入分析可以讓整個測試過程不再是靜止的,而是可以動態(tài)調(diào)節(jié)以應(yīng)對更復(fù)雜的情況,同時深入分析測試結(jié)果也可以建立測試研發(fā)的雙向通道,形成良性循環(huán)。最終可以超預(yù)期地提交高質(zhì)量的系統(tǒng),節(jié)約運營成本,完成市場搶占。
參考文獻
[1]K.Krishna Murthy, Janardhana S Channagiri, "test data management: Enabling reliable testing through realistic test data"Building Tomorrow's Enterprise, Oct 2009.
[2]陳翔,陳繼紅,鞠小林,等.“回歸測試中的測試用例優(yōu)先排序技術(shù)述評”[J].系統(tǒng)軟件與軟件工程,2013(8).
[3]潘偉豐,李兵,周曉燕,等.“基于錯誤傳播網(wǎng)絡(luò)的回歸測試用例排序方法”[J].計算機研究與發(fā)展,2016(3).
一、策劃書名稱
盡可能具體的寫出策劃名稱,如“×年×月××公會××活動策劃書”,置于頁面中央,當然可以寫出正標題后將此作為副標題寫在下面。
二、活動背景 :
這部分內(nèi)容應(yīng)根據(jù)策劃書的特點在以下項目中選取內(nèi)容重點闡述;具體項目有:基本情況簡介、主要執(zhí)行對象、近期狀況、組織部門、活動開展原因、社會影響、以及相關(guān)目的動機。其次應(yīng)說明問題的環(huán)境特征,主要考慮環(huán)境的內(nèi)在優(yōu)勢、弱點、機會及威脅等因素,對其作好全面的分析(SWOT分析),將內(nèi)容重點放在環(huán)境分析的各項因素上,對過去現(xiàn)在的情況進行詳細的描述,并通過對情況的預(yù)測制定計劃。如環(huán)境不明,則應(yīng)該通過調(diào)查研究等方式進行分析加以補充。
三、活動目的、意義和目標:
活動的目的、意義應(yīng)用簡潔明了的語言將目的要點表述清楚;在陳述目的要點時,該活動的核心構(gòu)成或策劃的獨到之處及由此產(chǎn)生的意義(經(jīng)濟效益、社會利益、媒體效應(yīng)等)都應(yīng)該明確寫出?;顒幽繕艘唧w化,并需要滿足重要性、可行性、時效性。
四、資源需要:
列出所需人力資源,物力資源,包括使用的地方,如教室或使用活動中心都詳細列出??梢粤袨橐延匈Y源和需要資源兩部分。
五、活動開展:
作為策劃的正文部分,表現(xiàn)方式要簡潔明了,使人容易理解,但表述方面要力求詳盡,寫出每一點能設(shè)想到的東西,沒有遺漏。在此部分中,不僅僅局限于用文字表述,也可適當加入統(tǒng)計圖表等;對策劃的各工作項目,應(yīng)按照時間的先后順序排列,繪制實施時間表有助于方案核查。人員的組織配置、活動對象、相應(yīng)權(quán)責及時間地點也應(yīng)在這部分加以說明,執(zhí)行的應(yīng)變程序也應(yīng)該在這部分加以考慮。
這里可以提供一些參考方面:會場布置、接待室、嘉賓座次、贊助方式、合同協(xié)議、媒體支持、校園宣傳、廣告制作、主持、領(lǐng)導(dǎo)講話、司儀、會場服務(wù)、電子背景、燈光、音響、攝像、信息聯(lián)絡(luò)、技術(shù)支持、秩序維持、衣著、指揮中心、現(xiàn)場氣氛調(diào)節(jié)、接送車輛、活動后清理人員、合影、餐飲招待、后續(xù)聯(lián)絡(luò)等。請根據(jù)實情自行調(diào)節(jié)。
六、經(jīng)費預(yù)算:
活動的各項費用在根據(jù)實際情況進行具體、周密的計算后,用清晰明了的形式列出。
七、活動中應(yīng)注意的問題及細節(jié):
內(nèi)外環(huán)境的變化,不可避免的會給方案的執(zhí)行帶來一些不確定性因素,因此,當環(huán)境變化時是否有應(yīng)變措施,損失的概率是多少,造成的損失多大,應(yīng)急措施等也應(yīng)在策劃中加以說明。
八、活動負責人及主要參與者:
注明組織者、參與者姓名、嘉賓、單位(如果是小組策劃應(yīng)注明小組名稱、負責人)。
注意:
1、本策劃書提供基本參考方面,小型策劃書可以直接填充;大型策劃書可以不拘泥于表格,自行設(shè)計,力求內(nèi)容詳盡、頁面美觀;
2、可以專門給策劃書制作封頁,力求簡單,凝重;策劃書可以進行包裝,如用設(shè)計的徽標做頁眉,圖文并茂等;
3、如有附件可以附于策劃書后面,也可單獨裝訂;
4、策劃書需從紙張的長邊裝訂;
5、一個大策劃書,可以有若干子策劃書。
網(wǎng)站策劃書策略
一、策劃前的思考
很多朋友,特別是個人站長,經(jīng)常都是大腦一熱就建了個網(wǎng)站,新鮮兩天半后,又放棄了,最后往往自己被把自己打敗了。為了避免這種情況,在策劃網(wǎng)站前,我們一定先要想清楚一些問題!
1、建站的目標。是純興趣做著玩玩,還是為了賺錢。
2、精力有多少。是利用業(yè)余時間玩玩,還是全身心的投入。
3、投資有多大。是拿點零花錢隨便搞搞,還是把身家性命都賭上。
4、人員有多少。是一個人、三五好友組成的小團隊還是公司運營。
5、能堅持多久。這條主要是針對投資較大,以盈利為目的的。在不賺錢的情況下,能堅持多久?
二、確定大概方向
這里說的方向類型,是指網(wǎng)站大概涉及到的領(lǐng)域,就是你想從那方面入手,IT、音樂、還是其它領(lǐng)域。這里筆者提醒大家盡量選擇自己熟悉的、能玩得轉(zhuǎn)的領(lǐng)域,否則不但做起來非常吃力,而且很難成功!其實這步看起來容易,但并不容易。因為想一下就選擇到正確的方向太難了,這不但需要對整個互聯(lián)網(wǎng)有大概的了解,還要對所在領(lǐng)域有深刻的認識,同時還要掌握網(wǎng)站運營的相關(guān)知識。這些東西,都是需要時間去積累、沉淀的,否則很難有正確的判斷。
三、數(shù)據(jù)調(diào)查分析
確定方向后,我們還需要做一些調(diào)查,搜集一些數(shù)據(jù)。所謂知已知彼,百戰(zhàn)不殆。這方面包括的內(nèi)容很多,比如受眾分析、市場現(xiàn)狀、競爭對手分析等,不同類型的站,需要搜集的東西是不同的,這個主要根據(jù)自己需求來。這里列幾個比較通用的項目:
1、搜集同領(lǐng)域內(nèi)做的最好的十個網(wǎng)站。
2、分析他們的網(wǎng)站數(shù)據(jù)。包括排名、注冊會員數(shù)、欄目數(shù)(包括具體名稱)、文章數(shù)、每天更新量等。
3、分析他們的背景。包括建站時間、是否公司運營、團隊規(guī)模等。
4、分析他們的優(yōu)缺點。比如他們的特點是什么、成功的地方在那里、失敗的地方在那里等。
5、最好列一個EXCEL表出來。
這些數(shù)據(jù)的作用很大,能夠幫助我們在接下來的工作中正確分析形式,做出判斷。所以切記切記,前期的相關(guān)調(diào)查和數(shù)據(jù)一定做細。
四、明確用戶定位
用戶定位說白了就是你的網(wǎng)站到底要干什么,為那些用戶提供什么內(nèi)容和服務(wù)。這個是至關(guān)重要的,如果你的定位和面向的用戶群不明確、涉及的方面競爭太激烈、提供的內(nèi)容不吸引人,肯定是沒有什么前途可言的。所以這步一定要想細、想透,圍繞用戶需求來想,多從不同的角度去想。建議大家思考時拿一張紙和一去筆,把想到的東西一條一條寫下來。這里強調(diào)一下,做網(wǎng)站一定不要貪多、貪大,要禁得住誘惑,不要動不動就說要做門戶。如果能把一個很小的點做好、做精,也是大網(wǎng)站。
五、確定內(nèi)容服務(wù)
定位確定后,開始確定提供的服務(wù),也就是欄目設(shè)定及功能模塊的設(shè)計。()這些主要還是基于用戶需求來考慮,盡量體現(xiàn)出特色二字。由于此條涉及的東西很多,所以筆者會專門撰文說明。
六、真能玩得轉(zhuǎn)嗎
通過以上的思考過程,網(wǎng)站大概的架構(gòu)已經(jīng)在腦海里成形了。但是我們在憑空想像時,總是把事情想的非常完美,而脫離實際,所以此我們還需要再思考一下“剛剛策劃出來的東西是否真的能玩得轉(zhuǎn)”!主要從以下幾點去思考:
1、網(wǎng)站涉及的領(lǐng)域真的是自己擅長的嗎?
2、網(wǎng)站的定位和內(nèi)容,真的是用戶確實需要,而不是自己想像出來的嗎?
3、以現(xiàn)有的技術(shù)水平,能實現(xiàn)預(yù)期的效果嗎?
4、以現(xiàn)有的資金情況,能滿足網(wǎng)站的需要嗎?
5、如果是個人,真的有足夠的時間和精力去維護、更新嗎?
6、如果是團隊或公司,人員足夠嗎?
7、如果想賺錢,這個站有賺錢的點或是盈利模式嗎?
8、一旦失敗,能接受后果嗎?
七、執(zhí)行
這個時候是落地實施的階段了,開始建團隊、設(shè)計網(wǎng)站頁面、程序等,具體的執(zhí)行過程就不說了。
八、實戰(zhàn)
以上只是理論,大家可能會感覺不直觀,太抽象,下面筆者來模擬一個網(wǎng)站的策劃過程,給大家一個直觀的印象。
1、做網(wǎng)站的目的。筆者想利用業(yè)余時間,做一個個人網(wǎng)站,投入不大,就是個域名和空間的錢。賺不賺錢無所謂,將來能有所發(fā)展最好。涉及到的領(lǐng)域無所謂,關(guān)鍵是做起來別太吃力。
2、確定大概方向。從筆者做過好幾年個人站長,現(xiàn)從事互聯(lián)網(wǎng)行業(yè)的實際情況來看,對于網(wǎng)站建設(shè)、運營等方便的東西最了解,做起來也最順手。所以網(wǎng)站大概的方向就確定為站長站,專門為站長服務(wù)。
3、數(shù)據(jù)調(diào)查分析?,F(xiàn)在我們來了解一些其它站長類網(wǎng)站的現(xiàn)狀,目前站長類的網(wǎng)站,做的成功的主要有以下幾個:
落伍者:ALEXA排名7147。這是一個社區(qū)型網(wǎng)站,整站就一個社區(qū),沒有商業(yè)化。他的主要特點是有經(jīng)驗的站長比較多,原創(chuàng)的內(nèi)容比較多。其旗下還有一個站長SNS站。
中國站長站:ALEXA排名5050。這是一個老牌的站長站,知名度非常高,已經(jīng)公司化運營。最早是以資源下載為主,現(xiàn)在還是他的主打內(nèi)容,目前資訊方面做的也不錯。論壇一般,不如落伍,旗下有一個提供統(tǒng)計服務(wù)的站,非常不錯。
admin5:ALEXA排名22091,公司化運營。站長站中的后起之秀,內(nèi)容做的非常不錯,深受站長喜愛。
其它:還有其它方面的網(wǎng)站,這里就不細舉了。
注:不做個人站長好多年,以上市場分析純粹瞎寫的。
從以上分析可以看出,雖然同類站點很多,但成功的也就這么幾家,如果我們不求大,只求精,還是有機會的。
4、明確用戶定位?,F(xiàn)在我們拿出紙和筆,從不同角度去把網(wǎng)站用戶的需求一條一條寫出來:從建站的過程可以分為:建站前、建站中、建站后;從運營需求可以分為:SEO優(yōu)化、賺錢技巧、市場推廣、內(nèi)容建設(shè)等;從網(wǎng)站類型可以分為:論壇站長、地方站長、下載站長等。
建站前:主要包含空間的選擇、域名的選擇、程序的選擇、源碼的下載等。
建站中:主要包含網(wǎng)頁的設(shè)計、欄目的設(shè)定、內(nèi)容的建設(shè)、一些免費的資源等。
建站后:網(wǎng)站的盈利、網(wǎng)站的推廣等。
1、古典風格(豪華富裕)
在裝修剛興起的年代,裝修大多追求的是較為豪華富裕的風格。尤其是在20世紀80年代和90年初,室內(nèi)裝修往往是炫耀自己身份的一種特殊形式。業(yè)主們會要求把各種象征豪華的設(shè)計嵌入裝修之中,例如彩繪玻璃吊頂、壁爐、裝飾面板、裝飾木角線等等,而且基本上以類似于巴洛克風格結(jié)合國內(nèi)存在的材料為主要裝飾方式。
2、樸素風格(隨心所欲)
20世紀90年代,在一些地區(qū)出現(xiàn)一股家裝熱。由于受技術(shù)和材料所限,那時還沒有真正意文上的設(shè)計師來進行家裝指導(dǎo),因此隨心所欲就是當時的最大寫照。業(yè)主們開始追求一種整潔明亮的室內(nèi)效果。時至今日,這種風格仍然是大多數(shù)初次置業(yè)者裝修的首選。
3、精致風格(高貴莊重)
在經(jīng)過近10年的摸索,隨著國內(nèi)居民的生活水平的提高、對外開放的增多,人們開始向往和追求高品質(zhì)的生活。大約是從20世紀90年代中期開始,人們開始在裝修中使用精致的裝飾材料和家具,尤其是在這個時候,國內(nèi)的設(shè)計師步入家裝設(shè)計行列,從而帶來了一種新的裝飾理念。
4、自然風格(藝術(shù)休閑)
20世紀90年代開始的裝飾熱潮,帶給人們眾多的裝飾觀念。市面上大量出現(xiàn)的臺灣、香港的裝飾雜志讓人們大開眼界,以前大家所不敢想像的諸如小花園、文化石裝飾墻和雨花石等裝飾手法紛紛出現(xiàn)在現(xiàn)實的設(shè)計之中。尤其是大家看慣了紅櫸大量使用所造成的“全國裝修一片黃”的裝飾現(xiàn)象之后,親近自然、返璞歸真也就成為了人們所追求的目標之一。
5、輕快風格(豪爽大方)
20世紀90年代中期開始,家居的設(shè)計思想得到了很大的解放,人們開始追求各種各樣的設(shè)計方式,其中現(xiàn)代主義、后現(xiàn)代主義等一系列較為完整的設(shè)計體系在室內(nèi)設(shè)計中形成。人們在談及裝修時,這些“主義”頻繁地出現(xiàn)在嘴邊。這種風格基本上以櫻桃木作為主要的木工飾面。
6、柔和風格(平穩(wěn)獨立)
在上世紀未本世紀初,一種追求平穩(wěn)中帶點豪華的仿會所式的設(shè)計開始在各式房地產(chǎn)樓盤的樣板房和寫字樓中出現(xiàn),繼而大量出現(xiàn)在普通的家居裝飾之中。這種風格比較強調(diào)一種較為簡單但又不失內(nèi)容的裝飾形式,逐步形成了以黑胡桃為主要木工裝飾面板的風格。其中,簡約主義和極簡主義開始浮出水面。
7、優(yōu)雅風格(恬靜溫柔)
這是出現(xiàn)在上世紀未本世紀初的一種設(shè)計風格,它基本上基于以墻紙為主要裝飾面材、結(jié)合混油的木工做法。這種風格強調(diào)比例和色彩的和諧。人們開始會把一堵墻的上部分與天花同色,而墻面使用一種帶有淡淡紋理的墻紙。整個風格顯得十分優(yōu)雅和恬靜,不帶有一絲的浮躁。
8、都市風格(獨立個性)
進入21世紀,房改的進行,眾多年輕的初次置業(yè)者的出現(xiàn),為這種風格的產(chǎn)生注入了動力。年輕人剛剛買了房子,很多都囊中羞澀,而這個時候的房地產(chǎn)基本上又都是以毛坯房(一種不帶基本裝修的風格)為主,這些年輕人被迫進行了裝修的革命。受財力所限,人們開始通過各種各樣的形式來強調(diào)已經(jīng)“裝修”的觀感,其中大量使用明快的色彩就是一種典型的例子。人們會在家居中大量使用各種各樣的色彩,有時候甚至在同一個空間中,使用三種或三種以上的色彩。
9、清新風格(輕淡寫意)
關(guān)鍵詞: 測試用例;前置條件;粒度設(shè)計
Key words: test case;pre-conditions;granularity design
中圖分類號:TP39 文獻標識碼:A 文章編號:1006-4311(2012)20-0195-03
0 引言
軟件測試是軟件能否通向市場的最后也是最重要的一關(guān),手工測試作為一種傳統(tǒng)的測試方式,其特點就是簡單。但存在很多問題,如大量重復(fù)性的工作導(dǎo)致成本較高,人員積極性下降,人員操作失誤引起的輸入錯誤等。
針對手工測試的缺點,自動化測試應(yīng)運而生。但并不是所有的項目都適合引入自動化測試,也不是引入了自動化測試就會提高測試效率,降低測試成本。實際上自動化測試更需要開發(fā)和搭建測試框架,設(shè)計測試用例,這就意味著成本的投入。
1 自動化測試的設(shè)計原則
為了更好的體現(xiàn)自動化測試的優(yōu)勢,當進行自動化測試設(shè)計時,需要考慮到當前項目并計劃到未來的項目。一個優(yōu)秀的自動化測試設(shè)計,必須具備如下原則:①易于維護性-減少更新修改的工作量;②可靠性-測試結(jié)果精確,能夠真實反映當前項目問題;③復(fù)用性-測試腳本可以復(fù)用,包括在未來的其他項目里。
自動化測試中,自動化測試用例是一個重點中的重點,如何設(shè)計自動化測試用例是決定自動化測試成敗的關(guān)鍵。
2 自動化測試用例的設(shè)計
2.1 自動化測試用例設(shè)計特點 手工測試用例的執(zhí)行實施是測試人員,在用例設(shè)計中所描述的行為主要使得測試人員能夠按照測試設(shè)計者的思維去執(zhí)行測試。自動化測試用例編寫者是測試設(shè)計師而執(zhí)行實施是計算機,自動化測試用例設(shè)計時必須滿足如下兩個原則:①測試用例能夠體現(xiàn)測試設(shè)計師的設(shè)計思維,并且盡量提供便捷的方式編寫用例,提高測試用例的編寫效率;②測試用例能夠被計算機所解析。自動化測試用例如果要被計算機所能解析,那么自動化測試用例必須有一套可以計算機識別解析的規(guī)則,并且需要涵蓋測試用例需要填寫的相關(guān)元素,盡量降低編寫的榮譽和提升編寫的效率。
2.2 手工測試用例要素 自動化測試所有活動都來源于手工測試活動,那么用例規(guī)則的提煉主要數(shù)據(jù)源將來源于現(xiàn)實工作中的測試用例。如表1所示手工測試用例。
傳統(tǒng)手工測試用例一般涵蓋元素:①測試用例名稱:區(qū)分不同的測試用例。②測試前提條件:這個目的主要是標識執(zhí)行這個測試用例的之前,必須要完成的事情,這個事情可以是一個測試用例,也可以是其他的事務(wù),比如說環(huán)境重置、數(shù)據(jù)清理等等。可選項。③測試步驟ID:這個目的是標識測試操作的先后順序。在一個用例中一般都是串行工作的,必需項。④測試的操作路徑:這里主要描述系統(tǒng)的操作過程,使得被測系統(tǒng)進行到可以檢測的位置或者檢測狀態(tài),必需項。⑤測試數(shù)據(jù):這里主要指的過程數(shù)據(jù),即使得測試用例能夠通過測試數(shù)據(jù)的驅(qū)動,使得被測系統(tǒng)進入到可檢測的狀態(tài),可選項。⑥期望結(jié)果:系統(tǒng)進行到檢測狀態(tài)后,系統(tǒng)應(yīng)展現(xiàn)的出來的行為而應(yīng)該出現(xiàn)正確的結(jié)果,如果系統(tǒng)所展現(xiàn)的結(jié)果與期待結(jié)果不符,標識為系統(tǒng)的缺陷。必需項。
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)06-1231-04
計算機的應(yīng)用越來越多地深入到人們的日常生活中,然而計算機軟件還遠沒有達到零錯誤的要求。提高軟件質(zhì)量已經(jīng)成為軟件工程領(lǐng)域亟待解決的重要問題。軟件測試,作為一種提高軟件質(zhì)量的重要手段而備受重視。在軟件的開發(fā)生命周期中,軟件測試是一個耗時耗力的過程,已成為軟件開發(fā)的瓶頸之一[1]。據(jù)統(tǒng)計,軟件測試約占軟件開發(fā)和維護成本的50%~75%[2],因此,改進和改善軟件測試技術(shù)變得十分迫切與重要。模糊測試[3]是一種通過提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的技術(shù)。模糊測試一般是一個自動或半自動的過程,這個過程包括反復(fù)操縱目標軟件并為其提供處理數(shù)據(jù)。近年來,有很多學者在不同類型軟件的軟件測試中都證實了模糊測試技術(shù)的有效性和自動化的特點。模糊測試技術(shù)針對不同類型的測試環(huán)境有不同的測試策略。例如,張等人[4]提出了一種針對網(wǎng)絡(luò)協(xié)議及模糊測試框架。沈等人[5]提出了一種基于文件規(guī)范描述的文件模糊測試算法,有效避免“無效”測試用例的生成,提高效率同時也增加了測試的全面性。
上面提到的模糊測試的研究重點主要集中在模糊器的設(shè)計與實現(xiàn)上,幾乎沒有涉及到錯誤定位的技術(shù)?;陬l譜的錯誤定位方法是基于實際執(zhí)行的動態(tài)錯誤定位技術(shù)的具體應(yīng)用。Harrold等人證實了程序頻譜與程序行為之間的關(guān)系,論證了通過研究運行失敗測試用例得到的頻譜信息與運行成功測試用例得到的頻譜信息之間的差異性可為定位出錯語句提供幫助[6]。該文調(diào)研了模糊測試技術(shù)和自動化錯誤定位技術(shù)的研究進展;第2節(jié)論述了自動化錯誤挖掘與定位技術(shù)可行性,并解釋本文技術(shù)的動機;第3節(jié)介紹自動化錯誤挖掘與定位技術(shù)的實現(xiàn)方法;模型的實現(xiàn)將在第4節(jié)給出;第5節(jié)總結(jié)并展望未來的研究方向。
1 研究動機
在軟件的生命周期中,軟件的維護成本所占比例特別大,所以一個好的軟件測試方法是非常必要的。一種優(yōu)秀的測試方法可以發(fā)現(xiàn)軟件中存在的大部分漏洞,從而可以降低軟件的維護成本,提高軟件的質(zhì)量。模糊測試是1989年由Bartoon Miller教授首先提出的,并通過模糊測試在UNIX存在的大量漏洞。在1999年Oulu大學開發(fā)PROTOS測試集,這標志著模糊測試發(fā)展歷程的一個重要里程碑。2002年P(guān)ROTOS開始成熟,在2004年文件模糊測試開始興起,AxtiveX模糊測試在2006年開始流行。到目前為止模糊測試取得了一定的發(fā)展,已經(jīng)是軟件漏洞挖掘中不可或缺的技術(shù),但是這項技術(shù)仍然不是特別成熟[3]。圖1給出了模糊測試的過程。
軟件錯誤定位技術(shù)是通過運行測試用例得到程序的各條語句被測試用例覆蓋的信息,然后利用覆蓋信息計算出程序中語句的出錯可疑度[7]。在實際的測試過程中,有很多情況是測試用例導(dǎo)致程序的崩潰,程序崩潰時寄存器中的信息也是非常重要的。所以利用程序的覆蓋信息與程序崩潰是寄存器存儲的信息共同來定位程序的出錯信息可以提高定位的精度和速度。利用GCC中的GCOV命令可以收集C程序的運行的詳細信息,包括覆蓋率、代碼的執(zhí)行路徑、程序的執(zhí)行結(jié)果等信息。利用GDB調(diào)試器可以查看程序運行時CPU寄存器的狀態(tài)。
隨著計算機的不斷發(fā)展,程序的代碼越來越龐大,基于源代碼審核的白盒測試需要大量的人力和時間,這會大大增加軟件開發(fā)的成本。軟件測試的自動化是未來軟件測試發(fā)展的主要方向,通過把模糊測試技術(shù)和軟件錯誤定位技術(shù)結(jié)合起來,可以實現(xiàn)軟件測試的自動化,提高軟件維護的效率。
2 自動化錯誤挖掘與定位技術(shù)
在這一節(jié)將介紹自動化錯誤挖掘與定位技術(shù)的總體結(jié)構(gòu),以及對結(jié)構(gòu)中各主要模塊的功能與實現(xiàn)。
2.1 自動化錯誤挖掘與定位技術(shù)的總體結(jié)構(gòu)
為了實現(xiàn)軟件測試的自動化,所提出的解決方案由一下幾個模塊組成:模糊器模塊,測試結(jié)果記錄模塊,錯誤位置分析模塊。圖2為自動化錯誤挖掘與定位技術(shù)的流程圖。
圖2 自動化錯誤挖掘與定位技術(shù)的流程圖
2.2 模糊器模塊
模糊器模塊的主要作用是生成測試用例,并把測試用例提交給被測軟件,是模糊測試的核心結(jié)構(gòu)。模糊測試可分為兩類[8]:基于變異的模糊測試和基于生成的模糊測試。對于不同的測試目標有不同的模糊器,其中主要的分類有:
1) 環(huán)境變量和參數(shù)。測試對象主要是命令行參數(shù)和環(huán)境變量,主要的模糊器是iFuzz。
2) Web應(yīng)用程序和服務(wù)器。針對Web服務(wù)器的存在漏洞的模糊器有Dave Aitel開發(fā)的SPIKE和WebScarab。
3) 文件格式。針對特定的文件格式,用于挖掘客戶端文件解析漏洞,主要的模糊器有notSPIKEfile、SPIKEfile和FileFuzz。
4) 網(wǎng)絡(luò)協(xié)議。通過特定的Socket形式將變異或者含有錯誤的數(shù)據(jù)包發(fā)送給目標程序,相應(yīng)的模糊器有SPIKE和ProtoFuzz。
此外對于特定的測試目標,我們也可以手動構(gòu)造模糊器,在構(gòu)造模糊器時要充分考慮程序中可能存在的問題,例如:拒絕服務(wù)、整數(shù)處理問題、簡單的棧和堆溢出、格式化字符串和目錄遍歷等。對于不同的問題確定模糊器不同的用例生成規(guī)約。例如,對于整數(shù)處理問題,我們可以設(shè)計這樣的用例規(guī)約:生成邊界值附近的測試用例0,-1,1,2,3,0XFFFFFFFF-1,0XFFFFFFFF-2等測試用例。此外,我們還可以直接在網(wǎng)上下載有用的工具和庫,具體請查看文獻[12]。
2.3 測試結(jié)果記錄模塊
我們的目標是實現(xiàn)軟件測試的自動化,所以就不能依賴人工識別錯誤。為了實現(xiàn)這個目標,我們需要一種可靠的,可編程的方法。有一種方法是檢查程序的返回代碼[9],在現(xiàn)在的UNIX和Linux系統(tǒng)中,如果一個應(yīng)用程序因為一個為處理的信號而中止,那么Shell的返回代碼將等于128加上該信號數(shù)字??梢岳眠@個值來判斷不同的錯誤。還有就是把應(yīng)用程序連接到調(diào)試器,錯誤處理機制將阻止由模糊測試所導(dǎo)致的許多錯誤的明顯標記,但是這些錯誤一般可以通過使用一個調(diào)試器來發(fā)現(xiàn)。在Linux操作系統(tǒng)中,GDB就是一個特別好的調(diào)試器,一般來說,GDB主要幫助你完成下面四個方面的功能:1)啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序;2)可讓被調(diào)試的程序在你所指定的調(diào)置的斷點處停??;3)當程序被停住時,可以檢查此時你的程序中所發(fā)生的事;4)動態(tài)的改變你程序的執(zhí)行環(huán)境。對于有些應(yīng)用程序,我們也可以通過見識其運行日志帶識別程序的運行結(jié)果。
測試用例執(zhí)行路徑是用于錯誤定位分析的主要數(shù)據(jù),檢測程序的主要方法是在程序的源代碼中進行插樁,根據(jù)程序的執(zhí)行結(jié)果來得到一個測試用例的執(zhí)行路徑。但是這種方法是基于語句的,在前期對源代碼的處理中費時費力,效率低下。在這里提出了一種新的插樁策略,在程序運行的時候,有很多語句塊只要語句塊的第一條指令被執(zhí)行,其后面的所有語句都會被執(zhí)行,把這樣的代碼塊稱為基本塊。在插樁時以基本塊為單位,這樣可以減少前期的準備工作,又可以提高程序的運行效率。
對于每個測試用例的結(jié)果都進行保存,用于最后的定位分析。我們把用例執(zhí)行的相關(guān)信息保存到數(shù)據(jù)庫中,其中數(shù)據(jù)庫有三個標,分別用為:
1) 代碼表(codes),用來存儲程序的源代碼;
2) 用例執(zhí)行信息表(info),用來存儲用例執(zhí)行的各種信息,主要用,測試用例、執(zhí)行路徑、執(zhí)行結(jié)果等;
3) 異常表(abnormal),存儲導(dǎo)致程序出現(xiàn)異常時CUP各寄存器以及堆棧中的信息。
下面是記錄模塊的結(jié)構(gòu)圖。
圖3 記錄模塊結(jié)構(gòu)圖
2.4 錯誤位置分析模塊
錯誤位置分析模塊的功能是根據(jù)數(shù)據(jù)庫中的測試數(shù)據(jù)計算可能出錯或存在漏洞的語句。因為數(shù)據(jù)庫中記錄了每條測試用例的執(zhí)行路徑和執(zhí)行結(jié)果??梢岳脭?shù)據(jù)庫強大的數(shù)據(jù)處理能力,計算出錯路徑中每條語句的可疑度,其計算公式如公式(1):
[RESULTi(s)=TFi(s)TFi(s)+TP(s)] (1)
其中,TFi(S)經(jīng)過語句S出錯(錯誤類型為i)的測試用例個數(shù),TP(S)是正常經(jīng)過語句S的測試用例數(shù)。最后得到的結(jié)果為一系列語句可疑度的列表,其中可疑度最大的,出錯的可能性也最大。
3 模型實現(xiàn)與實驗
實驗?zāi)P褪墙⒃趗buntu 13.04 操作系統(tǒng)上,應(yīng)用的開發(fā)語言是Python 2.7.4,數(shù)據(jù)庫是Mysql Server 5.5.31。在實驗?zāi)P椭兄饕玫降能浖蠫Cov 4.7.3和GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu。GCov用于收集用例執(zhí)行路徑,Gdb用于查看測試軟件的執(zhí)行細節(jié)。實驗用的目標程序是從SIR[10](http://sir.unl.edu)網(wǎng)站上下載的grep。實驗中數(shù)據(jù)庫表結(jié)構(gòu)如下表。
表1 目標程序代碼表
表2 用例執(zhí)行路徑表
表3 用例執(zhí)行路徑表
通過簡單的模擬實驗,驗證了該方法在軟件測試中代碼覆蓋率、漏洞定位準確性有明顯的提高,并且為發(fā)現(xiàn)的漏洞提供了相應(yīng)的信息。并且在整個軟件測試過程中,需要人干預(yù)的地方很少,基本實現(xiàn)了從用例生成、錯誤檢測和錯誤定位的自動化。
4 總結(jié)與展望
本文中提到的軟件測試方法實現(xiàn)了軟件測試中用例生成、測試與錯誤定位分析的自動化,提高了軟件測試的效率,加快了軟件開發(fā)的周期,降低了軟件維護的成本。同時該方法也存在一定的局限性,不能測試出軟件中存在的邏輯錯誤,也不能能驗證軟件功能的完整,只對軟件中存在其他錯誤(非法引用、堆棧溢出、格式化字符串等)有效。
在以后的研究中,應(yīng)探索新的軟件錯誤定位的方法和技術(shù)??梢詮囊幌聨讉€方面展開研究:
1) 利用動態(tài)的二進制插樁。在軟件測試中,有很多錯誤不能直接被發(fā)現(xiàn),例如:函數(shù)的堆棧溢出,如果溢出只是覆蓋了函數(shù)中的一些變量,沒有覆蓋函數(shù)的返回地址,即EIP的值。這種情況程序是不會報錯的,根據(jù)程序的運行結(jié)果很難定位錯誤。所以利用動態(tài)二進制插樁來實時監(jiān)控程序的運行狀態(tài)是一個不錯的研究方向。
2) 利用人工只能,實現(xiàn)軟件錯誤定位與自動修復(fù)。隨著計算機技術(shù)的發(fā)展,軟件規(guī)模越來越大,Binkley 估計到 2025 年人們開發(fā)的代碼將達到萬億行[11]。面對數(shù)量龐大的代碼,數(shù)據(jù)挖掘、機器學習等人工智能技術(shù)將會在故障定位方面得到很好的應(yīng)用。
參考文獻:
[1] Zhang Yu-Qian,Zheng Zheng,Ji Xiao-Hui. Markov Mpdel-Based Effectiveness Predicting for Software Fault Location[J].Chinese Journal of Computer, 2013,36(2):445-448.
[2] Yu Kai,Lin Meng-Xiang.Advances in automatic fault localization techniques.Chinese Journal of Computer,2011,34(8):1411-1422.
[3] Sutton M,Amini A G P.Fuzzing: Brute Force Vulnerability Discovery[M]. 黃隴,于莉莉,李虎,譯.北京:機械工業(yè)出版社,2009:13-20.
[4] 張寶峰,張斌,許源.基于模糊測試的網(wǎng)絡(luò)協(xié)議漏洞挖掘[J].清華大學學報:自然科學版,2009,49(S2):2113-2118.
[5] 沈亞楠,趙榮彩,王小芹,等.基于規(guī)范生成的文件模糊測試[J].計算機工程與設(shè)計,2010,31(16):3591-3594.
[6] Harrol M J,Rothermel G,Wu R,Yi L.An empirical investigation of program spectra[C].Proceedings of the ACM SIGPLAN/SIGSOFT Workshop Program Analysis for Software Tools and Eng (PASTE' 98). Montreal, Quebec,Canada,1998:83-90.
[7] 譚德貴,陳林,王子元,等.通過增大邊際權(quán)重提高基于頻譜的錯誤定位效率[J]. 計算機學報,2010,33(12):2335-2338.
[8] 陳衍鈴,王正.模糊測試研究進展[J].計算機應(yīng)用與軟件,2011,28(7):291-293.
[9] Sutton M,Amini A G P.Fuzzing:Brute Force Vulnerability Discovery[M].黃隴,于莉莉,李虎,譯.北京:機械工業(yè)出版社,2009:65-66.
測試一 自信心爆棚還是自卑心籠罩?
1.和朋友相比,你覺得自己對父母更孝順嗎?
2.和其他家庭成員相比,你是否覺得自己對家庭的貢獻最大?
3.你的工作取得了成功,主要原因是你努力勤奮或者天賦出眾嗎?
4.面對難題,只要你愿意,就一定可以找到解決方案嗎?
5.購物時,你總能買到價廉物美的東西嗎?
6.你覺得自己的衣著品位比朋友高一籌嗎?
7.玩牌時,你會指責牌友嗎?
8.你覺得自己要比大多數(shù)人聰明一點點嗎?
9.要是你來做老板,你會比他干得更好嗎?
10.你對社會焦點問題的看法往往是符合社會主流觀點的嗎?
這一組題目測試的是你的交際心理,診斷如下:
70-100 亞健康
你在人際交往中處于超強自信狀態(tài)。在獲得成績以后,你會把功勞歸于自己,樂于接受各種榮譽,并認為這是理所當然的;在遭受挫折時,則把失敗歸咎于他人以推托責任。你認為自己看待世界的方式是最正常的,別人也應(yīng)該和你保持一致。你覺得自己的才智和品德是異乎尋常的,一些很困難的事情,即使別人都失敗了,你也可能獲得成功。
你要認識到:
1.不管你是不是天才,人人都討厭永遠不會犯錯,動輒對別人指手畫腳的人。
2.每個人的思想觀點和生活方式都值得尊重,不要把自己的標準強加于人。
新年調(diào)理計劃:
在新的一年里,你可以完成以下三件事
1.每次做完一件事,就把一張白紙一折為二,在一邊寫上自己的原因,在另一邊寫上別人的原因,這樣有助于你客觀地評價自己。
2.每天自嘲三次,嘲笑別人是刻薄,嘲笑自己就是幽默,先拿自己開涮吧!
3.給自己的交際活動錄一段音,找出那些自我膨脹的話語,如“這事我在行”,“要是我來做就沒問題了”,“這件事不怪我”,“你怎么就不能像我一樣呢”……努力“消滅”它們。
35-65 健康
恭喜!你對自己的評價是客觀的,在交際中你總能擺正自己的位置。
0-35 亞健康
你在人際交往中處于不自信狀態(tài)。你總是認為別人比自己強,因而養(yǎng)成了萬事依賴他人的習慣。在任何場合你都依附別人的觀點,沒有自己的想法,有時難免被人利用。你常常覺得自己一無是處,心情非常沮喪,但獨當一面的機會來臨時,又會猶豫不決,最后總是臨陣脫逃。
你要認識到:
1.天生我材必有用,你肯定有比別人強的方面。2要對自己充滿信心,否則別人怎么會對你有信心呢?
新年調(diào)理計劃
在新的一年里,你可以完成以下三件事:
1.在征求家人、朋友的意見后,對自己的才能做一個正面評價,然后寫下來,情緒低落時看一看,給自己一個良好的心理暗示。
2.每天獨立完成一件事,事無大小(可以是購物、看電影、逛街),但要堅持。
3.每次完成一個工作都小小慶祝一下,請客吃飯或者分發(fā)一些小禮物,和別人分享成功能使你自信十足,并且對更大的成功充滿希望。
測試二 交際過度還是交際匱乏
1.每次在街上遇到一個熟人,你都要聊十分鐘以上嗎?
2.參加婚宴,餐桌上很沉悶,你會主動挑起一個話題嗎?
3.一個人坐長途車,你會主動和鄰座聊天嗎?
4.每次同學聚會你都參加嗎?
5.每周都要和朋友或同事共進晚餐嗎?
6.你每天撥打的電話超過10個嗎?
7.出門忘帶手機就渾身不自在嗎?
8.別人給你的有趣E-mail你每次都轉(zhuǎn)發(fā)嗎?
9.經(jīng)常給別人做媒嗎?
10.在集體活動中做過主持人嗎?
這一組題目測試的是你的交際心理,診斷如下:
70-100 亞健康
這一組題目測試的是你的交際心理,診斷如下:你熱情外向,口齒伶俐,人緣很好,是一個天生的外交家。在陌生的環(huán)境中,總可以在第一時間交到新朋友。每一次朋友聚會都不能離開了你,否則各種活動都會遜色不少。但你投人在社交活動中的精力和時間過多了一點,常常被人譏笑為“言語的巨人,行動的侏儒”。
你要認識到:
1.“交際過度”會使你失去和家人的情感交流,同時會使你覺得時間總是不夠用,經(jīng)常不能做自己喜歡的事。2、有時候沉默是最有力的交際武器,孤獨也是可以用來享受的。
新年調(diào)理計劃
在新的一年里,你可以完成以下三件事:
1.獨身旅游一次,多欣賞自然歷史之美妙,這是一種和天地、歷史、文化的交際。
2.每月至少閱讀一本書,這是和古今中外名人的交際。
3.每天回顧做的事情和說的事情,不斷總結(jié),讓做實事的時間超過說空話的時間。
35-65 健康
恭喜!你的交際態(tài)度是合宜的,面對不同交際場景你總能找到合適的交際態(tài)度。
0-35 亞健康
你是一個沉默寡言的人,喜歡孤獨,也許沉溺于虛擬的網(wǎng)絡(luò)世界。你可能認為家人最重要,家是最讓人舒服的地方。朋友很少,從不公開表達自己的意見,厭惡參加社交活動。別人誤解你,你也懶得和他們解釋。在公眾場合往往更顯得緊張,一開口經(jīng)常結(jié)結(jié)巴巴。
你要認識到:
1.朋友多一個好一個,即使是泛泛之交,也隨時有可能為你提供重要的幫助。
2.請相信你的想法很有意思,和別人交流意見很重要。
新年調(diào)理計劃
在新的一年里,你可以完成以下三件事:
1.參加更多的集體活動,比以往至少多一倍。更重要的不是次數(shù),而是要在每一次活動中尋找屬于自己的樂趣。
2.交更多的朋友,在通訊錄上至少增加20個人的聯(lián)系方式。
3.每次集體討論都大膽地說出自己的想法。
測試三 語無倫次和索然無味?
1.在公開發(fā)言的時候,是不是經(jīng)常聲音顫抖、不知所云呢?
2.在參加討論時,是不是想開口但總是找不到好的時機?
3.和別人溝通時,常常因為表達不清而遭人誤解嗎?
4.經(jīng)常聽不懂別人的言外之意,以至于搞錯別人的用意嗎?
5.每次聊起自己感到有趣的事情,別人總是不以為然嗎?
6.回應(yīng)自己不感興趣的邀請時,經(jīng)常得罪邀請者或者只好違心地:
7.經(jīng)常自以為說的是真心話卻反而得罪人嗎?
8.和陌生人交往,經(jīng)常說不上幾句就冷場嗎?
9.經(jīng)常被推銷員打動,買下一些事后后悔的東西嗎?
10.別人對你的評價是“人還不錯,就是不會說話”嗎?
這一組題目測試的是你的交際心理,診斷如下:
60-100 亞健康
這一組題目測試的是你的交際心理,診斷如下:你為說話問題而苦惱,經(jīng)常說錯話,弄錯別人的意思。不知什么原因,你總是在不恰當?shù)膱龊险f出不恰當?shù)脑捳Z,因而成為別人嘲笑的對象。在你嘴里,簡明的道理亂成一團漿糊,精彩的經(jīng)歷讓人摸不著頭腦,好玩的笑話變得味同嚼蠟。
你要認識到:
1.說明事件要按照時間順序,注意精彩的細節(jié):說明道理要按照因果順序,注意邏輯連貫:說明計劃要按照輕重順序,注
意依次展開。2.有些話語是有言外之意的,它們比字面意義更重要。
新年調(diào)理計劃
在新的一年里,你可以完成以下三件事:
1.每次游玩歸來都把最精彩的事件告訴別人,不妨打一下腹稿,一次失敗就換一個人再試,直到聽眾聽得津津有味為止。
2.觀看電視訪談節(jié)目,閱讀訪談文章,領(lǐng)會其中的問答技巧,在潛移默化中提升交際水平。
3.找一些情景喜劇或話劇的劇本,把一些有弦外之音的對話找出來。在聆聽別人交談時,注意捕捉這樣的隱含意義:在自己說話時,也嘗試著使用這樣的含蓄語言。
0-60 健康
首先要恭喜你已經(jīng)擁有了良好的言談技巧!
你要認識到:
交際技巧沒有最好,只有更好,如果你還需要進一步提高的話,可以從兩方面人手:1提高公開演講能力,雖然對公開演講感到緊張是人之常情,但要成為一個社交家,這是必須要過的一關(guān)。2.提高身體語言表達能力。有很多意見并不需要滔滔不絕的宏篇巨論才能表達,很多時候,只要一絲微笑、一個手勢、一種身姿就行了。
新年調(diào)理計劃
在新的一年里,你可以完成以下三件事:
1.多欣賞話劇和啞劇,話劇演員的面部表情和啞劇演員的身體動作完全脫離語言就“說出”了復(fù)雜的意思,這是最高級的