V 2.0 软件测试实验指导书(试用稿)编写:李玮校核:______湖南大学软件学院2011年2月目录五、课堂实验项目课堂实验项目实验一黑盒测试用例设计实验实验二性能测试:loadrunner工具使用实验三运用Junit工具进行面向对象系统的测试实验四、EclEmma覆盖测试工具应用实验实验一、黑盒测试用例设计实验一、实验目的主要是了解黑盒测试测试用例设计方法二、实验要求要求能正确理解系统设计和功能、代码,设计黑盒测试用例三、实验原理及内容一)系统物理结构图在上述系统中,各个子站负责所属区域电表的数据采集,然后定期发送给主站,同时子站也可以向主站请求别的子站系统采集回的数据。
该数据交换程序的目的是实现主站与子站之间数据交换。
二)系统功能设计通讯方式采用TCP/IP方式。
数据通讯通道以A TM(WAN)网络方式为主通道,以电话拨号PPP 方式作为备份通讯方式。
1、数据通讯过程数据请求和服务为双向方式。
主站心提供本地的数据服务,向下属单位子站提供数据,同时可随时向下属单位的数据服务请求数据,下属单位的工作方式和主站类似,可随时向调度中心请求数据,同时也提供数据服务,随时接受调度中心的请求。
如下图:以上箭头表示数据连接,可并发产生。
数据请求过程如下:其中,一次连接可进行多次数据请求和传送,每次请求只请求一段时间一个电量点的值。
如果某一包发生失败,则重试两次。
另外,设定Server 监听的端口号为12099。
2、交换数据类型及规则定义:电能量计量计费系统交换的数据有: ● 指定时间间隔的电量数据(增量值)。
● 指定时刻电量底码值(表底码值)。
数据时标:电能量计量计费系统数据交换定义采用“后时标”(时标01点表示上一时间间隔至01时的数据)。
数据时间间隔:数据交换的时间间隔由规约指定的时间间隔标志位决定,时间间隔由本系统数据库的时间间隔(也称为电量数据采集间隔)决定。
传输规则:对于对方召唤的数据(未采集到的数据),传输时使用表底码值。
在进行电量修补时,传输的电量数据使用增量值。
3、数据报文格式:发连接请求包 发请求成功包 发数据请求包1 发请求1数据包1 发数据接受应答包1 发请求1数据包n 发数据接受应答包n发拆除连接请求包 发连接拆除应答包,拆除连接发数据请求包2 发拆除连接请求包 拆除连接发请求2数据包1 发请求2数据包n 发数据接受应答包n发数据接受应答包1 Client 端Server本项目使用的应用协议数据单元有两种:协议控制的APDU(Application Protocol Data Unit) , 用于双方通信进程之间联系的建立,释放,放弃或复位。
APDU,用于电量数据的交换(发送,接收及应答控制)。
协议控制APDU格式:协议控制APDU整体格式报头格式参数格式本类型信息未使用,长度为01,即参数域长度为零。
扩充的APDU整体格式报头格式参数格式本类型信息参数格式由各种命令格式决定,长度为n,即参数域长度变化。
注:校验和字节 = 报头信息及参数信息全部内容按字节累加和(仅使用最低有效字节内容);例如某信息帧内容如下,报头 a1 = 01h , a2 = 02h , a3 = 03h , a4 = 04h , a5 = 03h , a6 = 00h ,参数 b1 = 01h , b2 = 02h ,则校验和 c1 = ( 01h + 02h + 03h + 04h + 03h + 00h ) + (01h + 02h )= 0a h (十进制 10)下面定义各种帧格式:①建立链路:client端:报头(6 字节)第1字节为A_ASSOCIATE (01h)第2字节为 mode (00h)第3字节为 status (00h)第4字节为 result_code (00h)第5字节为 info_LL (01h)第6字节为 info_LH (01h)参数(16 字节) Client端系统名校验和(1字节) crc(xx)server端:报头(6字节)第1字节为 A_ASSOCIATE_ACK(02h) [连接成功]或A_ASSOCIATE_NAK(03h) [连接失败]第2字节为 mode (00h)第3字节为 status(00h)第4字节为 result_code = 00h 成功= 01h 超时失败= 02h crc校验失败第5字节为 info_LL(01h)第6字节为 info_LH(01h)参数(16字节) Server端系统名校验和(1字节) crc(xx)②链路断开:server端:报头(6 字节)第1字节为A_RELEASE (04h)第2字节为 mode (00h)第3字节为 status (00h)第4字节为 result_code (00h)第5字节为 info_LL (01h)第6字节为 info_LH (00h)参数(0 字节)校验和(1字节) crc(xx)client端:报头(6字节)第1字节为 A_RELEASE_ACK(05h) [断开成功]或A_RELEASE_NAK(06h) [断开失败]第2字节为 mode (00h)第3字节为 status(00h)第4字节为 result_code = 00h 成功= 01h 超时失败= 02h crc校验失败第5字节为 info_LL(01h)第6字节为 info_LH(00h)参数(0 字节)校验和(1字节) crc(xx)③数据请求(Client端):报头(6 字节)第1字节为A_POLL (14h)第2字节为 frame_no (00 -- 255)第3字节为 status = 00h 第一次请求召唤= 80h 再次请求召唤第4字节为 result_code (00h)第5字节为 info_LL ([nn + 1]LL)第6字节为 info_LH ([nn + 1]LH)参数(n 字节信息正文)电量数据信息正文定义在后面校验和(1字节) crc(xx)④数据发送发送端(server):报头(6 字节)第1字节为A_SEND (17h)第2字节为 frame_no (00 -- 255)第3字节为 status = 00h 无后续帧= 01h 有后续帧= 80h 无后续帧,数据重发= 81h 有后续帧,数据重发第4字节为 result_code (00h)第5字节为 info_LL ([nn + 1]LL)第6字节为 info_LH ([nn + 1]LH)参数(n 字节信息正文)电量数据信息正文定义在后面校验和(1字节) crc(xx)接收端(Client):报头(6字节)第1字节为 A_SEND_ACK(18h) [连接成功]或A_SEND_NAK(19h) [连接失败]第2字节为 frame_no (00 -- 255)第3字节为 status(00h)第4字节为 result_code = 00h 成功= 01h 超时失败= 02h crc校验失败= 04h 再次发送失败第5字节为 info_LL([nn + 1]LL)第6字节为 info_LH([nn + 1]LH)参数(0字节信息正文,即无正文)校验和(1字节) crc(xx)电量数据信息正文定义:数据请求端A_POOL电量数据信息正文定义数据发送包电量数据信息正文定义4、界面设计由于该系统主要是后台数据交换,因此界面比较少,主要是数据参数设置界面、发送数据界面、请求数据界面,分别如下:参数设置界面:在该界面中,对方IP表示对方主机IP;时间间隔表示请求数据的密度;起始时间和结束表示手动请求对方数据时间范围。
自动请求数据时间表示每天在该时刻向对方请求数据。
发送数据界面:在该界面中启动“自动发送”按钮后,该系统能自动监听对方请求数据命令。
请求数据界面:在该界面中“自动”按钮表示该系统每天在设定时刻向对象请求前一天的数据,“手动”表示该系统在指定时刻向对象请求参数界面中设定时间范围的数据。
四、实验软硬件环境硬件环境:CPU 1G;内存1G ;硬盘30G软件环境:windows操作系统。
五、实验步骤和方法1.拷贝程序和数据库文件。
首先将CAST_client_server0722分别拷贝到自己的机器上,A还将wd1.dmp拷贝到d:盘上;B还将wd2.dmp拷贝到d:盘上;2、建立数据库用户名,并将数据库文件导入到各自数据库中。
在oracle中建立用户wd1,密码wd1。
并授予dba权限。
将数据库文件wd1.dmp导入数据库。
操作命令如下:(1)、进入cmd窗口下;(2)、imp wd1/wd1 file=d:\wd1.dmp full=y在oracle中建立用户wd2,密码wd2。
并授予dba权限。
将数据库文件wd2.dmp导入数据库。
操作命令如下:(1)、进入cmd窗口下;(2)、imp wd2/wd2 file=d:\wd2.dmp full=y3、修改程序连接数据库文件ConnDBini.txt进入CAST_client_server0722文件夹//工作数据库连接串WDIP=127.0.0.1WDSID=**** (改成数据库服务名)WDUSER=wd1WDPASSWORD=wd1修改程序连接数据库文件ConnDBini.txt//工作数据库连接串WDIP=127.0.0.1WDSID=**** (改成数据库服务名)WDUSER=wd2WDPASSWORD=wd24、各自打开项目文件,运行程序。
5、将现有代码在eclipse中建立项目,然后在项目属性Libraries中添加external jar:**\ 实验一数据传输实验课程内容\安装程序\CAST_client_server.jar要求:1、对参数设置界面设计测试用例,并找出导致缺陷的代码。
六、实验预习要求无。
七、评分标准测试用例50分,找出代码缺陷50分。
实验二、性能测试:loadrunner工具使用一、实验目的通过该实验让学生掌握根性能测试方法,并执行测试,记录执行结果,形成测试总结报告。
二、实验要求熟练掌握性能测试工具Loadrunner的使用方法。
三、实验原理及内容性能测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间及数据量,以确定系统所能承受的最大负载压力,保证产品发布后系统的性能能够满足用户需求。
性能测试的目的可以概括以下几个方面:⏹在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况;⏹分析系统瓶颈、优化系统。
系统的并发性能是负载压力性能的最主要的组成部分,对于一个系统来讲,某些业务操作存在很多特定用户同时操作的可能性,或某一用户有大量数据需要系统处理的可能性。
例如,配变监测与用电管理系统中同时采集上万台终端数据,网上购物系统的订单提交,订票系统的票源查询,人力资源月末及年末报表上传,电信月末用户话费结算等,客户端大量的并发操作提高了网络的吞吐量,加剧了服务器资源互斥访问冲突,加大了数据库死锁的可能。