版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、综合性、设计性实验报告 姓名 学号 专业: 班级 实验课程名称 指导教师及职称 开课学期 2012至2013学年第2学期实验时间 2013-1 至2013-7 湖南科技学院教务处编印一、实验设计方案设计题目B_S编程小组合作是 ( ) 否()小组成员1 实验目的:1、 掌握B/S的编程方法和相关内容2、 掌握功能测试,性能测试,UI测试、兼容性测试、安全测试的相关内容3、 通过PhP+CSS+Javascript+Mysql+html等编程实现三角形判断功能2 软硬件环境:系统:XP软件Apache+Mysql+PHP3 理论依据:软件测试包括功能测试和非功能测试,性能测试作为非功能测试的一种
2、,其重要性往往被低估。但是,对于企业级应用软件,忽略性能测试的重要性将带来严重的后果,因为企业级应用软件用户数量多,一旦性能不能满足要求,轻则造成用户长时间等待服务器响应,重则导致服务器资源耗尽,服务不可用。因此,在企业级应用软件推广之前,必须经过严格的性能测试。当前企业级应用软件多采用B/S架构,即浏览器和服务器结构。它是随着Internet技术的兴起,由C/S结构变化或者改进而来的结构。在这种结构下,用户工作界面是通过Web浏览器来展现,较少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,这样就大大减轻了客户端计算机载荷,降低了系统维护与升级的成本。通
3、过三层B/S架构的应用系统为性能测试对象,通过对测试结果的分析,确定导致该结果的原因,并提供解决方法。4 算法步骤及注意事项1.服务器代码 1.1 server.php 文件: GetResult($a,$b,$c); echo $str. .$result; ?1.2 dbconnect.php 文件:2.客户端代码2.1 index.html 文件: 请输入三条边(空格隔开): 当前计算结果: 边长a 边长b 边长c 计算结果 删除结果 2.2 v1.css 文件:table font-size:16px; table-layout:fixed; empty-ce
4、lls:show; border-collapse: collapse; border:1px solid #cad9ea; color:#666; .brheight:180px;.title width:830px; background-image:url(bk.jpg); height:620px; .title h1 text-align:center;color: #; tr.r1 background-color:#c0c0c0; tr background-color:#f5fafe; body background-color:#a5a5a5; #id_em font-siz
5、e:20px; color:#; #result font-size:20px; color:#c85000; 2.3 Triangle.js 文件:var xmlhttp;var displays = false;function checkjs() document.getElementById(hide_id).value = true;function send_triangle(url) var triangle_name = document.getElementById(triangle_id).value; triangle_name = removeBlank(triangl
6、e_name); var array = new Array(4); array = triangle_name.split( ); var addflag = true; var tr = document.getElementsByTagName(tr); if (array0 & array1 & array2) if (tr.length 1) for (var i = 1; i 10) deletetr(tr10.id); if (tr.length = 1) var ids = eval(eval(tr0.id) + 1); else var ids = eval(eval(tr1
7、.id) + 1); var para = document.createElement(tr); para.setAttribute(align, center); var nodea = document.createElement(td); var nodeb = document.createElement(td); var nodec = document.createElement(td); var noded = document.createElement(td); var nodee = document.createElement(td); var nodeta = doc
8、ument.createTextNode(array0); var nodetb = document.createTextNode(array1); var nodetc = document.createTextNode(array2); var nodetd = document.createTextNode(array3); var inpu = document.createElement(input); inpu.type = button; inpu.value = 删除; inpu.onclick = function () deletetr(ids); ; nodea.app
9、endChild(nodeta); nodeb.appendChild(nodetb); nodec.appendChild(nodetc); noded.appendChild(nodetd); nodee.appendChild(inpu); para.setAttribute(id, ids); para.appendChild(nodea); para.appendChild(nodeb); para.appendChild(nodec); para.appendChild(noded); para.appendChild(nodee); if (eval(ids) - 1 = 0)
10、var element = document.getElementById(t1); element.appendChild(para); else var element = document.getElementById(eval(ids) - 1); element.parentNode.insertBefore(para, element); /在目标标签前面添加元素 document.getElementById(result).innerHTML = array3; else document.getElementById(result).innerHTML = 错误; else
11、document.getElementById(result).innerHTML = 连接服务器发生错误!; document.getElementById(button_id).disabled = false;function state_Change() if (displays) displays = false; setTimeout(displaywait(), 500); function show(txb) /限制键盘输入 只能输入能构成 数字 的字符 var foc = GetCursorPsn(txb); var oldvalue = txb.value; txb.val
12、ue = txb.value.replace(/(d1,.s)/g, ); if (oldvalue.length - txb.value.length = 1) SetCursorPsn(txb, foc - 1); else SetCursorPsn(txb, foc);function SetCursorPsn(txb, foc) /设置输入框光标位置 if (txb.setSelectionRange) txb.focus(); txb.setSelectionRange(foc, foc); else if (txb.createTextRange) var range = txb.
13、createTextRange(); range.collapse(true); range.moveEnd(character, foc); range.moveStart(character, foc); range.select(); function GetCursorPsn(txb) /获取输入框光标位置 var psn = 0; if (txb.selectionStart) /FF psn = txb.selectionStart; else var slct = document.selection; /IE var rng = slct.createRange(); txb.
14、select(); rng.setEndPoint(StartToStart, slct.createRange(); psn = rng.text.length; rng.collapse(false); rng.select(); return psn;function removeBlank(str) /替换多个空格为一个 str = str.replace(/(s+$)|(s+)/g, ); str = str.replace(/s+/g, ); return str;function deletetr(id) /删除指定 id 的一行 var element = document.g
15、etElementById(id); element.parentNode.removeChild(element);function deletetrall() /删除 所有 行 var tr1; var tr = tr1 = document.getElementsByTagName(tr); for (var i = tr1.length - 1; i 0; i-) var element = document.getElementById(tri.id); element.parentNode.removeChild(element); 5 参考文献软件测试的艺术, Glenford
16、J.Myers & Tom Badgett & Todd M. Thomas & Corey Sandler 著, 机械工业出版社, 2005年实用软件测试方法与应用, 飞思科技产品研发中心 编著, 电子工业出版社, 2003年软件测试大学教程,蔡建平 编著,清华大学出版社Web测试指南 (美)阿希 机械工业出版社Web安全测试霍普(Paco Hope) 清华大学出版社指导老师对实验设计方案的意见: 签名: 年 月 日二、实验报告1、实验目的、设备与材料、理论依据、实验方法步骤1 Web测试场景1.1 测试内容 该应用系统主要功能是根据用户输入数据,判断输入的三条边能构成什么样的三角形,并动态
17、记录最近10条,并将所有的记录保存到数据库。因此,测试内容主要包括5个方面的内容:功能测试,性能测试,UI测试、兼容性测试、安全测试1.2 测试目的 测试目的有5点:一是测试被测系统所能承载的最大并发用户数量,在超过200用户并发情况下,系统是否可以稳定运行;二是测试被测系统在不同数量并发用户数的情况下,系统主要功能的平均响应时间是否在15 s以内。三是测试界面的有好度和可操作性。四是测试程序的兼容性。五是测试程序系统的安全性。1.3 测试方案 根据测试目的,相应的设计测试方案如下:压力测试:分别模拟150、200、250用户同时执行用户登录和数据计算操作,检测系统是否可以正常运转并记录操作的
18、平均响应时间。负载测试:分别模拟150、200、250用户逐步加压,并执行用户登录和数据计算操作,检测系统是否可以正常运转并记录操作的平均响应时间。 功能测试: 主要设计多组测试用例对系统的运行结果进行判断,是否能的到正确的结果。 设置的用例如下:用例测试类型结果分析4 3 -3 -4 5 -4 -4 -4 4-非负数正常Af 3 34 d 2dD d d非字母正常0.3.1 3 30. 3 4.4 2多小数点正常99 9 9 9 9 9参数个数正常 2 性能测试2.1 服务器网络性能问题 首次测试结果表明,压力测试中,不同用户并发数情况下用户登录和数据计算均能正常进行;负载测试中,200用户
19、情况下用户登录和数据计算操作平均响应时间分别为58s和46s。 “数据计算”操作响应时间的主要因素,因此解决问题的重点在于查找服务器网络性能缺陷。通过分析测试环境,发现应用服务器是虚拟机。通常一个高配置的实体机的资源会分配给其上安装的多个虚拟机,这种情况下,每个虚拟机的CPU和内存基本能按要求分配,但是网络资源却不一定能按要求分配,在多个虚拟机争用实体机网络硬件资源时,应用服务器的网络性能是比较差的。解决这个问题有2种方法:一种是优化应用服务器网络性能,另一种是将应用服务器更换为实体机。考虑到测试进度,我们更换了相同CPU和内存配置的实体机进行测试,测试结果表明,200用户情况下用户登录和数据
20、计算操作平均响应时间分别为9.6 s和10.3 s。可见,虚拟机较差的网络性能对性能测试影响较大,在性能测试中要注意优化服务器网络性能。3 UI测试 UI测试就是界面测试,比如界面的图标、字体、整体界面测试,如有不美观、错误、重叠的地方、提示不友好,经过测试,界面比较友好整洁美观,没有错误信息,易于操作,提升了性能。4 兼容性测试兼容性测试是指对所设计程序与硬件、软件之间的兼容性的测试。测试分类:一、浏览器兼容测试二、分辨率兼容测试一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。兼容性测试是指测试软件在特定的硬件平台上、不同的
21、应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。测试发现程序在IE6至E10 谷歌、火狐、百度、遨游、搜狗等浏览器平台运行正常,目前系统只能运行与windows xp 以上版本系统。5安全测试 一个完整的Web安全体系测试可以从部署与基础结构,输入验证,身份验证,授权,配置管理,敏感数据,会话管理,加密,参数操作,异常管理,审核和日志记录等几个方面入手,本系统的安全性比较低,主要面向大众主要对配置管理,参数操作,异常处理作出了安全性处理。 2、实验数据及结果(输入、输出、界面、核心代码等,鉴于代码内容较多,可挑选出核心代码,进行适当注释后,单独打印, 以附件形
22、式一并装订提交)(一)性能测试:我们对系统的性能进行测试,采用IE自带的开发人员工具进行测试截图如下:测试反应速度在1S 左右,反应速度已经相当快 (二)功能测试截图: 系统对正确的测试用例返回了正确的结果,对非法的用例系统在输入时动态检测进行屏蔽处理(三)数据库记录测试截图 能得到正确的数据记录,数据库测试成功 3、对实验结果的分析与讨论测试是一种思维,包括情感思维和智力思维,情感思维主要体现在一句俗语:思想决定行动上(要怀疑一切),智力思维主要体现在测试用例的设计上。具有了这样的思想,就会找出更多的bug,对于一个web网站来说,主要从这么几个大的方面来进行测试:1、 功能测试;2、 界面测试;3、 易用性测试;4、兼容性测试;5、 链接测试;6、 业务流程测试;7、 安全性测试。测试用例是测试的核心,测试用例的设计是一种思维方式的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西人力诚聘派遣至中国铁路南昌局集团有限公司赣州工务段招聘13人考试参考题库及答案解析
- 2026天津职业技术师范大学附属高级技术学校招聘4人考试参考试题及答案解析
- 2026年河南省科学院航空港区分院下属平台公司招聘工作人员5名笔试模拟试题及答案解析
- 支行内部谈心会制度
- 万科a内部审计制度
- 中国小微企业内部制度
- 收费处内部控制制度
- 九江妇保内部管理制度
- 医院内部职工检验制度
- 报销大厅内部管理制度
- 国民经济行业分类旧新类目对照表2011-2017
- 高磷血症的透析与及药物治疗
- 特内里费事故调查报告
- 《国殇》公开课课件
- 石油集团收款收据模板范例
- 最nc经营评估体系八堂课件3.0版3找顾客与留
- LY/T 2787-2017国家储备林改培技术规程
- JJF 1008-2008压力计量名词术语及定义
- 新人教版六年级下册数学(新插图)在直线上表示数 教学课件
- GB/T 30758-2014耐火材料动态杨氏模量试验方法(脉冲激振法)
- GB/T 29094-2012铜及铜合金状态表示方法
评论
0/150
提交评论