第一篇:系統測試實驗報告
軟件測試實驗報告
萬繼王(20111081147)
任課教師:賈春花
班級:2011級計科(1)班
實驗目的:
計算機在生活中的普遍,計算機已經成為我們生活中不可缺少的部分,計算機已經被廣泛的應用到各個領域,網絡技術的飛速發展,互聯網已經成為了人們發布與獲取信息的重要途徑之一,在我們的生活中已經離不開計算機,離不開網絡,計算機給人們的生活帶來方便的同時也需要開發相應的管理系統和軟件,所以,這就需要我們進行軟件測試,軟件測試是使用人工或者自動手段來運行或測定某個系統的過程,檢驗它是否滿足規定的需求或者弄清預期結果與實際結果之間的差別。軟件測試作為保證軟件質量、提高軟件可靠性的重要手段,在軟件開發中起著不可替代的作用。其關鍵與核心是測試數據生成。軟件測試的實質是根據軟件開發各階段的規格說明和程序的內部結構精心選取一批測試數據,形成測試用例,并用這些測試用例去驅動被測程序,觀察程序的執行結果,驗證所得結果與預期結果是否一致,然后做相應的調整。
此次實驗是為了檢驗我們是否掌握本學期所學的《軟件質量保證與測試》這門課程的基礎知識,并查找出被測試軟件的不足或缺陷,及時做出相應的調整,也讓我們掌握一定的黑盒測試和白盒測試的相應內容。還有就是在于總結測試階段的測試以及分析測試結果,描述系統是否符合需求(或達到xxx功能目標),同時,了解軟件測試概念,了解軟件測試的主要內容,了解手動測試自動測試,初步掌握測試軟件并能夠進行簡單運用。了解軟件測試在當前計算機行業中的相關地位,了解為了成為軟件測試工程師所需要掌握的技能。
實驗內容:
軟件測試前景:隨著軟件產業的發展,軟件產品的質量控制與質量管理正逐漸成為軟件企業生存與發展的核心。
軟件測試是指:使用人工或者自動手段來運行或測試某個系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
軟件測試的內容:1.確定軟件生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程;2.程序正確性的形式證明,即采用形式理論證明程序符合設計規約規定的過程;3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規定的需求相一致進行判斷和提出報告。
軟件測試的對象:不僅僅是程序測試,軟件測試應該包括整個軟件開發期間各個階段所產生的文檔,如需求規格說明、概要設計文檔、詳細設計文檔,當然軟件測試的主要對象還是源程序。
實驗測試步驟:
第一步,進入登錄界面。在運行程序后彈出登錄界面,有賬號的可以直接登錄,沒有賬號的要先申請賬號(及注冊),然后才可以登錄。在注冊賬號時需要自己填寫賬號、密碼、昵稱和個性簽名。這些東西都沒有限制,可以是數字、字母、漢字以及三者的混合,頭像的話是可以自己選擇的。賬號和密碼是必須填寫的,否則無法注冊,其他的可填可不填。相關截圖如下所示:
登錄界面:
賬號申請界面:
賬號申請成功界面 : 第二步,進行登錄。登錄之后可以進行密碼修改和添加好友。登錄之后我們 可以點擊修改密碼對密碼進行修改,也可以輸入好友賬號添加好友。添加好友時輸入好友賬號,點擊添加好友,彈出添加好友對話框,點擊“是”,添加好友就成功了,若不想添加此好友可以點擊“否”,就可以拒絕添加此好友了。
相關截圖如下所示:
登錄成功界面:
修改密碼界面: 篇二:web系統測試綜合實驗報告
測
試
報
告
目錄 1.1.1系統功能..........................................................................................................................4 1.1.2系統的體系結構..............................................................................................................4 1.1.3開發環境..........................................................................................................................5 1.2.1測試需求..........................................................................................................................5
1、功能測試.....................................................................................................................6
2、性能測試.....................................................................................................................6
3、兼容性測試.................................................................................................................6 1.2.2測試資源..........................................................................................................................6
1、人力資源.....................................................................................................................6
2、測試環境.....................................................................................................................6
3、測試工具.....................................................................................................................6
4、文檔資料.....................................................................................................................7 1.2.3測試策略..........................................................................................................................7
1、功能測試.....................................................................................................................7
2、性能測試.....................................................................................................................8
3、用戶界面測試.............................................................................................................9
4、安全性測試.................................................................................................................9
5、兼容性測試.................................................................................................................9 1.2.4測試標準..........................................................................................................................9
1、測試特性.....................................................................................................................9
2、輸出準則.....................................................................................................................9
3、缺陷嚴重級別定義...................................................................................................10 測試用例設計.................................................................................................................11
2、錄制的測試腳本.......................................................................................................14
3、執行測試...................................................................................................................14
4、測試結果...................................................................................................................14 1.3.2相冊模塊測試................................................................................................................14
1、測試用例設計...........................................................................................................15
2、執行測試...................................................................................................................16
3、測試結果...................................................................................................................16 1.3.3個人檔模塊測試............................................................................................................17
1、測試用例設計...........................................................................................................17
2、執行測試...................................................................................................................19
3、測試結果分析...........................................................................................................19 1.3.4日志模塊測試................................................................................................................20
1、測試用例設計...........................................................................................................20
2、執行測試...................................................................................................................27
3、測試結果分析...........................................................................................................27 1.3.5鏈接測試........................................................................................................................27 1.4.1測試用例設計................................................................................................................30 1.4.2測試環境........................................................................................................................33 1.4.3測試執行........................................................................................................................33 1.4.4測試結果分析................................................................................................................34 1.1.1系統功能
(1)日志模塊:撰寫和發表日志。
(2)撰寫說說模塊:發表說說。
(3)相冊管理模塊:支持多相冊功能,可將相冊分類收藏,可以上傳照片,創建相冊,同時可以上傳視頻和制作個性相冊等功能。
(4)音樂盒模塊:可以收藏音樂,可以管理我的音樂盒里的音樂等。
(5)個人檔管理模塊:修改自己的個人信息。
(6)留言板模塊:查看留言和對留言進行回復。
(7)用戶模板:提供用戶制定功能,打造個性,設置自己喜歡的風格。1.1.2系統的體系結構
系統的體系結構如下圖: 1.1.3開發環境
(1)操作系統:windows xp(sp2)(2)web服務器:apache(3)數據庫:mysql(4)開發語言和工具:php+zend+phpwind(5)瀏覽器:ie6.0 1.2.1測試需求
此系統屬于一般類型的應用軟件,用戶要求各功能正常使用,系統響應比較快,運行穩健,能滿足10000人正常使用。此系統用戶可以建立個人主頁(發表日志,發表說說,相冊管理,音樂盒管理,個人檔管理等)。
此次測試的目的就是檢查核心模塊功能是否正常,驗證系統性能是否滿足應用需求。這次測試的具體內容如下:篇三:在線考試系統實驗報告
河南工程小學院
畢業設計(論文)報告
系 別 軟件工程系
專 業 計算機應用
班 級
姓 名 ****** 學 號 ********* 設計題目 在線考試系統
指導教師 ****** 起迄日期 2011.1.2——2011.4.20 畢業設計誠信承諾書
本人慎重承諾和聲明: 我承諾在畢業設計過程中嚴格遵守學校有關規定,在指導教師的安排與指導下完成所規定的畢業設計工作,絕不弄虛作假,不請別人代做畢業設計或抄襲別人的成果。所撰寫的畢業論文或畢業設計是在指導老師的指導下自主完成,文中所有引文或引用數據、圖表均注明來源,本人愿意為由此引起的后果承擔責任。
學生簽名: 日期: 年 月 日
畢業設計知識產權權屬聲明
本人在老師指導下所完成的論文及設計成果、知識產權歸屬學校。學校享有以任何方式發表、復制、公開閱覽、借閱以及申請專利等權利。
學生簽名: 日期: 年 月 日
指導教師簽名: 日期: 年 月 日
在線考試系統
摘 要
通過考試系統webexam是目前市場占有率較高,應用最廣泛的遠程網絡學習考試軟件,適合政府、行業及企業的各專業網上考試、作業、練習等應用。它采用web方式,同時適用于局域網和internet,無需安裝客戶端,即可實現網上考試、作業、練習、成績排行等功能,并能夠答卷保存、自動判分、成績查詢和分析等功能
該系統同時擁有最開放的題庫管理系統和最靈活的組卷系統,能夠自動輸出word試卷,提供excel題目導入導出、題庫和試卷導入導出等設計,提供資源的快速收集和高度共享。在開發方法上,引入了當今流行的microsoft.net remoting 技術思想,把整個開發程分為需求分析、概要設計、詳細設計、系統實現等步驟。該系統通過優化和再造管理流程,使人力資源的管理更為高效和科學,數據更為準確,從而將人事部門從繁重的、耗時的工作中解放出來,把精力集中到更高層的政策性工作中去。關鍵詞 在線考試系統 ; c#.net編程語言 ; visual studio 2008 ;sql server 2005數據庫
目 錄
第1章 緒論.....................................................................................................................................1 1.1 課題研究背景...................................................................................................................1 1.2 課題研究目的和意義.......................................................................................................1 第2章 系統分析概述.....................................................................................................................2 2.1 引言...................................................................................................................................2 2.2 系統需求分析...................................................................................................................2 2.3 系統概述...........................................................................................................................3 2.4 visual studio 2008的概述..........................................................................................4 2.5 sql server 2005數據庫的概述....................................................................................5 第3章 系統方案總體設計.............................................................................................................6 3.1 系統設計思想及相關技術介紹.......................................................................................6 3.1.1 系統架構設計.......................................................................................................6 3.1.2 系統總體模塊功能設計.......................................................................................6 第4章 數據庫的設計.....................................................................................................................8 4.1 引言...................................................................................................................................8 4.2 數據庫需求分析...............................................................................................................8 4.3 數據庫概念結構設計.......................................................................................................8 4.4 數據庫邏輯結構設計.......................................................................................................8 第5章 界面設計與實現...............................................................................................................10 5.1 主頁設計.........................................................................................................................10 5.1.1 實現目標.............................................................................................................10 5.1.2 登錄窗口.............................................................................................................10 5.1.3 注冊窗口.............................................................................................................12 5.2 主要界面設計—用戶登錄信息畫面.............................................................................13 5.2.1 實現目標.............................................................................................................13 5.2.2 主界面.................................................................................................................13 5.3 主要界面設計 —— addquestion.aspx.....................................................................17 5.3.1 實現目標.............................................................................................................17 5.4 主要界面設計 —— usermangement.aspx.................................................................18 5.4.1 實現目標.............................................................................................................18 結
論............................................................................................................................................20 致
謝............................................................................................................................................21 參 考 文 獻...................................................................................................................................22 第1章 緒論
1.1 課題研究背景
近幾年來,隨著internet的崛起,遠程教育開始發展,普及網絡教育的呼聲日益高漲,其勢頭不亞于電子商務。聯合國教科文組織1998年在其一項調查報告中:無論是發達國家還是發展中國家,都不同程度存在教育滯后于現實需要的問題,特別是第三世界國家,而普及遠程教育,尤其是網絡教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統教育模式的重要動力。
中國的網絡教育也隨internet的發展而同步增長,同時,網絡教育也為中國的教育事業開辟了新的天地。
1.2 課題研究目的和意義
隨著網絡技術的飛速發展,現在很多國外的大學和社會其他部門都已經開始設了遠程教育。但是,遠程教育的軟件的開發目前還處于起步階段,隨著這項技術的不斷深入發展,就要求有更好、更完善的軟件系統到遠程教育當中去,這就給軟件設計人員提出了更高的設計要求。
遠程教育包括很多環節。例如,教學系統、考試系統、和答疑系統等等。其中一個很重要的環節是在線考試系統,同時,它也是最難實現的環節。在我國,遠程教育以蓬勃發展起來。但目前學校和社會上的各種考試大都都采用傳統的考試方法,在此方式下,組織一次考試,要經過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。
顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統的考試方法已經不能適用于現代考試的需要。隨著計算機應用的迅猛發展,網絡應用不斷擴大,如遠程教育和虛擬大學的出現等等,且這些應用正逐步深入到千家萬戶。人們迫切需要這些技術來進行在線考試,以減輕教師的工作的負擔以及提高工作效率,與此同時提高了考試的質量,從而使考試更趨于公正、客觀,更加激發學生的學習興趣。篇四:軟件測試實驗報告
武漢理工大學
學 生 實 驗 報 告 書
實驗課程名稱 軟件測試
開 課 學 院 計算機科學與技術學院
指導老師姓名 毛 雪 濤
學 生 姓 名
學生專業班級 2014 — 2015 學年 第 一 學期
任務1:針對一個常用的通訊軟件做黑盒測試,利用所學的黑盒測試方法來設計測試用例,并做相應測試,給出測試方案和測試報告。
實驗一.通訊軟件飛信個人生日填寫測試用例
一.簡介 1.1編寫目的
本測試項目擬對通訊聊天工具飛信輸入生日日期進行測試。1.2項目背景
通訊聊天工具中都會有用戶填寫個人的基本資料,其中生日日期的填寫需要進行則是。本項目即為用軟件測試輸入個人生日日期的正確性。1.3術語
等價類劃分:把程序的輸入域劃分成若干部分(子集),然后從每個部分中選取少數代表性數據作為測試用例。每一類的代表性數據在測試中的作用等價于這一類中的其他值。1.4參考資料
軟件測試 佟偉光主編 人民郵電出版社
黑盒測試用例設計示例 作者: chinaitlab 來源: chinaitlab 二.測試概要 2.1測試程序源代碼 #include if(day==29) { month=3; day=1; cout<<明天是:< 利用等價類劃分法設計測試用例如下: 用例一:輸入日期年份超過界限,如輸入:20151104; 用例二:輸入日期月份輸入有誤,如輸入:19931304; 用例三:輸入日期輸入有誤,如輸入:19931144; 用例四:輸入日期包含非數字字符,如輸入:1993佛說!; 用例五:輸入日期超過8位數字,如:1993110402; 用例六:輸入日期短于8位數字,如:1993114; 用例七:輸入年份為閏年且輸入月份為2,日期超過29,如:20000230,2.3測試方法 手工利用黑盒測試中的等價類劃分法進行測試,主要測試目標為檢驗函數是否符合題目所給要求。即:輸入是否符合規定條件,及程序的魯棒性。 三.測試結果及缺陷分析 3.1測試執行情況與記錄 測試情況記錄: 1、輸入日期20151104,程序提醒“年份超過界限,請重新輸入”。 2、輸入日期19931304,程序提醒“月份輸入有誤,請重新輸入”。 3、輸入日期19931144,程序提醒“日期輸入有誤,請重新輸入”。 4、輸入日期1993佛說!,程序沒有提醒,合理的應該出現提醒“輸入非數字 字符,請重新輸入”。 5、輸入日期1993110402,程序沒有提醒,合理的應該出現提醒“輸入字符超篇五:計算機測試系統實驗報告1 計算機測試系統機電控制 實驗報告 2014年12月21日 一、實驗目的利用計算機、數據采集卡、被控對象(機電實驗平臺aedk—dj6)等組成計算機測控系統,在了解相關硬件的基礎上,采用有關的軟件工具,結合相應的控制規律,在windows環境下實現對相應硬件的訪問控制,從而實現對被控對象的測試控制。通過實驗加深了解計算機測控系統的組成,掌握windows環境下對硬件訪問控制的方法,掌握對被控對象的測試和控制的方法,以及對測試數據處理、分析方法,具備一定的計算機測控硬軟件設計能力和應用能力。 二、實驗設備 pci9112數據采集卡,機電實驗平臺aedk—dj6等。 三、實驗原理 本實驗要求編程實現指針位置的測量和控制實驗,原理如下: 本實驗平臺通過機械結構將步進電機的角位移轉換為直線位移,利用電位器和數據采集卡9112內的a/d轉換器,構成測位置系統。當步進電機運轉時,帶動電位器旋轉,電位器輸出的模擬量——電壓值發生改變,通過a/d轉換器采集電壓值來確定指針位置。電位器輸出的模擬量與指針位置成近似線性關系,即采集的數字量就能直接反映出指針的位置,具體原理如下: (1)電機通過橡膠傳動帶聯動,再通過蝸桿和齒輪將電機的圓周運動轉化為皮帶的水平運動。 (2)皮帶的位移用指針和刻度尺來表示,刻度尺共分為16大格,每格1cm,最小刻度為1mm。皮帶移動帶動右端一個多線圈電位器轉動,通過改變阻值來改變反饋電壓,此電壓被同時送入控制接口插座in0腳(已經接到9112的16路模擬量輸入端口中的0號端口)。當皮帶在16cm范圍內變化時,in0腳的位置反饋電壓將在0~+5v范圍內線性變化。實驗過程中可以通過測量或采集此電壓來計算當前的指針位置。(3)實驗平臺使用四相步進電機,電流脈沖由a、b、c、d四個引腳輸入。a、b、c、d已經接到9112內16路數字輸出端口的4、5、6、7四個端口上,即從9112依次輸出0010h、0020h、0040h、0080h,可以使步進電機正轉;依次輸出0080h、0040h、0020h、0010h,可以使步進電機反轉。 四、實驗內容 1:總體設計 實驗通過上位pc機控制實驗平臺實現電機的閉環控制。 上位機通過labview虛擬儀器控制9112數據采集卡與下位硬件平臺數據端口進行通信,從而實現對下位硬件平臺的閉環控制,系統結構框圖如下: labview 數據接口 2:前面板設計 labview程序前面板可以分為三個區域,分別是模式選擇區域、控制區域以及顯示區域。 模式選擇區域如下: 該區域用來選擇系統的工作模式,當設定系統的工作模式為“自動”時,程序自動控制電機轉動,使得標尺移動到指定位置,當設定系統的工作模式為“手動”時,通過手動控制電機的移動方向,使得標尺移動到指定位置。當按下“停止”按鈕時,系統停止運行。 控制區域如下: 該控制區域在系統工作在手動模式時起作用,在手動工作模式下,當按鈕處于“左移”位置時,標尺指針向左移動,當按鈕處于“右移”位置時,標尺指針向右移動。 顯示區域如下: 設定位置標尺用來預設定標尺位置,作為實際標尺移動的參考標志,實際位 置標尺動態的顯示當前標尺的位置。 示波器顯示兩條曲線,曲線一顯示的是標尺設定位置隨時間變化的曲線,曲線二顯示的是標尺實際位置隨時間變化的曲線,在程序運行過程中示波器可以動態的顯示出指針實際位置曲線不斷接近設定位置曲線,最后重合在一起。3:程序流程圖 程序運行流程如下圖所示: 程序運行時,首先判斷系統的工作模式,如果為手動工作模式,則判斷手動控制按鍵狀態,如果為左移,則控制電機使得指針左移,如果為右移,則控制電機使得指針右移。如果系統處于手動工作模式,則判斷指針實際位置是否等于設定位置,如果相等或者處于誤差允許范圍內,則不移動指針,如果不相等則判斷實際位置與設定位置的大小,如果實際位置小于設定位置,則控制電機使得指針右移,如果實際位置大于設定位置,則控制電機使得指針左移。4:關鍵部分程序實現(1)讀取實際位置 前面是9112采集卡初始化部分,后續為電壓采集模塊,由于滿度電壓輸出為5v,對應的標尺刻度為16厘米,所以結果上述運算可以得出標尺指針的實際位置。 (2)控制電機正轉 電機的正轉控制可以用狀態機實現,通過狀態機順序輸出十六進制數值: 0x10、0x20、0x40、0x80即可控制電機正轉。 (一)>> swa1 請輸入合成信號的個數:Nn= 2 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [5 6 3;10 20 4;] A = >> 第二次 > swa1 請輸入合成信號的個數:Nn= 3 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [6 2 1;10 4 3;50 20 6;] A = 50 第三次 請輸入合成信號的個數:Nn= 4 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [10 6 1;9 5 3;20 14 6;13 10 8;] A = >> (二)方波 1.>> swa2 請輸入合成信號的諧波最高次數:Nn= 3 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 1 Type = >> >> swa2 請輸入合成信號的諧波最高次數:Nn= 4 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 1 Type = >> >> swa2 請輸入合成信號的諧波最高次數:Nn= 5 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 1 Type = >> 三角波 1 >> swa2 請輸入合成信號的諧波最高次數:Nn= 3 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 2 Type = >> n = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 2 Type = > swa2 請輸入合成信號的諧波最高次數:Nn= 6 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 2 Type = >> 鋸齒波 1>> swa2 請輸入合成信號的諧波最高次數:Nn= 3 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 3 Type = >> >> swa2 請輸入合成信號的諧波最高次數:Nn= 6 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 3 Type = >> >> swa2 請輸入合成信號的諧波最高次數:Nn= 9 Nn = 請輸入合成信號的類型(1-方波 2-三角波 3-鋸齒波)Nn= 3 Type = >> (三)>> DFA 請輸入周期系數Tm= 1 Tm = 是否加窗cflag=(0-不加窗 1-加窗)0 cflag = 0 請輸入合成信號的個數:Nn= 2 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [6 5 2;8 6 3;] A = >> 加 >> DFA 請輸入周期系數Tm= 1 Tm = 是否加窗cflag=(0-不加窗 1-加窗)1 cflag = 請輸入合成信號的個數:Nn= 2 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [6 5 2;8 6 3;] A = >>>> dfa 請輸入周期系數Tm= 1 Tm = 是否加窗cflag=(0-不加窗 1-加窗)0 cflag = 0 請輸入合成信號的個數:Nn= 3 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值)3列(頻率-Hz):A= [10 20 5;30 40 9;20 30 9;] A = >> 2列(相位-度) 加 >> dfa 請輸入周期系數Tm= 1 Tm = 是否加窗cflag=(0-不加窗 1-加窗)1 cflag = 請輸入合成信號的個數:Nn= 3 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [10 20 5;30 40 9;20 30 9;] A = >>>> dfa 請輸入周期系數Tm= 1 Tm = 是否加窗cflag=(0-不加窗 1-加窗)0 cflag = 0 請輸入合成信號的個數:Nn= 4 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值) 2列(相位-度) 3列(頻率-Hz):A= [6 5 2;9 6 3;10 5 4;20 10 9;] A = >> 加 >> dfa 請輸入周期系數Tm= Tm = 是否加窗cflag=(0-不加窗 1-加窗)1 cflag = 請輸入合成信號的個數:Nn= 4 Nn = 請輸入對應信號的幅值,相位,頻率矩陣A(Nn*3),其中1列(幅值)3列(頻率-Hz):A= [6 5 2;9 6 3;10 5 4;20 10 9;] A = >> 2列(相位-度) 軟件質量保證與測試 2016 ~ 2017學年 第二學期 學 院 計算機科學技術 專 業 軟件工程 學 號 140521221 姓 名 蒲鳳 指導教師王鵬 目錄 一、單元測試.......................................................1 1.1實驗目的......................................................1 1.2實驗環境......................................................1 1.3實驗原理......................................................1 1.4實驗內容......................................................1 1.4.1 C#單元測試................................................1 1.4.2 測試用例..................................................4 1.5實驗結果......................................................5 1.6實驗總結......................................................6 1.6.1插件安裝...................................................6 1.6.2心得體會...................................................6 1.6.3單元測試意義...............................................6 二、LOADRUNNER性能測試.............................................7 2.1實驗目的......................................................7 2.2實驗環境......................................................7 2.3實驗原理......................................................7 2.4實驗內容......................................................7 2.4.1 HP LoadRunner錄制腳本.....................................7 2.4.2 HP LoadRunner腳本測試場景設計及分析......................17 2.5實驗結果.....................................................33 2.6實驗分析.....................................................34 2.7實驗總結.....................................................34 三、反編譯........................................................36 3.1實驗目的.....................................................36 3.2實驗環境.....................................................36 3.3實驗原理.....................................................36 3.4實驗內容.....................................................36 3.4.1 Net Refelector反編譯.....................................36 3.5實驗結果.....................................................40 3.6實驗總結.....................................................41 3.6.1心得體會..................................................41 I 3.6.2 對軟件安全性的看法.......................................41 四、SQL注入.......................................................42 4.1實驗目的.....................................................42 4.2實驗環境.....................................................42 4.2實驗原理.....................................................42 4.3實驗內容.....................................................42 4.3.1 sql注入..................................................42 4.4實驗結果.....................................................52 4.5實驗總結.....................................................54 4.5.1心得體會..................................................54 4.5.2 SQL注入危害..............................................54 五、禪道項目管理的BUG管理模塊使用................................55 5.1實驗目的.....................................................55 5.2實驗環境.....................................................55 5.3實驗原理.....................................................55 5.4實驗內容.....................................................55 5.4.1禪道項目管理的bug管理模塊使用............................55 5.5實驗結果.....................................................67 5.6實驗總結.....................................................68 II 一、單元測試 1.1實驗目的 1.能夠使用編程工具進行單元測試。 2.檢查代碼實現是否符合設計,盡早發現設計和需求中存在的錯誤。3.發現在編碼過程中引入的錯誤,跟蹤需求和設計的實現是否一致。 1.2實驗環境 環境:vs2013 1.3實驗原理 主要采用白盒技術,檢查模塊控制結構的某些特殊路徑,期望覆蓋盡可能多的出錯點。 1.4實驗內容 1.4.1 C#單元測試 1.新建一個類庫項目,并為其中的類為BinaryTree.構建二叉樹并添加前序遍歷方法。如圖1-1所示。 圖1-1 2.創建單元測試。在方法名上右擊,然后單擊“Generate Unit Test”選項,打開對話框。如圖1-2所示。 圖1-2 3.選擇方法,為新建項目命名。如圖1-3所示。 圖1-3 4.然后在解決方案管理中就多了相應的BinaryTree Tests解決方案。如圖1-4所示。 圖1-4 打開測試菜單->窗口->測試資源管理器,如圖1-5所示。 圖1-5 5.在測試試圖,右鍵運行要測試的方法,在測試結果窗口中查看測試結果,運行測試之前。如圖1-6所示。 圖1-6 1.4.2測試用例 1.設置測試參數。如圖1-7,1-8所示。 圖1-7 圖1-8 2.運行之后。如圖1-9所示。 圖1-9 1.5實驗結果 經過測試,ResultEqualTest1,ResultEqualTest2均未通過測試,調整參數,重新測試,測試結果如下,如圖1-10所示。: 圖1-10 1.6實驗總結 1.6.1插件安裝 在vs2013進行單元測試之前,需要按照手動添加插件。選擇工具-擴展和更新,搜索并安裝Unit Test Generator。1.6.2心得體會 本次測試設計涉及預期測試需求,實驗結果符合預期。單元測試幫助開發人員編寫代碼,提升質量,減少bug;提升反饋速度,減少重復工作,提高開發效率;保證最后的代碼不會破壞之前的代碼功能,同時讓代碼維護更容易,有助于改進代碼質量和設計。1.6.3單元測試意義 單元測試集中注意力與程序的基本組成部分,首先保證每個單元測試通過,才能使下一步把單元組成部分組裝成部件并測試其正確性具有基礎。單元是整個軟件的構成基礎,只有保證零部件一樣,這個設備的質量才有基礎,單元的質量也是整個軟件質量的基礎。因此,單元測試的效果會直接影響到軟件的后期測試,最終在很大程度上影響到產品的質量。同時,單元規模較小,復雜性較低,因而發現錯誤后容易隔離和定位,有利于調試工作。 二、LoadRunner性能測試 2.1實驗目的 1.掌握LoadRunner的使用方法。2.能夠使用LoadRunner進行負載測試 3.學會用LoadRunner設計場景并嘗試,并分析測試結果。 2.2實驗環境 環境:HP LoadRunnner 2.3實驗原理 LoadRunner進行負載測試通常有五個階段組成: 計劃、腳本創建、場景定義、場景執行和結果分析。 (1)計劃負載測試:定義性能測試要求,例如并發用戶的數量、典型業務流程和所需相應時間。 (2)創建Vuser腳本:將最終用戶活動捕獲到自動腳本中。(3)定義場景:使用LoadRunnerControlller設置負載測試環境。(4)運行場景:通過LoadRunnerControlller驅動、管理和監控負載測試。(5)分析結果:使用LoadRunnerAnalysis創建圖和報告并評估性能。 2.4實驗內容 2.4.1HP LoadRunner錄制腳本 1.啟動服務。如圖2-1所示。 圖2-1 2.登錄自帶網站WebTours,并注冊。如圖2-2所示。 圖2-2 填寫注冊信息,如圖2-3,2-4所示。 圖2-3 圖2-4 注冊成功,如圖2-5所示。 圖2-5 3.打開Loadrunner,點擊新建腳本打開VuGen。如圖2-6所示。 圖2-6 新建腳本,如圖2-7所示。 圖2-7 4.新建腳本,選擇協議。如圖2-8所示。 圖2-8 5.選擇瀏覽器,設置所測web的地址。如圖2-9所示。 圖2-9 6.點擊左下角Options按鈕,進入錄制環境設置界面。如圖2-10,2-11所示。 圖2-10 圖2-11 7、模擬用戶操作開始錄制腳本。如圖2-12所示。 圖2-12 用戶操作如下,模擬用戶訂票。如圖2-13所示。 圖2-13 8.結束錄制,生成腳本。如圖2-14所示。 圖2-14 9.回放腳本,驗證腳本是否正確。如圖2-15所示。 圖2-15 回放結果,如圖2-16所示。 圖2-16 10.增加事務,并命名。如圖2-17所示。 圖2-17 給事務命名,如圖2-18所示。 圖2-18 查看事務,如圖2-19所示。 圖2-19 11.參數化。在腳本中找到需要參數化的值,例如登錄名和登錄密碼。如圖2-20所示。 圖2-20 2.4.2HP LoadRunner腳本測試場景設計及分析 1.導入腳本,打開controller。如圖2-21所示。 圖2-21 2.選擇文件路徑。如圖2-22所示。 圖2-22 3.進入初始界面。如圖2-23所示。 圖2-23 4.為了設置集合點,取消默認勾選框,添加腳本。如圖2-24所示。 圖2-24 5.確定,進入場景設置界面。如圖2-25所示。 圖2-25 6.設置場景,選擇初始化。如圖2-26所示。 圖2-26 7.打開運行時設置,設置迭代次數。如圖2-27所示。 圖2-27 8.設置迭代參數為2。如圖2-28所示。 圖2-28 9.點開Miscellaneous,設置Continueon error,使錯誤發生時可繼續執行。如圖2-29所示。 圖2-29 10.設計集合點。如圖2-30所示。 圖2-30 設置當所有虛擬用戶都到達集合點才釋放,模擬多用戶同時進行某一操作的情況。選中policy。如圖2-31所示。 圖2-31 11.設置policy。如圖2-32所示。 圖2-32 12.點擊運行,進入運行時監控界面。如圖2-33所示。 圖2-33 13.點擊運行場景。如圖2-34所示。 圖2-34 14.觀察運行結果。如圖2-35,2-36,2-37,2-38,2-39所示。 圖2-35 圖2-36 圖2-37 圖2-38 圖2-39 15.設置場景運行時Windows資源監控圖。如圖2-40所示。 圖2-40 點擊添加。如圖2-41,2-42所示。 圖2-41 圖2-42 運行時Windows資源監控圖截圖如下。如圖2-43所示。 圖2-43 16.打開分析器,形成分析結果。如圖2-44,2-45所示。 圖2-44 圖2-45 17.分析器自動形成分析結果。如圖2-46,2-47,2-48,2-49,2-50所示。 圖2-46 圖2-47 18.點開監控的圖表,根據需要合并圖表以便更好地分析。 圖2-48 圖2-49 圖2-50 19.添加Windows資源監控圖表。如圖2-51,2-52所示。 圖2-51 圖2-52 20.添加頁面分析結果圖表。如圖2-53所示。 圖2-53 21.生成測試報告。如圖2-54所示。 圖2-54 生成測試報告中。如圖2-55所示。 圖2-55 生成測試報告,如圖2-56所示。 圖2-56 2.5實驗結果 回放驗證。如圖2-57所示。 圖2-57 生成測試報告,點擊內容,如圖2-58所示。 圖2-58 2.6實驗分析 通過測試報告可以看出,最多能夠創建10個vuser,平均吞吐量是14320字節每分,平均每秒點擊數量約為10次。同時可以通過以下方式使被測系統所受壓力減輕,從如下方面進行綜合調解:將測試腳本中think time值加大并在控制臺中按比例實現,此處think time指在transaction外部的時間;Controller中Run-Time Setting的Pacing設置值加大;虛擬用戶登錄時使用遞增策略,間隔稍長。 2.7實驗總結 LoadRunner,是一種預測系統行為和性能的負載測試工具。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。企業使用LoadRunner能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期。LoadRunner可適用于各種體系架構的自動負載測試,能預測系統行為并評估系統性能。學會了使用LoadRunner錄制腳本。基本的流程是啟動服務器、注冊、錄制腳本及進行參數化設置。設計涉及場景的搭建和測試,通過Lordrunner進行腳本測試,同時能夠生成相應的圖表,直觀的反應了測試結果。Lordrunner作為專業的性能測試工具,通過模擬成千上萬的用戶對被測應用進行操作和請求,在實驗室環境中精確重現生產環境中任意可能出現的業務壓力,然后通過在測試過程中獲取的信息和數據來確認和查找軟件的性能問題,分析性能瓶頸。 三、反編譯 3.1實驗目的 1.學會如何使用反編譯工具對程序進行反編譯。2.能夠使用.NetRefelector進行反編譯。 3.2實驗環境 環境:.Net Refelector,VS2008 3.3實驗原理 反編譯的主要思想:將特定的機器代碼,即我們的“源程序”,先翻譯為低級的中間代碼,然后再根據特定的高級語言將中間代碼翻譯為高級程序。反編譯器也有前端和后端。前端是一個機器依賴的模塊,句法分析二進制程序、分析其指令的語義、并且生成該程序的低級中間表示法和每一子程序的控制流向圖。通用的反編譯機器是一個與語言和機器無關的模塊,分析低級中間代碼,將它轉換成對任何高級語言都可接受的高級表示法,并且分析控制流向圖的結構、把它們轉換成用高級控制結構表現的圖。最后,后端是一個目標語言依賴的模塊,生成目標語言代碼。反編譯的過程中要使用一些工具:把二進制程序裝入內存,對這一程序做句法分析或反匯編,以及反編譯或者分析該程序來生成高級語言程序。這個過程借助編譯器和庫的簽名來識別特定的編譯器和庫子程序。只要在二進制程序中識別出編譯器簽名,就不去反編譯這些編譯器啟動代碼(start-up)和庫子程序:對于前者,從最后的目標程序去掉啟動代碼的那些例程,反編譯器從主(main)程序入口點開始分析;對于后者,那些子程序用其庫函數名代替。 3.4實驗內容 3.4.1Net Refelector反編譯 1.啟動.NETRefelector(在所有程序中找到RedGate文件夾)找到安裝文件,點擊運行。如圖3-1所示。 圖3-1 2.選擇文件,打開可執行文件。如圖3-2所示。 圖3-2 選擇文件路徑。如圖3-3所示。 圖3-3 3.導入工程截圖如下。如圖3-4所示。 圖3-4 4.相關函數和類,如圖3-5所示。 圖3-5 5.選中工程,導出源碼。如圖3-6所示。 圖3-6 6.選擇導出文件路徑。如圖3-7所示。 圖3-7 7.選中反編譯程序,點擊運行。如圖3-8所示。 圖3-8 3.5實驗結果 反編譯成功,如圖3-9所示。 圖3-9 3.6實驗總結 3.6.1心得體會 本次實驗通過反編譯工具進行了反編譯,完成了從可執行文件到源碼的轉換,學會了如何使用.NET Refelector反編譯工具。3.6.2 對軟件安全性的看法 軟件安全(Software Security)就是使軟件在收到惡意攻擊的情形下依然能夠繼續正確運行及確保軟件被在授權范圍內合法使用的思想。軟件安全性分析任務包含于軟件生存周期的若干活動中,是針對軟件的安全性質量,作為這些活動的補充。軟件安全性分析作為開發中軟件的質量的重要保證,關系到軟件的獲取、供應、開發、運行和維護,已得到專業人士的高度重視。并且現在,軟件安全性分析任務的各項細節執行都寫入了國軍標,被安全相關軟件的需方、供方、開發者、維護者以及獨立的評價者使用。規范化將推進軟件安全性分析的進程,使更多的開發和評測單位遵循標準化文件,督促開發團隊采取相應的技術手段,以軟件測試作為輔助。同樣,軟件安全性分析標準也會在推進的過程中,得到不斷地發展。 四、SQL注入 4.1實驗目的 1.明白SQL注入原理。2.能夠進行簡單的SQL注入。 4.2實驗環境 環境:VS2013,SQL Server Management Studio 4.2實驗原理 SQL注入即是指web應用程序對用戶輸入數據的合法性沒有判斷,攻擊者可以在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,以此來實現欺騙數據庫服務器執行非授權的任意查詢,從而進一步得到相應的數據信息。 4.3實驗內容 4.3.1 sql注入 1.點擊SQL SERVERR2。如圖4-1所示。 圖4-1 登陸數據庫,如圖4-2所示。 圖4-2 2.創建數據庫SQLTEST。如圖4-3,4-4所示。 圖4-3 圖4-4 3.創建表UserLogin。如圖4-5所示。 圖4-5 設置主鍵如下,如圖4-6所示。 圖4-6 設置成功,截圖如下。如圖4-7所示。 圖4-7 輸入表名。如圖4-8所示。 圖4-8 4.選中表,編輯前200行。如圖4-9所示。 圖4-9 5.編輯測試數據,如圖4-10所示。 圖4-10 6.打開VS2013,新建項目。如圖4-11所示。 圖4-11 選中Asp.net Web應用程序。如圖4-12所示。 廣西工學院鹿山學院 實 驗 報 告 課程名稱: 嵌入式系統 指導教師: 劉瑞琪 班 級: 自動化101 姓 名: 楊杰 學 號: 20102787 成績評定: 指導教師簽字: 2013年5月25日 實驗一 簡單的程序 一 實驗目的:、動手實踐一個簡單的字符型設備驅動程序。、學習Linux 驅動程序構架。、學習在應用程序中調用驅動。 二 實驗內容: 編寫簡單的字符型設備驅動程序。編寫相應的應用程序。 三 實驗設備:、一套S3C2410RP 嵌入式實驗箱。、安裝Redhat9的宿主PC機,并且配置好 ARM Linux 的開發環境。 四 實驗步驟 實驗二 CPU GPIO 驅動程序及測試程序 一、實驗目的: 編寫第一個針對實際硬件的驅動程序,進一步了解驅動程序構架。 二、實驗內容:、編寫S3C2410 GPIO驅動程序。、編寫S3C2410 GPIO應用程序。、在 LINUX系統中插入自己的驅動程序,調用它。實現用 CPU GPIO 控制外部LED,利用S3C2410 核心板上的 LED 驗證我們的工作。 三、實驗設備、一套S3C2410RP 嵌入式實驗箱。、安裝Redhat9的宿主PC機,并且配置好 ARM Linux 的開發環境。 四、實驗步驟 1、復制Experiment_KeyHello_driverapl_test文件下的simple_test_driver.c文件到Experiment_KeyGPIO文件夾下,將文件名更改為test.c。 2、打開test.c,在else語句后更改函數語句如下: 3、復制Experiment_KeyADapl_test文件夾下的Makefile到Experiment_KeyGPIO文件夾下,打開并將中的ADC刪除。 4、打開Experiment_KeyGPIOdriver文件下的gpio_led.c文件。 5、在ssize_t SIMPLE_GPIO_LED_ioctl函數下添加如下語句: if(cmd==0)GPBDAT &= ~(0xf<<5); if(cmd==1)GPBDAT |=(0xf<<5);如下圖所示: 6、在int __init HW_GPIO_LED_CTL_init函數下屏蔽for循環,如下圖所示: 保存并關閉。 7、打開終端,并編譯test.c文件和gpio_led.c文件。 8、重新打開一個終端,并按步驟輸入如下語句: 9、依次輸入如下語句: 1、cd..2、ls 3、mknod /dev/hello_ctl c 97 1 4、./test 實驗三 中斷實驗及LED顯示 一、實驗目的: 學習Linux 系統是如何處理中斷。 二、實驗內容: 編寫獲取和處理外中斷的驅動程序。 三、實驗設備:、一套S3C2410RP 嵌入式實驗箱。、安裝Redhat9的宿主PC機,并且配置好 ARM Linux 的開發環境。 四、實驗步驟 1、打開Experiment_KeyGPIOdriver文件下的gpio_led.c文件。 2、在ssize_t SIMPLE_GPIO_LED_ioctl函數下添加如下語句: if(cmd==0)GPBDAT &= ~(0xf<<5); if(cmd==1)GPBDAT |=(0xf<<5);如下圖所示: 3、在int __init HW_GPIO_LED_CTL_init函數下屏蔽for循環,如下圖所示: 保存并關閉。 4、打開Experiment_KeyInterruptdriver下的Interrupt.c文件,并在其interrupt函數下添加for語句,如下圖所示: 5、打開終端,并編譯Interrupt.c文件和gpio_led.c文件。 6、重新打開一個終端,并按步驟輸入如下語句: 7、依次輸入如下語句: 1、cd /mnt/2410RP_linux/Experiment_Key/Interrupt/driver 2、ls 3、insmod Interrupt.o 實驗四 數碼管顯示實驗 一、實驗目的: 學習串并轉換的相關知識,并編寫驅動程序。 二、實驗內容: 編寫針對zlg7289A 的驅動程序。 三、實驗設備:、一套S3C2410RP 嵌入式實驗箱。、安裝Redhat9的宿主PC機,并且配置好 ARM Linux 的開發環境。 四、實驗步驟 1、打開Experiment_KeySpi_leddriver文件夾下的spi_led.c 2、并在spi_ledInit函數下添加如下語句: 保存并關閉。 3、打開終端,并編譯spi_led文件。 4、重新打開一個終端,并輸入如下語句: 實驗五 AD 驅動實驗 一 實驗目的:、了解模數轉換的基本原理;、掌握模數轉換的編程方法。 二 實驗內容:、編程對模擬量輸入進行采集和轉換,并將結果顯示在超級終端上。、通過改變模擬量輸入,觀察顯示結果。 三 實驗設備:、一套S3C2410RP 嵌入式實驗箱。、安裝Redhat9的宿主PC機,并且配置好 ARM Linux 的開發環境。 四 實驗步驟 1、在spi_led..c中的simpled ioctl中加入以下程序 2、在testADC中復制以下程序并修改如下 3、掛載程序 cd /mnt/2410RP_linux/Experiment_Key/spi_led/driver ls insmod spi_led.o cd /mnt/2410RP_linux/Experiment_Key/ad/driver insmod adc.o cd /mnt/2410RP_linux/Experiment_Key/ad/apl_test ls mknod /dev/spi c 104 1 ls ./testADC 嵌入式系統設計實驗報告 班 級:學 號:姓 名:成 績:指導教師: 20110612 2011061208 李曉虹 武俊鵬、劉書勇 1.實驗一 1.1 實驗名稱 博創UP-3000實驗臺基本結構使用方法 1.2 實驗目的 1.熟悉嵌入式系統開發式流程概述。 2.熟悉UP-net3000實驗平臺的核心硬件電路和外設。3.熟悉ARM JTAG的安裝與使用。 1.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發 環境、仿真器驅動程序、超級終端通訊程序。 1.4 實驗內容及要求 1.熟悉嵌入式系統開發式流程概述。 2.熟悉UP-net3000實驗平臺的核心硬件電路和外設。3.熟悉ARM JTAG的安裝與使用。 1.5 實驗設計與實驗步驟 1.新建超級終端 2.選擇ARM 開發實驗臺串口。 完成新建超級終端的設置以后,可以選擇超級終端文件菜單中的保存,將當前設置 3.保存為一個特定超級終端到桌面上,以備后用。用串口線將PC 機串口和平臺UART0 正確連接后,就可以在超級終端上看到程序輸出的信息了。4.啟動開發板,按住任意鍵,使開發板進入BIOS設置狀態。 5.在超級終端的界面上,顯示BIOS版本信息,以及相應的測試指令。操作時,要在PC機上輸入小寫的字母快捷鍵,進入到相應的功能中去。6.按照超級終端上的提示信息,進行功能的測試。 1.6 實驗過程與分析 本次實驗操作起來并不困難,因為此次實驗屬于驗證型實驗,按照實驗資料所給的提示信息,以上面的步驟,即可得到實驗的結果。進入到BIOS界面后,按照超級終端上的提示信息來進行功能 1.7 實驗結果總結 在實驗過程中,我們進行的很順利,沒有遇到什么問題,在超級終端界面,按提示的快 捷鍵來測試對應的功能。如 e:測試由ZLG7289 驅動的LED 顯示,共分3 步,請看超級終端提示按任意鍵繼續,同 時觀察LED 的變化,最后返回主菜單。 b:引導FLASH 中的應用程序system.bin。執行該功能將退出BIOS 狀態,把控制交給應 用程序,等。 1.8 心得體會 通過此次實驗,我對于實驗環境有了初步的了解與認識,對于嵌入式也有了更深一步的認識。同時實驗過程中,我學會了第一次接觸的超級終端的使用方法,并能夠熟練掌握,知道其工作的原理。 2.實驗二 2.1 實驗名稱 ADS1.2軟件開發環境使用方法 2.2 實驗目的 1.熟悉ADS1.2 開發環境,學會ARM 仿真器的使用。 2.使用ADS 編譯、下載、調試并跟蹤一段已有的程序,了解嵌入式開發的基本思想和過程。 2.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發 環境、仿真器驅動程序、超級終端通訊程序。 2.4 實驗內容及要求 掌握AXD Debugger的使用方法,學習串行通訊原理,了解串行通訊控制器,閱讀ARM 芯片文檔,掌握ARM 的UART相關寄存器的功能,熟悉ARM 系統硬件的UART 相關接口。編程實現ARM 和計算機之間的串行通訊:ARM 監視串行口;將接收到的字符再發送給串口(計算機與開發板是通過超級終端通訊的);即按PC 鍵盤通過超級終端發送數據,開發板將接收到的數據再返送給PC,在超級終端上顯示。 2.5 實驗設計與實驗步驟 (1)新建工程,選擇菜單中的Project | Add Files 把和工程相關的所有文件包括init和startup 子目錄加入到工程中。ADS1.2 不能自動按文件類別對這些文件進行分類,需要的話可以執行菜單Project | Create Group 創建文件組,然后分別將不同類的文件加入到不同的組,以方便管理。(另一種辦法是,在新建工程時ADS 創建了和工程同名的目錄,在該目錄下按類別創建子目錄并存放工程文件。選中所有目錄拖動到任務欄上的ADS 任務條上,不要松 開鼠標當ADS 窗口恢復后再拖動到工程文件窗口,松開鼠標。這樣ADS 將以子目錄名建立同名文件組并以此對文件分類。) (2)雙擊Main.c 打開該文件,可以看到Main()函數的內容如下所示。int main(void){ ARMTargetInit();//開發版初始化 LCD_Init();LCD_ChangeMode(DspTxtMode);//轉換LCD 顯示模式為文本顯示模式 LCD_Cls();//文本模式下清屏命令 LCD_printf(“Hello world!n”);//向液晶屏輸出 Uart_Printf(“nHello world!n”);//向串口輸出 while(1);}(3)利用上個實驗中的通訊軟件超級終端來將生成的文件放到嵌入式開發平臺中。(4)重啟實驗臺即可看到LCD上顯示的“Hello world!” 2.6 實驗過程與分析 新建工程,然后將所需的工程文件加載打工程目錄下,編譯生成system.bin文件,將文件導入到實驗臺中,然后重啟實驗臺,即可得到實驗結果。 2.7 實驗結果總結 超級終端輸出一些相對應的代碼的執行結果。熟悉了ADS1.2 開發環境以及學會了ARM 仿真器的基本使用。使用ADS 編譯、下載、調試并跟蹤一段已有的程序,并大致了解了嵌入式開發的基本思想和過程。 2.8 心得體會 通過此次實驗,我對于嵌入式開發的基本思想有了一定的了解,嵌入式開發采用的是交叉編譯環境,所以在一些方面會有所限制。對于初學者來說,通過一兩次實驗結果的演示就能夠對實驗臺有深入的了解不可能的,所以在后續的實驗中,我要好好努力,認真做好課程實驗為后續的課程設計實驗打下基礎。 3.實驗三 3.1 實驗名稱 鍵盤及LED實驗 3.2 實驗目的 1.學習鍵盤及LED 驅動原理。 2.掌握ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驅動17鍵的鍵盤和8個共陰極LED。 3.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開 發 環境、仿真器驅動程序、超級終端通訊程序。 3.4 實驗內容及要求 編寫出一段程序,要求能在LED上顯示出小鍵盤上按下的4位數字。 3.5 實驗設計與實驗步驟 1.新建工程,將“Exp3 鍵盤及LED 驅動實驗”中的文件添加到工程。2.定義ZLG7289 寄存器(ZLG7289.h)。3.編寫ZLG7289 驅動函數(ZLG7289.c)。4.定義鍵盤映射表:(Keyboard16.c)。5.定義鍵值讀取函數。 6.編寫主函數,將按鍵值在數碼管上顯示。 3.6 實驗過程與分析 此次實驗中,我們根據已有實驗,進行調試,查看程序的運行效果。根據效果,我們又回到實驗代碼中,然后對代碼進行深入的研究,查看每部分功能所對應的代碼,通過不斷的調試編譯,我們最終對該實驗用到的代碼有了更深的認識。從而能夠按照要求,完成我們自己實驗。 3.7 實驗結果總結 通過小鍵盤的按鍵,鍵值可以在LED上顯示出來。并學習了鍵盤及LED 驅動原理以及掌握了ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驅動17鍵的鍵盤和8個共陰極LED。 3.8 心得體會 在這次實驗中讓我對嵌入式的實驗箱有了進一步的認識,并且進一步了解的ARM實驗的原理和實驗情況,能夠對源代碼進行正確了理解。并且能修改這些源代碼能夠使其工作在自己的預期的工作狀態和輸出自己想要的結果 4.實驗四 4.1 實驗名稱 電機轉動控制及中斷實驗 4.2 實驗目的 1.熟悉ARM本身自帶的六路即三對PWM,掌握相應寄存器的配置。 2.編程實現ARM系統的PWM輸出和I/O輸出,前者用于控制直流電機,后者用于控制步進電機。 3.了解直流電機和步進電機的工作原理,學會用軟件的方法實現步進電機的脈沖分配,即用軟件的方法代替硬件的脈沖分配器。 4.了解44B0處理器上中斷的應用。 5.學習在44B0處理器上中斷的應用。 6.進一步熟悉平臺外圍硬件及其驅動程序的編寫。 4.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發環境、仿真器驅動程序、超級終端通訊程序。 4.4 實驗內容及要求 1.編程實現ARM芯片的一對PWM輸出用于控制直流電機的轉動,通過A/D旋鈕控制其轉動方式。 2.編程實現ARM的四路I/O通道,實現環形脈沖分配用于控制步進電機的轉動,通過A/D旋鈕控制步進電機的轉角。 3.通過鍵盤控制直流電機與步進電機的切換。4.設置并啟動定時器。 5.設置中斷,編寫定時器中斷服務程序,對中斷次數進行計數并在LED上顯示結果。 4.5 實驗設計與實驗步驟 1.添加并打開工程。 2.進行直流電機初始化設置和代碼編寫。3.進行步進電機初始化設置和代碼編寫。 4.對Timer3編程,編寫定時器中斷服務程序,完成對中斷次數的計數。5.編寫LED計數顯示函數,使LED能正確計數并顯示0-9999。6.編寫中斷初始化函數和中斷響應函數。7.終端下載測試。 4.6 實驗過程與分析 1.對直流電機進行編程和測試,掌握轉速和旋轉方向的設定方法。2.對步進電機進行編程和測試,掌握ARM的四路I/O通道,實現環形脈沖分配用于控制步進電機的轉動,通過A/D旋鈕控制步進電機的轉角。 3.對主函數進行編程,用鍵盤響應直流電機與步進電機的切換控制。 4.掌握中斷相關語句的應用,弄清定義的中斷向量、中斷向量號,編寫中斷響應函數,并完成中斷響應控制。 4.7 實驗結果總結 實現了直流電機與步進電機的基本設置和控制,可以通過鍵盤控制電機之間的切換。完成了中斷的響應和定時中斷。 在通過本次實驗,我初步了解的實驗的目的所在,并且利用所給的源代碼能夠,調試出所預期的結果,而且能夠根據已給的源代碼修改得到所需的結果。 4.8 心得體會 通過本次實驗,掌握了電機工作原理,了解了中斷的意義和實現方法,實現了簡單了中 斷處理程序,更加了解了中斷的意義。 5.實驗五 5.1 實驗名稱 LCD驅動控制實驗及觸摸屏驅動實驗 5.2 實驗目的 1.了解觸摸屏的基本概念與原理。 2.理解觸摸屏與LCD的關系。3.編程實現對觸摸屏的控制。 5.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發環境、仿真器驅動程序、超級終端通訊程序。 5.4 實驗內容及要求 1.了解觸摸屏基本原理,理解對觸摸屏進行輸出標定、與LCD顯示器配合的過程。2.通過編程實現觸摸兩點自動在兩點間劃直線。3.通過編程實現在觸摸屏上動態畫出曲線。 5.5 實驗設計與實驗步驟 1.添加并打開工程。 2.在頭文件中定義宏和常量及驅動函數。3.校準觸摸屏坐標,進行坐標轉換。4.實現觸屏取點并顯示功能。5.實現兩點間自動劃線功能。6.實現觸摸屏動態劃線功能。 5.6 實驗過程與分析 1.在定義觸屏響應功能的函數中對點擊觸屏進行響應函數的修改,在其中添加修改點顏色的函數,修改得到的觸摸點的顏色,并顯示在LCD上。 2.獲取第一個點坐標并儲存,獲取第二個點坐標并儲存,編寫劃線函數,取得兩點間直線上所有點的坐標,并對其改變顏色,顯示在LCD上,即完成劃直線功能。 3.將劃線函數應用到響應觸屏移動消息的函數下,即可對連續獲得的觸摸坐標進行連續的畫短直線,連接成曲線,完成動態劃線功能。 5.7 實驗結果總結 了解了觸摸屏響應動作消息的函數的工作原理,通過修改實現了觸摸屏響應不同動作進行畫點、劃線、動態劃線的功能。 5.8 心得體會 通過本次實驗,使我了解了怎么在一塊嵌入式實驗箱 通過編程控制實驗箱上得硬件,比如在本次實驗中的控制LCD屏幕就是,在屏幕上點擊,然后得到在LCD屏上點擊的位置。本次實驗初步完成了實驗結果。 6.實驗六 6.1 實驗名稱 UCOS-Ⅱ在ARM微處理器上的裁剪 6.2 實驗目的 1.了解UCOS-Ⅱ內核的主要結構。 2.掌握UCOS-Ⅱ裁剪的基本原理與嵌入式編程實現方法。3.學習如何根據具體情況對UCOS-Ⅱ操作系統進行裁剪。 4.通過對UCOS-Ⅱ配置文件(OS_CFG.H)中相關的配置常量進行設置,實現對UCOS-Ⅱ的裁剪。 6.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發環境、仿真器驅動程序、超級終端通訊程序。 6.4 實驗內容及要求 對UCOS-Ⅱ內核進行裁剪并移植到ARM7微處理器上。 6.5 實驗設計與實驗步驟 編輯OS_CFG.H文件。OS_CFG.H文件中的內容可分為兩大類:服務功能的配置和數據結構的配置。 一.服務功能的配置: 根據程序中的實際情況,保留自己要用的系統服務功能,刪除自己不需要的服務功能。進行合理配置后,是我們自己系統的目標代碼比較緊湊,從而降低了對程序代碼存儲空間的要求。如果代碼存儲空間足夠大的話,那就將全部系統服務功能全部配置為1。不需要考慮功能裁剪。 二.數據結構功能的配置: 與任務有關的數據結構 1.OS_MAX_TASKS 作用:設置用戶程序中可以使用的最多任務數。說明:該值不能超過62.舉例: 若程序中用到了三個任務,則該值的最小值 2.OS_LOWEST_PRIO 作用:設置程序中最低任務的優先級。 說明: 設定該值可以節省操作系統使用RAM的空間。任務的最低優先級和最大任務數是沒有直接關系的。 6.6 實驗過程與分析 按照實驗指導書上的步驟進行,得到了要求的系統。 6.7 實驗結果總結 按照要求進行了裁剪,得到了滿足需要又緊湊的應用軟件系統。 6.8 心得體會 了解了UCOS-Ⅱ內核的主要結構,掌握了UCOS-Ⅱ裁剪的基本原理與嵌入式編程實現方法,學會了如何根據具體情況對UCOS-Ⅱ操作系統進行裁剪 7.實驗七 7.1 實驗名稱 ucos-II移植實驗 7.2 實驗目的 1.了解UCOS-Ⅱ內核的主要結構。 2.掌握將UCOS-Ⅱ內核移植到ARM7處理器上的基本方法。 7.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發環境、仿真器驅動程序、超級終端通訊程序。 7.4 實驗內容及要求 1.將UCOS-Ⅱ內核進行移植到ARM7微處理器上。 2.編寫兩個簡單任務,在超級終端上觀察兩個任務的切換。 7.5 實驗設計與實驗步驟 1.該實驗的文件分為兩類,其一是STARTUP 目錄下的系統初始化、配置等文件,其二是uCOS-II 的全部源碼,arch 目錄下的3 個文件是和處理器架構相關的。 2.設置os_cpu.h 中與處理器和編譯器相關的代碼 3.用C 語言編寫6 個操作系統相關的函數(OS_CPU_C.C)4.用匯編語言編寫4 個與處理器相關的函數(OS_CPU.ASM)5.編寫一個簡單的多任務程序來測試一下移植是否成功。 為了使 uCOS-II 可以正常運行,除了上述必須的移植工作外,硬件初始化和配置文件也是必須的。STARTUP 目錄下的文件還包括中斷處理,時鐘,串口通信等基本功能函數。在文件 main.c 中給出了應用程序的基本框架,包括初始化和多任務的創建,啟動等。任務 創建方法如下: ①在程序開頭定義任務堆棧,任務函數聲明和任務優先級 ②在main()函數中調用OSStart()函數之前用下列語句創建任務 ③編寫任務函數內容 6.編譯并下載移植后的uCOS-II 所有的源代碼都準備好后就可以進行編譯了。在ADS 環境下需要設置工程的訪問路徑。從菜單Edit | Debug Settings 進入設置對話框,在Target | Access Paths 中選擇User Paths 并選上Always search user paths。然后點Add 按鈕添加路徑ucos-ii 和arch。這主要是設置編譯器處理文件包含時的搜索范圍。按照實驗一的方法可以對編譯后的代碼進行調試或下載到平臺的電子硬盤中。這個實驗從結構上看和其他的實驗沒有多大區別,同樣生成可執行文件system.bin。可以在平臺BIOS中激活電子硬盤,然后把system.bin 拷貝進去,重啟平臺,然后在超級終端上觀察結果。 7.6 實驗過程與分析 操作系統相關的函數:(1)OSTaskStkInit OSTaskCreate()和OSTaskCreateExt()通過調用OSTaskStkInit()來初始化任務的堆棧結構。因此,堆棧看起來就像剛發生過中斷并將所有的寄存器保存到堆棧中的情形一樣。圖12A-2 顯示了OSTaskStkInt()放到正被建立的任務堆棧中的東西。這里我們定義了堆棧是從上往下 長的。在用戶建立任務的時候,用戶傳遞任務的地址,pdata 指針,任務的堆棧棧頂和任務的優先級給OSTaskCreate()和OSTaskCreateExt()。一旦用戶初始化了堆棧,OSTaskStkInit()就需要返回堆棧指針所指的地址。OSTaskCreate()和OSTaskCreateExt()會獲得該地址并將它保存到任務控制塊(OS_TCB)中。 (2)OSTaskCreateHook 當用OSTaskCreate()和OSTaskCreateExt()建立任務的時候就會調用OSTaskCreateHook()。該函數允許用戶或使用移植實例的用戶擴展uCOS-II 功能。當uCOS-II 設置完了自己的內部結構后,會在調用任務調度程序之前調用OSTaskCreateHook()。該函數被調用的時候中斷是禁止的。因此用戶應盡量減少該函數中的代碼以縮短中斷的響應時間。當 OSTaskCreateHook()被調用的時候,它會收到指向已建立任務的OS_TCB 的指針,這 樣它就可以訪問所有的結構成員了。函數原型:void OSTaskCreateHook(OS_TCB *ptcb) (3)OSTaskDelHook 當任務被刪除的時候就會調用OSTaskDelHook()。該函數在把任務從uCOS-II 的內部任 務鏈表中解開之前被調用。當OSTaskDelHook()被調用的時候,它會收到指向正被刪除任務 的OS_TCB 的指針,這樣它就可以訪問所有的結構成員了。OSTaskDelHook()可以來檢驗TCB擴展是否被建立(一個非空指針)并進行一些清除操作。函數原型:void OSTaskDelHook(OS_TCB *ptcb)(4)OSTaskSwHook 當發生任務切換的時候就會調用OSTaskSwHook()。OSTaskSwHook()可以直接訪問 OSTCBCur 和OSTCBHighRdy,因為它們是全局變量。OSTCBCur 指向被切換出去的任務 OS_TCB,而OSTCBHighRdy 指向新任務OS_TCB。注意在調用OSTaskSwHook()期間中斷 一直是被禁止的。因此用戶應盡量減少該函數中的代碼以縮短中斷的響應時間。函數原型:void OSTaskSwHook(void) (5)OSTaskStatHook OSTaskStatHook()每秒鐘都會被OSTaskStat()調用一次。用戶可以用OSTaskStatHook() 來擴展統計功能。例如,用戶可以保持并顯示每個任務的執行時間,每個任務所用的CPU 份額,以及每個任務執行的頻率等。函數原型:void OSTaskStatHook(void)(6)OSTimeTickHook OSTimeTickHook()在每個時鐘節拍都會被OSTaskTick()調用。實際上OSTimeTickHook()是在節拍被uCOS-II 真正處理,并通知用戶的移植實例或應用程序之前被調用的。函數原型:void OSTimeTickHook(void) 7.7 實驗結果總結 在超級終端上輸出輪流交替run task1和run task2,表明系統正在不斷交替運行2個任務。 7.8 心得體會 在這個實驗中我們初步了解和測試了實驗的內容和源代碼實驗結果基本上符合預期的要求。了解了μC/OS-II 內核的主要結構和ARM7處理器結構,掌握了將μC/OS-II 內核移植到ARM 7 處理器上的基本原理與嵌入式編程實現方法。 8.實驗八 8.1 實驗名稱 各接口模塊相互銜接綜合實驗 8.2 實驗目的 利用前7次實驗所學的知識,綜合設計一個至少含有5個模塊的實驗。 8.3 實驗環境 硬件:ARM 嵌入式開發平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentium100 以 上、串口線。 軟件:PC 機操作系統win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成開發環境、仿真器驅動程序、超級終端通訊程序。 8.4 實驗內容及要求 1.回顧串口、鍵盤、LED接口、A/D、電機轉動、定時器中斷、LCD接口及觸摸屏驅動控制接口模塊驅動設計及開發方法。 2.綜合應用以上全部或者部分模塊,實現一個嵌入式綜合應用系統,要求至少5個模塊。 3.盡量使綜合應用具有合理功能。 8.5 實驗設計與實驗步驟 1.新建工程,添加所需的文件。 2.編寫計算器的計算程序caculator.c以及caculator.h文件。3.編寫音樂播放文件play.c以及play.h文件。 4.修改鍵盤映射表讓鍵盤上的數字與LCD與LED屏幕上顯示的數字相對應。5.對輸出在LCD屏幕上的顯示結構進行設計 6.進行裁剪和移植功能設計和完成。編譯生成system.bin文件,將文件拷貝至實驗臺內,重啟實驗臺即可看到實驗效果 8.6 實驗過程與分析 1.完成10以內的加減乘除的計算功能,通過鍵盤輸入,可在LCD屏幕上顯示輸入的表達式以及得到的輸出結果。如“2+3=5”。 2.按任務切換鍵,實現任務的切換。3.任務被切換到播放音樂的任務中去。 4.任務切換過程將會在串口的超級終端界面有所顯示,同時我們設置的將LCD上顯示的結果同步到超級終端上。實現串口通信。 5.利用到了直流電機,如果運算范圍超出我們規定的運算范圍,則電機轉動,來提示錯誤。 6.實現裁剪與移植功能。 8.7 實驗結果總結 在這次實驗中,我們利用前面所學習的知識,綜合利用在此次實驗中,我們利用了前面好所學知識中的6個模塊,分別是串口通訊,鍵盤控制,LED與LCD的輸出,電機控制,以及裁剪與移植的功能。通過這些功能的結合,我們實現自己所設計的實驗的功能。 8.8 心得體會 在此次實驗中,我們遇到了一些問題但是過程中遇到了不少問題,說明對實驗原理和語句編寫還不是很熟悉。總的來說,通過這段時間的訓練,我也學會了不少東西,了解了ARM的基本結構,功能等。 9.實驗總結與心得體會 通過這次為期一周的嵌入式課程實驗,我對于嵌入式有了更加深刻的了解與認識。我是第一次接觸嵌入式,以前對于嵌入式的知識了解甚少,但是通過此次實驗,我不僅了解了嵌入式,也學會了許多關于嵌入式方面的知識。 通過前面的基礎實驗,我們對于ARM環境有了更深的了解,掌握了博創平臺的使用方法,例如如何使用小鍵盤,如何使用LCD、LED屏幕,如何控制終端,如何進行多任務之間的切換等等。通過這幾次的基礎課程實驗,我們最后出了計算器,能夠實現10以內的加減乘除,在此基礎上我們利用多任務,實現播放音樂與計算的切換,還利用點擊的轉動來提示運算過程中出現的問題。 通過這幾次實驗,為我們以后的課程設計實驗打下了堅實的基礎,相信有了這幾天系統實驗的培訓,我們的課程設計實驗做起來會更加輕松。第二篇:測試實驗報告小結
第三篇:軟件測試實驗報告
第四篇:嵌入式系統實驗報告
第五篇:嵌入式系統實驗報告