第一篇:系统测试实验报告
软件测试实验报告
万继王(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以内的加减乘除,在此基础上我们利用多任务,实现播放音乐与计算的切换,还利用点击的转动来提示运算过程中出现的问题。 通过这几次实验,为我们以后的课程设计实验打下了坚实的基础,相信有了这几天系统实验的培训,我们的课程设计实验做起来会更加轻松。第二篇:测试实验报告小结
第三篇:软件测试实验报告
第四篇:嵌入式系统实验报告
第五篇:嵌入式系统实验报告