前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇系統(tǒng)測試范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞 軟件測試;軟件質(zhì)量;模擬器
中圖分類號(hào)TN911 文獻(xiàn)標(biāo)識(shí)碼A 文章編號(hào) 1674-6708(2013)95-0224-02
隨著信息技術(shù)與信息產(chǎn)業(yè)的發(fā)展,計(jì)算機(jī)軟件廣泛地滲入到了我們的工作和生活中,各種產(chǎn)品和設(shè)備與計(jì)算機(jī)軟件的聯(lián)系也越來越緊密。計(jì)算機(jī)軟件的質(zhì)量優(yōu)劣也日益受到人們的重視。軟件測試是保證軟件質(zhì)量的重要手段。在軟件工程中,軟件測試是軟件生命周期中一項(xiàng)非常重要的工作,也是一項(xiàng)非常復(fù)雜的工作。
1 模擬器軟件的開發(fā)與測試
軟件是模擬器的重要組成部分,軟件的質(zhì)量直接影響著模擬器的質(zhì)量。軟件如果存在缺陷或故障,將會(huì)導(dǎo)致模擬器在使用過程中發(fā)生錯(cuò)誤,對(duì)用戶產(chǎn)生各種影響。模擬器軟件的開發(fā)過程一般包括制定計(jì)劃、需求分析、軟件設(shè)計(jì)、軟件編碼、軟件測試、運(yùn)行維護(hù)等6個(gè)階段。軟件測試是模擬器軟件開發(fā)過程中的一個(gè)階段,是保證模擬器軟件質(zhì)量的重要方法和手段。軟件測試技術(shù)可分為靜態(tài)測試與動(dòng)態(tài)測試。靜態(tài)測試是一種不通過執(zhí)行程序而進(jìn)行測試的技術(shù),關(guān)鍵是檢查軟件的表示和描述是否一致,有無沖突或歧義。動(dòng)態(tài)測試通過人工或使用工具運(yùn)行程序進(jìn)行檢查,分析程序的執(zhí)行狀態(tài)和程序運(yùn)行的表象。動(dòng)態(tài)測試一般分為白盒法測試和黑盒法測試。白盒法測試對(duì)象是源程序,依據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)來發(fā)現(xiàn)編程錯(cuò)誤、結(jié)構(gòu)錯(cuò)誤和數(shù)據(jù)錯(cuò)誤。黑盒法是把測試對(duì)象看成一個(gè)黑盒子,依據(jù)軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯(cuò)誤。
模擬器的軟件測試是軟件開發(fā)過程中的一個(gè)階段,但不是一個(gè)完全獨(dú)立的階段,而是貫穿于軟件開發(fā)整個(gè)過程中的一個(gè)重要環(huán)節(jié)。模擬器軟件測試過程由單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試等階段組成,整個(gè)測試過程與如圖1所示。其中,系統(tǒng)測試是整個(gè)軟件測試過程中非常重要的測試階段,是軟件的全部功能在實(shí)際運(yùn)行環(huán)境中進(jìn)行驗(yàn)證和確認(rèn)的測試,也是用戶進(jìn)行驗(yàn)收前的測試。
2模擬器軟件系統(tǒng)測試的目的和內(nèi)容
模擬器軟件測試是一項(xiàng)非常復(fù)雜的工作,首先要按照詳細(xì)設(shè)計(jì)的要求對(duì)所有模塊的功能、性能、接口等進(jìn)行單元測試,發(fā)現(xiàn)每個(gè)程序模塊內(nèi)部可能存在的差錯(cuò),確保每個(gè)模塊單元工作正常。在單元測試的基礎(chǔ)上,將所有已通過單元測試的模塊按照概要設(shè)計(jì)的要求組裝成系統(tǒng)進(jìn)行集成測試,發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤,確保各單元模塊集成系統(tǒng)后能夠按設(shè)計(jì)要求協(xié)作運(yùn)行,并確保增量行為的正確性。
模擬器軟件的系統(tǒng)測試,就是將已經(jīng)過集成測試的模擬器軟件和其它支持軟件安裝在模擬器的專用計(jì)算機(jī)上,并與模擬器的硬件設(shè)備、人員等所有系統(tǒng)元素結(jié)合在一起,在實(shí)際的運(yùn)行環(huán)境下,對(duì)模擬器軟件進(jìn)行全面測試。通過對(duì)模擬器軟件的需求定義進(jìn)行比較,找出軟件與需求定義不相符之處,通過對(duì)模擬器進(jìn)行一系列嚴(yán)格測試來發(fā)現(xiàn)軟件中潛在的錯(cuò)誤和缺陷,以確保模擬器交付給用戶后能夠正常使用。
模擬器軟件系統(tǒng)測試包含功能性測試和非功能性測試兩類測試內(nèi)容。功能性測試的目的是測試軟件的主要功能與用戶的需求是否一致,主要進(jìn)行訓(xùn)練環(huán)境設(shè)置功能測試、訓(xùn)練功能測試、訓(xùn)練評(píng)估功能測試。非功能性測試主要測試軟件的性能、可靠性、健壯性是否滿足設(shè)計(jì)要求,主要進(jìn)行性能測試、可靠性測試、易用性測試。模擬器軟件的系統(tǒng)測試主要采用黑盒測試技術(shù)中的因果圖、決策表、錯(cuò)誤推測等測試方法。
3 模擬器軟件的功能性測試
功能測試不考慮模擬器軟件的內(nèi)部結(jié)構(gòu)和處理過程,通常在程序的界面處進(jìn)行測試,測試軟件是否能夠按照需求的規(guī)定正常運(yùn)行,是否能夠?qū)崿F(xiàn)與需求一致的所有功能,發(fā)現(xiàn)軟件與需求定義不相符之處和潛在的錯(cuò)誤與缺陷。模擬器軟件的功能性測試主要進(jìn)行訓(xùn)練環(huán)境設(shè)置功能測試、訓(xùn)練功能測試和訓(xùn)練評(píng)估程序功能測試。
3.1 訓(xùn)練環(huán)境設(shè)置功能測試
在訓(xùn)練開始前模擬器要進(jìn)行訓(xùn)練環(huán)境設(shè)置,訓(xùn)練環(huán)境包括地理地形、氣象條件、各種設(shè)置、各類模型數(shù)據(jù)等。訓(xùn)練環(huán)境設(shè)置的功能測試用例應(yīng)當(dāng)按照軟件需求進(jìn)行設(shè)計(jì),要考慮到不同訓(xùn)練環(huán)境的各種組合情況,測試目的就是核實(shí)在不同的環(huán)境設(shè)置時(shí)數(shù)據(jù)載入是否正確、是否完整,是否完全符合設(shè)計(jì)要求。
3.2 訓(xùn)練功能測試
模擬器的訓(xùn)練功能就是在各種操作方式(正確或錯(cuò)誤)條件下仿真裝備的真實(shí)反應(yīng)(狀態(tài)和過程)。不同的操作方式就是按照不同的操作順序?qū)⒛M器不同設(shè)備面板的各種操作器件置于不同的位置狀態(tài),所有操作器件不同順序的不同位置狀態(tài)可以產(chǎn)生數(shù)量很大的各種條件的輸入組合。仿真裝備的真實(shí)反應(yīng)就是模擬器軟件的輸出,就是啟動(dòng)不同的仿真過程、或改變仿真進(jìn)程、或使模擬器顯示器件顯示不同內(nèi)容與狀態(tài)、或?qū)е氯S場景的不同改變。對(duì)于模擬器軟件這種多條件組合輸入、產(chǎn)生多動(dòng)作輸出的復(fù)雜功能測試使用因果圖(邏輯模型)方法設(shè)計(jì)測試用例比較合適。
采用因果圖方法設(shè)計(jì)模擬器軟件功能測試用例的步驟:首先確定模擬器軟件功能中的原因和結(jié)果,確定原因和結(jié)果之間的邏輯關(guān)系,根據(jù)這些關(guān)系畫出因果圖。確定因果圖中的各個(gè)約束。然后把因果圖轉(zhuǎn)換為決策表。根據(jù)決策表設(shè)計(jì)測試用例。
由于模擬器軟件的功能測試比較復(fù)雜,應(yīng)當(dāng)采用錯(cuò)誤推測法作為輔助測試方法,依靠測試人員的經(jīng)驗(yàn)和直覺推測軟件功能可能存在的各種錯(cuò)誤從而有針對(duì)性地設(shè)計(jì)測試用例。
根據(jù)測試用例進(jìn)行訓(xùn)練功能測試,檢查在各種操作方式條件下軟件的訓(xùn)練仿真過程以及模擬器表象及狀態(tài)是否與設(shè)計(jì)要求完全一致、是否存在錯(cuò)誤和潛在的缺陷。
3.3 訓(xùn)練評(píng)估程序的功能測試
對(duì)訓(xùn)練過程進(jìn)行評(píng)估是模擬器的一個(gè)重要功能。訓(xùn)練環(huán)境的設(shè)置數(shù)據(jù)和訓(xùn)練過程中對(duì)模擬器的所有操作過程都按照時(shí)間先后以規(guī)定的數(shù)據(jù)格式完整地記錄在操作過程的文件中。訓(xùn)練評(píng)估程序的功能就是將記錄的操作過程文件作為輸入數(shù)據(jù),經(jīng)過邏輯分析和數(shù)據(jù)計(jì)算,輸出此次訓(xùn)練的成績和訓(xùn)練過程的評(píng)語。由于訓(xùn)練評(píng)估程序的輸入是整個(gè)訓(xùn)練過程的全部操作,所有操作器件產(chǎn)生的操作順序組合將達(dá)到非常大的數(shù)目,實(shí)際中可能無法完成,在設(shè)計(jì)測試用例時(shí)采用等價(jià)類技術(shù)對(duì)操作過程的各種順序組合進(jìn)行劃分,從劃分的每個(gè)區(qū)域內(nèi)選取有代表性的操作過程作為測試用例。測試的目的就是檢查對(duì)不同的操作過程輸出的成績和評(píng)語是否正確,是否與專家評(píng)定結(jié)果一致。
4 模擬器軟件的非功能性測試
模擬器軟件的非功能性測試主要內(nèi)容包括性能測試、可靠性測試、易用性測試。
4.1 性能測試
性能測試主要檢驗(yàn)?zāi)M器軟件是否達(dá)到需求規(guī)定的各類性能指標(biāo),并滿足一些性能相關(guān)的約束和限制條件。軟件運(yùn)行的實(shí)時(shí)性是非常重要的性能指標(biāo)。模擬器軟件的實(shí)時(shí)性測試主要包括操作響應(yīng)時(shí)間的測試以及三維場景顯示的流暢與連續(xù)性測試。操作的響應(yīng)時(shí)間應(yīng)當(dāng)與裝備的響應(yīng)時(shí)間一致。場景的流暢要符合人們的視覺感受,如果三維場景繪制復(fù)雜、數(shù)據(jù)量大時(shí)會(huì)導(dǎo)致顯示幀頻下降,人眼就會(huì)感到畫面間斷、停頓,顯示幀頻是衡量流暢性的指標(biāo)。三維場景的流暢性與場景中三維實(shí)體的數(shù)量、復(fù)雜程度、分辨率,以及三維場景特效(如煙霧)等有直接關(guān)系,應(yīng)當(dāng)以場景實(shí)體和特效達(dá)到或接近最苛刻的過程進(jìn)行場景顯示的實(shí)時(shí)性測試。
4.2 可靠性測試
軟件的可靠性也叫做穩(wěn)定性,是指在負(fù)載多變的情況下或長時(shí)間運(yùn)行的情況下模擬器軟件運(yùn)行的穩(wěn)定程度。模擬器軟件的可靠性測試可以使用重復(fù)測試、并發(fā)測試、隨機(jī)變化以及長時(shí)間不間斷運(yùn)行等方法。重復(fù)測試就是對(duì)某一器件進(jìn)行重復(fù)操作,測試模擬器能否持續(xù)不斷地仿真設(shè)備的真實(shí)運(yùn)行效果;并發(fā)測試就是同時(shí)對(duì)多個(gè)器件進(jìn)行操作,測試模擬器能否產(chǎn)生與設(shè)備同樣的狀態(tài);隨機(jī)變化就是不按照正常的操作順序,而是設(shè)計(jì)非常規(guī)的隨機(jī)操作順序或?qū)χ貜?fù)和并發(fā)測試手段進(jìn)行隨機(jī)組合,以獲得最佳的測試效果。按照設(shè)計(jì)要求讓模擬器軟件長時(shí)間不間斷地運(yùn)行,測試軟件是否運(yùn)行正常、功能是否出錯(cuò)。
4.3 易用性測試
模擬器軟件的易用性主要是指訓(xùn)練環(huán)境設(shè)置、成績?cè)u(píng)估等環(huán)節(jié)的界面易懂、選擇準(zhǔn)確、操作方便。界面的設(shè)計(jì)要盡量符合人們的習(xí)慣和思維方式,按鈕名稱用詞準(zhǔn)確、沒有歧義,同一界面的按鈕要易于區(qū)分,用戶能夠進(jìn)行正確理解界面的功能并能夠進(jìn)行正確操作。用戶能夠終止進(jìn)程,重新返回、重新選擇。通過對(duì)界面的操作來測試模擬器軟件的易用性。
5 結(jié)論
系統(tǒng)測試是軟件交給用戶進(jìn)行驗(yàn)收測試的最后一道關(guān)口,對(duì)保證軟件的質(zhì)量起著非常重要的作用。系統(tǒng)測試也是測試人員需要花大量的時(shí)間和精力才能完成的工作,雖然有些測試工作可以使用軟件測試工具來完成,但由于每一種測試工具都有其特定領(lǐng)域的應(yīng)用,都有其自身的很多局限性,軟件測試工具本身不具備創(chuàng)造力,不能設(shè)計(jì)測試用例,不能處理意外事件,使用測試工具發(fā)現(xiàn)的缺陷也沒有手工測試發(fā)現(xiàn)的多。系統(tǒng)測試中的很多工作主要還是靠人完成的,測試人員的能力和素質(zhì)最終決定了測試結(jié)果的好壞。根據(jù)系統(tǒng)測試結(jié)果和系統(tǒng)測試分析報(bào)告,在驗(yàn)收測試前完善軟件功能、糾正軟件錯(cuò)誤、消除軟件潛在的缺陷,提高軟件質(zhì)量。
參考文獻(xiàn)
[1]趙斌.軟件測試技術(shù)經(jīng)典教程 [M].2版.北京:科學(xué)出版社,2011.
[2]李海生,郭銳.軟件測試技術(shù)案例教程[M].北京:清華大學(xué)出版社,2012.
【關(guān)鍵詞】系統(tǒng)測試;信息系統(tǒng);監(jiān)理;要點(diǎn)
中圖分類號(hào):P208 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):
前言
隨著我國信息化工程的加速推進(jìn),在項(xiàng)目的信息化過程中引入了第三方監(jiān)理。其主要職能是對(duì)軟件信息系統(tǒng)進(jìn)行監(jiān)理工作。主要負(fù)責(zé)測試系統(tǒng),達(dá)到項(xiàng)目驗(yàn)收的目的,在監(jiān)理測試信息系統(tǒng)的過程中,系統(tǒng)測試工作的規(guī)范化,標(biāo)準(zhǔn)化,科學(xué)化,有利于信息系統(tǒng)測試結(jié)果的準(zhǔn)確性的提高。本文針對(duì)信息系統(tǒng)測試中監(jiān)理的要點(diǎn)進(jìn)行分析,指出了監(jiān)理工作的重點(diǎn)及重要性。
二、信息系統(tǒng)測試的流程和關(guān)注點(diǎn)
1.信息系統(tǒng)項(xiàng)目測試的流程
從信息系統(tǒng)監(jiān)理的角度,信息系統(tǒng)項(xiàng)目中測試的流程基本分兩步進(jìn)行,第一步,承建單位進(jìn)行的測試;第二步,項(xiàng)目小組(建設(shè)單位、監(jiān)理單位、承建單位)進(jìn)行的測試。
圖1 信息系統(tǒng)項(xiàng)目測試的流程
2.系統(tǒng)測試的關(guān)注點(diǎn)
(一) 信息系統(tǒng)的類型
信息系統(tǒng),從項(xiàng)目建設(shè)的角度可以分為純開發(fā)系統(tǒng)和二次開發(fā)配置系統(tǒng)。純開發(fā)系統(tǒng)是指根據(jù)用戶需求,采用某種編程語言(如Java、JSP)和某種開發(fā)工具(如eclipse),從零基礎(chǔ)開始編寫代碼實(shí)現(xiàn)的系統(tǒng)。二次開發(fā)配置系統(tǒng)是指在成品軟件(如Oracle DIM、Oracle BIEE、Oracle CRM、Oracle EBS、Oracle iLearning等)的基礎(chǔ)上,根據(jù)用戶需求,進(jìn)行配置開發(fā)實(shí)現(xiàn)的系統(tǒng)。
(二)純開發(fā)系統(tǒng)
純開發(fā)系統(tǒng)的質(zhì)量與開發(fā)人員的技術(shù)水平、開發(fā)風(fēng)格、對(duì)系統(tǒng)需求目標(biāo)的理解等因素有很密切的關(guān)系,導(dǎo)致純開發(fā)系統(tǒng)的測試工作任務(wù)繁重,其關(guān)注點(diǎn)也很多、很細(xì)。從監(jiān)理的角度,假定系統(tǒng)基本包含用戶需求的所有功能點(diǎn),純開發(fā)系統(tǒng)測試時(shí)的關(guān)注點(diǎn),可以概括為:(1)系統(tǒng)界面布局的合理性、美觀性;(2)系統(tǒng)每個(gè)組件、控件的有效性、合理性;(3)系統(tǒng)流程邏輯的合理性;(4)具體功能的實(shí)現(xiàn)方式的最優(yōu)性;(5)開發(fā)代碼的可閱讀性等。
(三)二次開發(fā)配置系統(tǒng)
二次開發(fā)配置系統(tǒng)的質(zhì)量部分取決于所基于的軟件產(chǎn)品的質(zhì)量。進(jìn)行二次開發(fā)配置系統(tǒng)測試時(shí)的關(guān)注點(diǎn),可以概括為:(1)系統(tǒng)組件、控件的有效性;(2)系統(tǒng)流程邏輯的合理性等。
與純開發(fā)系統(tǒng)的區(qū)別,主要體現(xiàn)在(1)系統(tǒng)界面的整體布局基于成品軟件產(chǎn)品,細(xì)節(jié)部分可以二次干預(yù);(2)系統(tǒng)組件、控件的合理性也基于成品軟件產(chǎn)品,不建議二次干預(yù)(系統(tǒng)升級(jí)后,一切恢復(fù)為成品軟件原始狀態(tài));(3)編寫開發(fā)代碼的工作量比純開發(fā)系統(tǒng)的工作量少。
系統(tǒng)測試中監(jiān)理要點(diǎn)分析
1.信息系統(tǒng)測試中監(jiān)理的工作
(一)審核承建單位的單元測試報(bào)告、集成測試報(bào)告、自測報(bào)告(總集成測試報(bào)告)及回歸測試報(bào)告;
(二)審核承建單位提交的系統(tǒng)測試計(jì)劃、系統(tǒng)測試方案(包含測試用例);
(三)根據(jù)測試計(jì)劃和測試方案,制定系統(tǒng)測試記錄表,包括功能測試記錄表、性能測試記錄表、回歸測試記錄表,三方討論確認(rèn)后執(zhí)行;
(四)協(xié)助業(yè)主方、確定性能測試指標(biāo),三方簽字確認(rèn)后執(zhí)行;
(五)根據(jù)測試記錄表,出具測試結(jié)果分析報(bào)告(功能測試結(jié)果分析報(bào)告、性能測試結(jié)果分析報(bào)告、回歸測試結(jié)果分析報(bào)告),其中,功能測試結(jié)果分析報(bào)告和性能測試結(jié)果分析報(bào)告作為回歸測試的依據(jù);
(六)匯總測試結(jié)果分析報(bào)告,出具初驗(yàn)系統(tǒng)測試報(bào)告。
2.平臺(tái)的系統(tǒng)測試
平臺(tái)經(jīng)過需求調(diào)研分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、二次開發(fā)配置、差異化分析及修正、自測等階段之后進(jìn)入項(xiàng)目初驗(yàn)階段,承建方提交初驗(yàn)申請(qǐng),批準(zhǔn)后,業(yè)主方、監(jiān)理方、承建方組成平臺(tái)初驗(yàn)的系統(tǒng)測試小組對(duì)平臺(tái)進(jìn)行系統(tǒng)測試,包括功能測試、性能測試及回歸測試。
(一) 功能測試階段
平臺(tái)的系統(tǒng)測試的功能測試部分的流程,可以概括為:
(1)監(jiān)理方根據(jù)承建方提交的測試方案,制定《功能測試記錄表》包含需求分析說明書中的所有功能點(diǎn)和項(xiàng)目合同文件中的所有功能模塊;
(2)按照測試方案(含測試用例),采用手動(dòng)測試的方式,一邊測試一邊記錄測試情況;
(3)監(jiān)理方對(duì)功能測試記錄表進(jìn)行分析,形成《功能測試結(jié)果分析報(bào)告》,包含通過測試的功能點(diǎn)及模塊、未通過測試的功能點(diǎn)及模塊、計(jì)劃完成功能點(diǎn)及模塊數(shù)與實(shí)際完成功能點(diǎn)及模塊數(shù)的比較、存在的問題及建議;
(4)承建方根據(jù)功能測試結(jié)果分析報(bào)告,制定《回歸測試記錄》確定初驗(yàn)階段回歸測試的內(nèi)容及終驗(yàn)時(shí)需跟進(jìn)的內(nèi)容,三方討論通過后執(zhí)行。
(二)性能測試階段
平臺(tái)的系統(tǒng)測試的性能測試部分分別采用人工方式和工具測試兩種方式進(jìn)行。該階段的流程,可以概括為:
(1)測試小組討論確定《性能測試指標(biāo)》,包括對(duì)CPU利用率(<=80%)、在CPU利用率允許范圍內(nèi)的最大并發(fā)用戶數(shù)、吞吐量、疲勞強(qiáng)度(12小時(shí))、響應(yīng)時(shí)間、內(nèi)存頁交換率等指標(biāo)的要求規(guī)定;
(2)監(jiān)理方根據(jù)承建方提交的測試方案,制定《性能測試記錄表》包含功能性、可靠性、易用性、效率、可維護(hù)性、可移植性六個(gè)方面;
(3)在功能測試完成時(shí)采用人工方式,進(jìn)行以上六個(gè)方面的性能測試,填寫性能測試記錄表;
(4)監(jiān)理方匯總性能測試記錄表,形成《性能測試結(jié)果報(bào)告》;
(5)根據(jù)性能測試指標(biāo),采用工具測試的方式,對(duì)平臺(tái)進(jìn)行負(fù)載壓力測試,生成測試報(bào)表;
(6)承建方對(duì)測試報(bào)表進(jìn)行分析,形成《性能測試分析報(bào)告》,提交監(jiān)理方審核,審核通過后性能測試結(jié)束。
(三)回歸測試階段
平臺(tái)的系統(tǒng)測試的回歸測試主要是指對(duì)功能測試的回歸測試,該階段的流程,可以概括為:
(1)按照測試方案和《回歸測試記錄》中確定的內(nèi)容對(duì)平臺(tái)進(jìn)行回歸測試,并將結(jié)果記錄在回歸測試記錄中;
(2)監(jiān)理方對(duì)回歸測試記錄結(jié)果進(jìn)行分析,形成《回歸測試結(jié)果分析報(bào)告》,包括本次通過測試的內(nèi)容、還需改進(jìn)在終驗(yàn)時(shí)跟進(jìn)的內(nèi)容、在用戶培訓(xùn)時(shí)需重點(diǎn)跟蹤的內(nèi)容、平臺(tái)上線后需進(jìn)行深化的內(nèi)容;
(3)將回歸測試結(jié)果分析報(bào)告和回歸測試記錄中約定的需在后期跟進(jìn)的內(nèi)容匯總整理形成《工程備忘錄》,作為對(duì)項(xiàng)目初驗(yàn)的補(bǔ)充。
(四)系統(tǒng)測試報(bào)告
平臺(tái)的系統(tǒng)測試u引經(jīng)歷功能測試、性能測試及回歸測試之后基本結(jié)束,監(jiān)理方匯總整個(gè)測試過程中產(chǎn)生的文檔,形成《系統(tǒng)測試報(bào)告》及附件,附件包括《功能測試結(jié)果分析報(bào)告》、《性能測試指標(biāo)》、《性能測試結(jié)果報(bào)告》、《性能測試分析報(bào)告》及測試報(bào)表、《回歸測試結(jié)果分析報(bào)告》、《工程備忘錄》。
四.系統(tǒng)試運(yùn)行中監(jiān)理的工作要點(diǎn)
系統(tǒng)試運(yùn)行是為了檢查系統(tǒng)的穩(wěn)定性、適用性等。一般情況下監(jiān)理方在這個(gè)階段的主要工作有:
1.審核竣工文檔資料的完整性、可讀性及一致性;
2.審核軟件環(huán)境配置與設(shè)計(jì)方案的符合性;
3.檢測驗(yàn)證系統(tǒng)功能性能與合同的符合性;
4.檢查人員培訓(xùn)計(jì)劃落實(shí)情況;
5.出具階段性驗(yàn)收?qǐng)?bào)告;
6.幫助用戶制定系統(tǒng)運(yùn)行管理規(guī)章制度;
7.在保修期內(nèi)定期或不定期對(duì)項(xiàng)目進(jìn)行質(zhì)量檢查、督促承建方按合同要求進(jìn)行維護(hù)。
本階段,軟件開發(fā)的工作告一段落,重點(diǎn)在于解決試運(yùn)行工作中暴露出來的各種問題,和系統(tǒng)交付用戶前的各項(xiàng)準(zhǔn)備工作。一般情況下, 目前業(yè)內(nèi)第三方軟件功能、性能測試均在本階段進(jìn)行。
五、結(jié)束語
信息系統(tǒng)監(jiān)測監(jiān)理工作是一份技術(shù)含量高,智力高等優(yōu)質(zhì)素質(zhì)的工作,他是多種科學(xué)領(lǐng)域綜合交叉的產(chǎn)業(yè),軟件工程監(jiān)理是一門技術(shù)含量高,智力、知識(shí)密集型的產(chǎn)業(yè),信息系統(tǒng)監(jiān)測是多種科學(xué)技術(shù)領(lǐng)域的綜合交叉的產(chǎn)業(yè),涉及到國民經(jīng)濟(jì)的各個(gè)領(lǐng)域,因此,本文著重分析系統(tǒng)監(jiān)測監(jiān)理的工作要點(diǎn),有助于監(jiān)理們更清晰的把握工作職責(zé),讓系統(tǒng)檢測工作得到有的放矢的開展。
參考文獻(xiàn):
關(guān)鍵詞:web測試;測試技術(shù)
在一個(gè)軟件項(xiàng)目開發(fā)中,系統(tǒng)測試是保證整體項(xiàng)目質(zhì)量的重要一環(huán),基于Web的系統(tǒng)測試與傳統(tǒng)的軟件測試既有相似之處,又有不同的地方,對(duì)軟件測試提出了新的挑戰(zhàn)。本文就筆者開發(fā)的工資查詢系統(tǒng)的測試技術(shù)及使用的相應(yīng)的自動(dòng)測試工具做一個(gè)簡要的介紹。
1網(wǎng)站功能測試
1.1.測試環(huán)境配置
本次測試使用了多臺(tái)計(jì)算機(jī),已裝好Windows系統(tǒng)。選擇其中一臺(tái)作為服務(wù)器,將系統(tǒng)運(yùn)行所需的軟件安裝完畢。
1.2.表單測試
用戶提交信息時(shí)需要使用表單操作,在此測試中利用兩臺(tái)計(jì)算機(jī)檢查各個(gè)模塊之間功能的實(shí)現(xiàn),一臺(tái)為已安裝好子系統(tǒng)的服務(wù)器,另一臺(tái)為客戶機(jī)。首先測試教師用戶模塊,在客戶機(jī)上訪問服務(wù)器系統(tǒng)首頁執(zhí)行用戶注冊(cè)、個(gè)人資料填寫,接著退出系統(tǒng),然后用此注冊(cè)名、密碼登錄,登錄成功看到相應(yīng)的工資明細(xì)及各項(xiàng)津貼。同樣用錯(cuò)誤的注冊(cè)名、密碼登錄,系統(tǒng)顯示“用戶名或密碼錯(cuò)誤”則返回到首頁,重新輸入用戶名和密碼進(jìn)入。同樣對(duì)財(cái)務(wù)管理人員模塊測試,測試結(jié)果正常。
2系統(tǒng)聯(lián)合測試
將系統(tǒng)集成為完整的網(wǎng)上工資查詢管理系統(tǒng),通過聯(lián)合測試來檢驗(yàn)系統(tǒng)的耦合性,以及功能上和性能上是否滿足設(shè)計(jì)目標(biāo)。設(shè)計(jì)測試范例如下:
2.1.測試范例A
查看頁面鏈接是否有不可達(dá)現(xiàn)象。測試工具選擇Xenu Link Sleuth,這是個(gè)功能強(qiáng)大的檢查網(wǎng)站死鏈接的軟件,可以分別列出網(wǎng)站的活鏈接以及死鏈接,連轉(zhuǎn)向鏈接都分析得一清二楚;支持多線程,可以把檢查結(jié)果存儲(chǔ)成文本文件或網(wǎng)頁文件。啟動(dòng)軟件在其File菜單下打開Check URL選項(xiàng),在What address do you want to check?下拉菜單中填入測試URL:localhost:8080/myweb/index.jsp執(zhí)行測試。測試結(jié)果如圖2-1所示。
圖2.1頁面鏈接測試
圖中Address表示鏈接地址,Status顯示鏈接狀態(tài),如發(fā)現(xiàn)死鏈接將會(huì)以紅色字體顯示出來。在測試中發(fā)現(xiàn)了死鏈接,這是由于在編寫頁面時(shí)鏈接地址寫錯(cuò)造成的,修改后頁面鏈接測試顯示正常。測試表明網(wǎng)上工資查詢系統(tǒng)不存在死鏈接問題,運(yùn)行正常。
2.2.測試范例B
進(jìn)行服務(wù)器的壓力并發(fā)測試,找出服務(wù)器能夠支持的最大客戶端數(shù)。測試內(nèi)容為系統(tǒng)壓力負(fù)載測試,測試估算的依據(jù)是:假設(shè)在實(shí)際環(huán)境中,用戶只啟用一個(gè)服務(wù)器進(jìn)行所有的業(yè)務(wù)處理。方法是:按照正常業(yè)務(wù)壓力估算值的1~10倍進(jìn)行測試,考察服務(wù)器的運(yùn)行情況。本次測試使用的工具是JMeter。JMeter是Apache組織的開放源代碼項(xiàng)目,用于模擬在服務(wù)器、網(wǎng)絡(luò)或者其他對(duì)象上附加高負(fù)載以測試他們提供服務(wù)的受壓能力、或者分析他們提供的服務(wù)在不同負(fù)載條件下的總性能情況,使用方法很簡單,啟動(dòng)服務(wù)器,將JMeter下載解壓到目錄,運(yùn)行bin中的jmeter.bat就可以使用。本次使用jakarta-jmeter-2.2版本。具體測試步驟如下:
(1)建立一個(gè)測試計(jì)劃(Test Plan),添加測試線程組:線程數(shù)為10;同時(shí)并發(fā)請(qǐng)求為3;循環(huán)次數(shù)為5。
(2)添加HTTP Request Defaults,設(shè)置參數(shù)Name:HTTP Request;server name or ip:127.0.0.1; port number:8080。
(3)添加HTTP Request,設(shè)置參數(shù)Name:HTTP Request;path:/myweb/index.jsp。
(4)添加Graph Results執(zhí)行后結(jié)果如圖2.2:
圖2.2負(fù)載并發(fā)測試
說明:本測試使用線程數(shù)為10;同時(shí)并發(fā)請(qǐng)求為3;循環(huán)次數(shù)為5。平均響應(yīng)時(shí)間(Average)為24ms;中位數(shù)(Median)即50%用戶的響應(yīng)時(shí)間為16ms;吞吐量(Throughtput)默認(rèn)為每秒完成的請(qǐng)求數(shù)502.52/minute。數(shù)據(jù)顯示本查詢系統(tǒng)符合測試要求。
3系統(tǒng)測試中遇到的問題及解決方法討論
3.1頁面亂碼問題
在JSP開發(fā)過程中,當(dāng)數(shù)據(jù)從數(shù)據(jù)庫讀出返回到WEB瀏覽器中時(shí),中文字符變成了亂碼,經(jīng)過查找和分析,發(fā)現(xiàn)其原因是由于數(shù)據(jù)庫、Java和JSP文件之間的字符編碼差異造成的。當(dāng)數(shù)據(jù)存取到數(shù)據(jù)庫時(shí)采用統(tǒng)一的ISO-8859-1字符集,而Java程序在處理字符時(shí)默認(rèn)采用的也是ISO-8859-1字符集,所以在數(shù)據(jù)添加的時(shí)候Java和數(shù)據(jù)庫都是以ISO-8859-1方式處理的,這樣是不會(huì)有亂碼問題的。但是當(dāng)從數(shù)據(jù)庫讀取數(shù)據(jù)時(shí)就會(huì)出現(xiàn)亂碼問題,因?yàn)樽x出的數(shù)據(jù)是以ISO-8859-1字符集編碼的,而JSP文件頭中會(huì)加入這條語句,這說明頁面采用的是GB2312字符集顯示,這樣就和讀出的數(shù)據(jù)不一樣了。頁面顯示的就是從數(shù)據(jù)庫中讀出的字符亂碼,解決的方法就是轉(zhuǎn)碼,從ISO-8859-1轉(zhuǎn)成GB2312,就可以正常顯示了。這個(gè)問題可以通過編寫一個(gè)轉(zhuǎn)碼類來解決,代碼如下:
try{
關(guān)鍵詞:構(gòu)件化;軟件開發(fā);過程;開發(fā)實(shí)例;系統(tǒng)測試技術(shù);構(gòu)件測試方法;問題
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2012) 03-0000-02
Component-based Software Development and System Testing TechnologyExploration
Ye Wei
(Ningbo Dahongying University,Ningbo315175,China)
Abstract:Along with the social demand for software continues to increase,as well as the difficulty and cost of software development increase,the technology of component-based software development and system testing is more extensive,component-based software development process to explore,while the use a development instance,the last component-based software system testing and component testing methods,
and come to the problems in the testing techniques.
Keywords:Component-based;Software development;Process;Development instance;System testing technology;Component test methods;Problem
近年來由于軟件系統(tǒng)困難度及復(fù)雜性不斷加大,以及不斷增加的軟件開發(fā)規(guī)模,同時(shí)軟件開發(fā)機(jī)構(gòu)不僅對(duì)開發(fā)軟件的成本有了日益增高的要求,還對(duì)開發(fā)周期提出更多要求。當(dāng)軟件開發(fā)面向?qū)ο蠓治鲆约霸O(shè)計(jì)方法以后,構(gòu)件化的軟件開發(fā)形式已變?yōu)樾掳l(fā)展趨勢。把外部開發(fā)的構(gòu)件集成至實(shí)際具體應(yīng)用中,進(jìn)而面向固定應(yīng)用的軟件系統(tǒng)得以合理構(gòu)建,對(duì)軟件集成以及重用產(chǎn)生相當(dāng)重要的影響,其已變?yōu)槟壳败浖芯款I(lǐng)域的熱點(diǎn)以及主流技術(shù)。另外在構(gòu)件應(yīng)用前進(jìn)行相關(guān)測試,也被實(shí)踐證明了其正確性。
一、構(gòu)件化軟件開發(fā)過程分析
對(duì)于基于構(gòu)件的開發(fā),其指開發(fā)軟件系統(tǒng)的時(shí)候,把這個(gè)過程視為基于體系結(jié)構(gòu)指導(dǎo),合理運(yùn)用構(gòu)件組裝形式,進(jìn)行軟件系統(tǒng)開發(fā)的一種軟件開發(fā)方法。下述的四個(gè)階段構(gòu)成了構(gòu)件化軟件開發(fā)過程。
第一個(gè)階段就是進(jìn)行問題域分析與建模的階段。針對(duì)具體的問題情形,合理實(shí)施分析以及建模,與此同時(shí),能夠利用合適的UML模型進(jìn)行表示說明。
第二個(gè)階段就是求解域模型設(shè)計(jì)階段。針對(duì)問題域,合理實(shí)施分析建模,隨后得到求解域模型,就是系統(tǒng)需要的構(gòu)件以及系統(tǒng)的體系結(jié)構(gòu)。針對(duì)那些可以進(jìn)行復(fù)用的構(gòu)件,對(duì)其接口進(jìn)行合理分析,然后確認(rèn)是否應(yīng)該進(jìn)行擴(kuò)展,要是增加一些新的構(gòu)件,進(jìn)行恰當(dāng)?shù)姆治鲈O(shè)計(jì),進(jìn)而保證構(gòu)件可以達(dá)到求解域的需求。還要盡可能地保證構(gòu)件有著可復(fù)用性。
第三個(gè)階段就是構(gòu)件的開發(fā)及組裝階段。在構(gòu)件庫內(nèi),進(jìn)行可以達(dá)到需求構(gòu)件的選用,并對(duì)其接口進(jìn)行擴(kuò)展,使之于目前工程相適應(yīng);針對(duì)新研發(fā)出來的軟件構(gòu)件,可以把它儲(chǔ)存到構(gòu)件庫內(nèi),保證日后的方便復(fù)制使用,還應(yīng)把它運(yùn)用到目前的工程里[1]。組裝完成后,完整的系統(tǒng)便得出,進(jìn)行測試合格之后,就能夠運(yùn)行。
最后階段就是應(yīng)用系統(tǒng)的演化階段。針對(duì)構(gòu)件的應(yīng)用系統(tǒng)的演化,換句話說就是構(gòu)件的替換、升級(jí)以及擴(kuò)充的過程,按照具體的運(yùn)行效果,同時(shí)根據(jù)用戶的實(shí)際要求,合理調(diào)整軟件,以保證期對(duì)新的環(huán)境的適應(yīng)性。
二、開發(fā)實(shí)例分析
當(dāng)進(jìn)行某個(gè)系統(tǒng)開發(fā)的時(shí)候,積極采用構(gòu)件復(fù)用技術(shù),進(jìn)而確保權(quán)限配置管理功能的實(shí)現(xiàn)。通過合理的分析,對(duì)于系統(tǒng)的權(quán)限管理,“用戶-角色-功能”方式得以確定,其為基于角色的訪問控制模式,對(duì)已有構(gòu)件的復(fù)用可以確保此功能的合理實(shí)現(xiàn)。
角色管理以及用戶管理構(gòu)件、角色節(jié)點(diǎn)配置構(gòu)件、節(jié)點(diǎn)管理構(gòu)件及用戶角色配置構(gòu)件,這五個(gè)構(gòu)件都存在于構(gòu)件庫中,其中角色管理構(gòu)件對(duì)系統(tǒng)制定的角色進(jìn)行維護(hù),與此同時(shí)就角色的名稱以及描述等信息進(jìn)行合理管理;用戶管理構(gòu)件則是對(duì)一個(gè)系統(tǒng)用戶信息進(jìn)行管理的,主要由登陸名、登陸密碼構(gòu)成的;對(duì)于角色節(jié)點(diǎn)配置構(gòu)件,其重點(diǎn)應(yīng)用在進(jìn)行節(jié)點(diǎn)與角色之間對(duì)應(yīng)關(guān)系的配置,保證一個(gè)角色能夠顯示幾個(gè)功能節(jié)點(diǎn)的制定,進(jìn)而間接的對(duì)某個(gè)角色具有的功能進(jìn)行合理限定;節(jié)點(diǎn)管理構(gòu)件主要作用在管理系統(tǒng)功能樹上的節(jié)點(diǎn)中;用戶角色配置構(gòu)件則用于用戶和角色對(duì)應(yīng)關(guān)系的配置。以上五個(gè)構(gòu)件不是單獨(dú)運(yùn)行的,而是相互合作的,正是由于它們的互相合作才使系統(tǒng)中權(quán)限管理的相關(guān)功能得以實(shí)現(xiàn)。
三、構(gòu)件化軟件系統(tǒng)測試技術(shù)研究
由于構(gòu)件自身具有的特點(diǎn),實(shí)施測試人員主要由構(gòu)件的開發(fā)方以及構(gòu)件的使用方來組成的,由于他們?cè)跍y試中占據(jù)不同的立場,在實(shí)施測試的內(nèi)容方面多少會(huì)存在一定的差異性:一是測試目的是不相同的,構(gòu)件的開發(fā)方對(duì)構(gòu)件的所有功能進(jìn)行測試,構(gòu)件使用方則更多的關(guān)心與其有關(guān)部分的功能。二是使用的環(huán)境存在差異性;三是具有的資源存在差異性,對(duì)于構(gòu)件開發(fā)方,其對(duì)構(gòu)件源代碼有著一定擁有權(quán),但是對(duì)于構(gòu)件的使用方,只具有構(gòu)件的可執(zhí)行代碼;于是,當(dāng)對(duì)構(gòu)件軟件進(jìn)行實(shí)施測試時(shí),要分別站在構(gòu)件的開發(fā)方以及構(gòu)件使用方等兩個(gè)角度上展開[2]?;跇?gòu)件的使用方角度,測試方法是通過測試構(gòu)件類型進(jìn)而得出,具有兩種主要類型的構(gòu)件:首先源代碼不確定,只給予使用方測試的信息當(dāng)作所提供服務(wù)的COTS構(gòu)件;另外一種是源代碼具有可訪問性的構(gòu)件。當(dāng)構(gòu)件類型不同時(shí),對(duì)測試方法的選用也是不同的。
(一)對(duì)構(gòu)件測試方法的分析
目前,對(duì)構(gòu)件的測試主要是通過以下幾個(gè)方法:
1.基于構(gòu)件使用規(guī)范說明的測試。以下方法都與構(gòu)件開發(fā)方有著一定聯(lián)系,本方法按照構(gòu)件運(yùn)用方就應(yīng)用環(huán)境與規(guī)范給予的數(shù)據(jù)當(dāng)作測試用例,只局限于黑盒測試中來使用。
2.內(nèi)置測試。對(duì)于構(gòu)件開發(fā)方,他們把有著可執(zhí)行性的測試用例內(nèi)置于構(gòu)件內(nèi),同時(shí)當(dāng)作構(gòu)件的常用功能,在構(gòu)件集成于實(shí)際應(yīng)用環(huán)境的情況下,對(duì)其中測試用例進(jìn)行運(yùn)行,進(jìn)而進(jìn)行集成測試;
3.元數(shù)據(jù)。針對(duì)在集成測試的時(shí)候,構(gòu)件信息缺乏等一些問題,構(gòu)件開發(fā)方將關(guān)于構(gòu)件的基本信息通過元數(shù)據(jù)這一合理形式,給予構(gòu)件測試或者使用方,確保測試順利地實(shí)施,提升構(gòu)件的可測試性是它的核心內(nèi)容;
4.可測試體系結(jié)構(gòu)。由構(gòu)件開發(fā)方會(huì)提供與構(gòu)件相配套的可測試體系,這樣構(gòu)件使用方在實(shí)施測試的情況下,能對(duì)測試用例進(jìn)行直接執(zhí)行,和上述各個(gè)方法相比,不同的是,該測試信息通過規(guī)范的形式附加于構(gòu)件之上,當(dāng)運(yùn)行的時(shí)候,沒有占用內(nèi)存[3]。
5.證明策略。一般情況下,由于構(gòu)件證明不同的承擔(dān)方,構(gòu)件證明主要包括以下幾類:首先是構(gòu)件使用方構(gòu)件證明,其次是第三方構(gòu)件證明,最后為構(gòu)件開發(fā)方構(gòu)件證明。
(二)構(gòu)件測試技術(shù)中存在的一些主要問題
對(duì)于構(gòu)件集成測試,很難對(duì)其實(shí)施,主要有兩方面的原因:異構(gòu)性的存在以及相關(guān)信息的缺少。針對(duì)異構(gòu)性,其表現(xiàn)為:同一個(gè)構(gòu)件處于相同規(guī)范下,具有不相同的實(shí)現(xiàn)方法;不相同的構(gòu)件能使用不同平臺(tái)的不同程序語言進(jìn)行實(shí)現(xiàn);由于構(gòu)件使用方與開發(fā)方兩方很少進(jìn)行交換信息,便導(dǎo)致了信息缺乏,構(gòu)件開發(fā)方主要對(duì)開發(fā)構(gòu)件的應(yīng)用環(huán)境沒有足夠了解,所以,它進(jìn)行的構(gòu)件測試只可以面對(duì)假設(shè)的應(yīng)用環(huán)境,但是實(shí)際環(huán)境和假設(shè)的環(huán)境之間一定具有差別,在實(shí)際的應(yīng)用中,各個(gè)構(gòu)件在動(dòng)態(tài)交互過程中可能會(huì)出現(xiàn)數(shù)據(jù)交換不能有效兼容等問題。從另一方面,構(gòu)件的源代碼因?yàn)橄鄬?duì)構(gòu)件運(yùn)用方法有著某些未知性,于是,對(duì)其實(shí)施靜態(tài)分析是很難進(jìn)行的。更別說對(duì)相關(guān)數(shù)據(jù)依賴以及控制依賴關(guān)系的獲得,進(jìn)行有關(guān)測試用例的構(gòu)造,進(jìn)行測試,確認(rèn)出進(jìn)行測試需要的充分性準(zhǔn)則是很難的。所以,在構(gòu)件測試技術(shù)中,應(yīng)該考慮以下幾個(gè)問題:
1.怎樣利用系統(tǒng)方法對(duì)測試驅(qū)動(dòng)程序與插針進(jìn)行構(gòu)建。對(duì)于構(gòu)件測試驅(qū)動(dòng)程序,其一定是基于腳本的程序,同時(shí)僅僅對(duì)其黑盒功能進(jìn)行執(zhí)行。主要有基于場景以及規(guī)范的測試驅(qū)動(dòng)程序;各個(gè)測試探針進(jìn)行構(gòu)件行為或者黑盒功能的合理模擬,在當(dāng)前,還是主要通過基于操作腳本以及基于模型的方法。
2.怎樣合理構(gòu)造出可重用的構(gòu)件。就是開發(fā)系統(tǒng)方法以及工具安裝可重用的測試程序,進(jìn)而進(jìn)行各種測試資源的存儲(chǔ)及管理,主要有測試腳本、測試用例以及數(shù)據(jù)[4]。在當(dāng)今,兩個(gè)方向較為突出,一個(gè)為于構(gòu)件內(nèi)部中進(jìn)行構(gòu)件測試的創(chuàng)建,內(nèi)置測試就是實(shí)例;另外方向是使用可直接插拔技術(shù)進(jìn)行一套測試程序的創(chuàng)建,不僅牽涉了測試訪問接口以及標(biāo)準(zhǔn)化測試信息格式,還牽涉到測試數(shù)據(jù)庫模式與定義以及開發(fā)新的可插拔技術(shù)支持構(gòu)件單元測試。
3.怎樣正確進(jìn)行可重用及通用的構(gòu)件測試平臺(tái)的構(gòu)建。在一般情況下,測試檢索以及執(zhí)行、測試結(jié)果檢查以及報(bào)告組成了測試執(zhí)行環(huán)境。此測試平臺(tái)可以根據(jù)不同語言及不同技術(shù)開發(fā)實(shí)現(xiàn)的構(gòu)件是它的主要問題。
4.怎樣合理進(jìn)行可測試構(gòu)件的構(gòu)建。其牽涉到三個(gè)問題,就是定義及設(shè)計(jì)可測構(gòu)件的測試接口與公共結(jié)構(gòu)、開發(fā)系統(tǒng)方法進(jìn)行可測構(gòu)件的構(gòu)建、最小化系統(tǒng)資源及開銷。
四、總結(jié)
由于社會(huì)對(duì)軟件的需求一直增加,軟件復(fù)雜度及規(guī)模一直加大,因此,人們就不斷探索創(chuàng)新軟件開發(fā)技術(shù),進(jìn)而滿足軟件發(fā)展的需要。對(duì)于構(gòu)件技術(shù),其要經(jīng)過創(chuàng)建及復(fù)用構(gòu)件,還要通過組裝構(gòu)件保證軟件系統(tǒng)開發(fā)的完成,能使系統(tǒng)的開發(fā)效率提高,系統(tǒng)的開發(fā)成本還減少,進(jìn)而達(dá)到軟件復(fù)用的要求。于是,構(gòu)件化的軟件開發(fā)方法能夠作為一種有效途徑,使軟件危機(jī)得以解決。與此同時(shí),更要引起構(gòu)件測試技術(shù)中的一些主要問題。
參考文獻(xiàn):
[1]梅宏,楊芙清.構(gòu)件化軟件設(shè)計(jì)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2008
[2]許幀.基于構(gòu)件的軟件開發(fā)方法及實(shí)現(xiàn)[J].軟件導(dǎo)刊,2009,11:17-19
關(guān)鍵詞:嵌入式測試;課程分析;教學(xué)方法
中圖分類號(hào):TP3-4
信息技術(shù)和網(wǎng)絡(luò)技術(shù)的飛躍發(fā)展,我們已經(jīng)進(jìn)入后PC時(shí)代。而嵌入式系統(tǒng)可謂是后PC時(shí)代的代表,嵌入式技術(shù)以其靈活、高效和性價(jià)比高等諸多優(yōu)勢,被廣泛應(yīng)用于各項(xiàng)領(lǐng)域,從家庭的洗衣機(jī)、電冰箱、空調(diào)、小汽車,到辦公室里的遠(yuǎn)程會(huì)議系統(tǒng)等,這些都屬于可以使用嵌入式技術(shù)進(jìn)行開發(fā)和改造的產(chǎn)品。因?yàn)榍度胧较到y(tǒng)經(jīng)常應(yīng)用于對(duì)可靠性和穩(wěn)定性要求很高的領(lǐng)域,所以對(duì)于嵌入式系統(tǒng)的測試顯得尤為重要,因此嵌入式系統(tǒng)測試技術(shù)也是當(dāng)前計(jì)算領(lǐng)域研究的熱點(diǎn)。
1 開設(shè)《嵌入式系統(tǒng)測試》課程的背景與意義
嵌入式系統(tǒng)作為現(xiàn)代科技高速發(fā)展的產(chǎn)物,滲透到我們生活的各方各面,發(fā)揮著重要作用。隨著我國嵌入式產(chǎn)品的快速發(fā)展,人們對(duì)于產(chǎn)品的性能要求越來越多,穩(wěn)定性也要求越來越高。為滿足這些需求,越來越多的人意識(shí)到嵌入式系統(tǒng)測試的重要性,這也促使國內(nèi)對(duì)于嵌入式系統(tǒng)測試人才的需求也越來越多,嵌入式系統(tǒng)測試也將成為我國現(xiàn)在乃至未來最炙手可熱的職業(yè)之一。同嵌入式系統(tǒng)測試的飛速發(fā)展相比較,我國高校在這方面的培養(yǎng)則相對(duì)落后,一方面部分計(jì)算機(jī)專業(yè)的學(xué)生畢業(yè)后找不到工作;而另一方面很多嵌入式企業(yè)或公司急需大量嵌入式系統(tǒng)測試人員來完成項(xiàng)目測試工作。歸根究底,導(dǎo)致這種現(xiàn)象的原因主要是高校的傳統(tǒng)教育無法滿足市場需求的快速變化。目前市場的發(fā)展趨勢是:越來越多的嵌入式設(shè)備的系統(tǒng)趨于復(fù)雜化,而系統(tǒng)測試將發(fā)揮起決定性的作用,所以當(dāng)前業(yè)界非常缺乏的就是嵌入式方向的測試人才。
由此可見,我國各大高校爭相開設(shè)《嵌入式系統(tǒng)測試》這一門課程,主要目的就是要適應(yīng)市場發(fā)展變化,教授當(dāng)前最實(shí)用的測試技術(shù),培養(yǎng)有實(shí)力和高競爭力的嵌入式測試人才,為學(xué)生今后的就業(yè)打下堅(jiān)實(shí)的基礎(chǔ),也為我國的嵌入式事業(yè)貢獻(xiàn)自己的一份力量。
2 課程特點(diǎn)分析
嵌入式系統(tǒng)測試對(duì)測試人員的要求較高,要求他們能夠熟練掌握軟硬件兩方面的知識(shí),不僅要懂底層的硬件知識(shí),而且對(duì)軟件知識(shí)也有較高的要求,包含了大量的專業(yè)性很強(qiáng)的理論和實(shí)踐技術(shù),市場上需要的嵌入式測試人才必須具備高級(jí)語言編程經(jīng)驗(yàn)、嵌入式系統(tǒng)開發(fā)經(jīng)驗(yàn)等。綜合以上原因,筆者歸納了《嵌入式系統(tǒng)測試》課程的特點(diǎn):
2.1 該課程涉及專業(yè)課程較多
《嵌入式系統(tǒng)測試》是一門綜合嵌入式軟件與硬件的課程。測試人員,僅有軟件方面的知識(shí),而缺少對(duì)硬件方面的了解,則無法達(dá)到理想的測試效果。在很多時(shí)候即使發(fā)現(xiàn)了錯(cuò)誤,也很難立即分清到底是軟件的錯(cuò)誤還是硬件本身的錯(cuò)誤;因此,各個(gè)高校在開設(shè)《嵌入式系統(tǒng)測試》課程前,都有一些相應(yīng)的前驅(qū)課程來奠定一個(gè)良好的基礎(chǔ),通常所需的前驅(qū)課程有:高級(jí)語言程序設(shè)計(jì),嵌入式系統(tǒng),單片機(jī)等。而該課程本身所涉及的內(nèi)容包括:前半部分主要介紹嵌入式系統(tǒng)基礎(chǔ)知識(shí)、系統(tǒng)測試基礎(chǔ)原理、和硬件測試環(huán)境;后半部分課程主要介紹嵌入式系統(tǒng)測試流程;主流測試工具使用等?!肚度胧较到y(tǒng)測試》是一門將多種軟、硬件方面的知識(shí)融合在一起的課程。
2.2 理論知識(shí)較為枯燥
課程大部分學(xué)習(xí)時(shí)間,要求學(xué)生掌握相當(dāng)多的軟硬件理論知識(shí)和測試方法,例如:測試生命周期各階段的工作內(nèi)容、工作方法學(xué)習(xí)和單元測試的實(shí)施等。這些都要求學(xué)生記大量枯燥且抽象的理論內(nèi)容,因此學(xué)生學(xué)習(xí)積極性不高,認(rèn)為測試課程內(nèi)容理解困難,而且相當(dāng)一部分學(xué)生學(xué)習(xí)后,只記得一些基本概念,期末考試前也只是背概念,去應(yīng)付考試。即使學(xué)生在應(yīng)聘時(shí),招聘公司一問及測試的知識(shí),學(xué)生只會(huì)說不知道或者不記得了。導(dǎo)致這些情況的產(chǎn)生,主要還是所學(xué)內(nèi)容太過理論抽象,學(xué)生無法真正的將理論與實(shí)際相結(jié)合。
2.3 實(shí)驗(yàn)條件要求較高
嵌入式測試學(xué)習(xí)過程中需要有較強(qiáng)的動(dòng)手實(shí)踐能力。對(duì)于嵌入式系統(tǒng)而言,嵌入式軟件測試與硬件測試并沒有明顯的分界。嵌入式系統(tǒng)工作環(huán)境不同于一般軟件,嵌入式軟件的開發(fā)和測試通常處于跨平臺(tái)的交叉工作環(huán)境。在進(jìn)行嵌入式軟件測試的時(shí)候,我們需要將軟件運(yùn)行在目標(biāo)機(jī)上。然后將目標(biāo)機(jī)的輸入輸出重定位為主機(jī)的輸入輸出設(shè)備,即可借助主機(jī)的資源完成對(duì)目標(biāo)機(jī)的操作,一旦具備這樣的條件,就可以將傳統(tǒng)的軟件測試方法應(yīng)用于嵌入式軟件測試中。毫無疑問,要能夠順利完成該課程的測試實(shí)驗(yàn),對(duì)于實(shí)驗(yàn)器材的要求都較高。
3 教學(xué)方法探討
在對(duì)課程特點(diǎn)分析的基礎(chǔ)上,結(jié)合筆者親身的教學(xué)經(jīng)歷對(duì)該門課程的教學(xué)方法提出了一些自己的想法,將多種教學(xué)方法結(jié)合起來應(yīng)用。
3.1 激發(fā)學(xué)生的學(xué)習(xí)主動(dòng)性
我校開設(shè)《嵌入式系統(tǒng)測試》這門課程,是針對(duì)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)大四的學(xué)生。這些學(xué)生在面臨就業(yè)和畢業(yè)設(shè)計(jì)的雙重壓力下,對(duì)于大四的課程學(xué)習(xí),往往顯得“力不從心”,無法集中精力好好學(xué)習(xí)。在教學(xué)初期應(yīng)將學(xué)生感興趣的測試行業(yè)就業(yè)形勢介紹清楚,嵌入式測試領(lǐng)域的要求雖然相對(duì)較高,但付出與收獲是成正比的。在后期教學(xué)過程中,應(yīng)堅(jiān)持將所教授的理論知識(shí),結(jié)合在實(shí)際企業(yè)中的應(yīng)用,進(jìn)行拓展介紹。這樣一來,學(xué)生不僅學(xué)到了知識(shí)本身,還了解到企業(yè)的運(yùn)作流程,讓學(xué)生意識(shí)到所學(xué)內(nèi)容不再遙遠(yuǎn)。注意培養(yǎng)學(xué)生對(duì)嵌入式測試的興趣,激發(fā)學(xué)習(xí)積極性與主動(dòng)性,堅(jiān)定學(xué)好這門課程的信念。
3.2 使用對(duì)比教學(xué)法
嵌入式測試領(lǐng)域的很多知識(shí)并不是孤立存在的,而是與我們以前學(xué)過的很多知識(shí)有著密切關(guān)系,特別是和一般通用軟件的測試。在學(xué)習(xí)此類知識(shí)的時(shí)候,要介紹嵌入式系統(tǒng)測試和通用軟件測試的相同點(diǎn),例如:測試流程等,加強(qiáng)這方面的學(xué)習(xí);與此同時(shí),將嵌入式測試中有別與通用軟件測試的知識(shí)點(diǎn)提煉出來并作重點(diǎn)介紹。學(xué)生在這樣的學(xué)習(xí)過程中,不但鞏固了之前所學(xué)的知識(shí),而且還學(xué)習(xí)了嵌入式系統(tǒng)測試中所特有的新技術(shù)。通過這樣的對(duì)比學(xué)習(xí),學(xué)生更容易接受新的知識(shí),并加深了記憶。
3.3 使用項(xiàng)目教學(xué)法
該課程是一門實(shí)踐性很強(qiáng)的課程,只有理論聯(lián)系實(shí)踐,才能收到較好的學(xué)習(xí)效果。在實(shí)踐教學(xué)中,將一些和課程相關(guān)的小項(xiàng)目與教學(xué)過程緊密結(jié)合起來,達(dá)到理論與實(shí)踐的完美結(jié)合。如“嵌入式系統(tǒng)測試流程”部分,按照軟件測試流程進(jìn)行組織,將全班同學(xué)分成若干組,每組5-6人,每個(gè)小組都有具體的工作任務(wù)布置和學(xué)習(xí)指導(dǎo)。在實(shí)現(xiàn)過程中,大家還可以通過角色扮演,清楚地知道自己應(yīng)該要完成的工作。例如:扮演“測試經(jīng)理”的學(xué)生,要給其余扮演“測試工程師”的學(xué)生,分配測試任務(wù),并告知其何時(shí)測等等。通過這樣的角色扮演,不僅提高了學(xué)生實(shí)踐的興趣,更讓他們體會(huì)到測試的各種過程,最終完成。采用這種方法,使得學(xué)生在動(dòng)手動(dòng)腦的過程中,也學(xué)習(xí)到了測試方面的知識(shí),并獲得了滿足感與成就感,也就進(jìn)一步激發(fā)了其學(xué)習(xí)嵌入式測試課程的興趣和信心。
4 結(jié)論
嵌入式系統(tǒng)是現(xiàn)代科技高速發(fā)展的產(chǎn)物,在我們生活中發(fā)揮重要作用,對(duì)嵌入式系統(tǒng)進(jìn)行測試是保證其質(zhì)量的一種重要手段。筆者從闡述開設(shè)《嵌入式系統(tǒng)測試》課程的背景與意義出發(fā),對(duì)本門課程的特點(diǎn)進(jìn)行分析,并對(duì)該課程的教學(xué)方法進(jìn)行了一定探討,以適應(yīng)新時(shí)期的發(fā)展需要。
參考文獻(xiàn):
[1]潘鳳.《嵌入式系統(tǒng)開發(fā)》課程研究及教學(xué)方法探討[J].辦公自動(dòng)化.2009(22).
[2]呂金和.嵌入式軟件測試[J].軟件導(dǎo)刊.2010(9).
[3]張?zhí)K,牛麗梁,穎紅.項(xiàng)目教學(xué)法在《軟件測試》課程中的實(shí)施[J].天津職業(yè)大學(xué)學(xué)報(bào).2011(20).
[4]蔡建平.嵌入式軟件測試實(shí)用技術(shù)[M].北京:清華大學(xué)出版社,2010.
系統(tǒng)論文 系統(tǒng)測試 系統(tǒng)設(shè)計(jì)論文 系統(tǒng)集成論文 系統(tǒng)管理論文 系統(tǒng)匯報(bào)材料 系統(tǒng)工程論文 系統(tǒng)控制 系統(tǒng)技術(shù)論文 系統(tǒng)審計(jì)論文 紀(jì)律教育問題 新時(shí)代教育價(jià)值觀