毕业设计(论文)-网络在线考试系统的测试.doc_第1页
毕业设计(论文)-网络在线考试系统的测试.doc_第2页
毕业设计(论文)-网络在线考试系统的测试.doc_第3页
毕业设计(论文)-网络在线考试系统的测试.doc_第4页
毕业设计(论文)-网络在线考试系统的测试.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JIANGXINORMALUNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR(20112015年)网络在线考试系统的测试Online Examination System Testing姓 名: 学 号: 1167004047 学 院: 软件学院 专 业: 11级软件工程(软件测试)班 完成时间:2015年3月23日 指导老师: 1摘 要随着网络教育及在线课程的迅速发展,在线考试系统成为一项不可或缺的学习支持系统。由于用户量的增加,人们需要网络在线考试系统变得更加的快速、更加的强大,为了能够胜任日益增加的信息量,对网络在线考试系统进行一定的测试也越来越重要。本论文根据网络在线考试系统的系统架构、功能以及所使用的相关技术,对系统的功能以及性能等做全面的测试。测试主要采用手动测试加自动测试的方法,其中包括前台和后台功能测试与前台性能测试。前台功能测试主要就用户(即考生)的模块进行测试。性能测试主要采用压力测试和负载测试的方法,对系统的不同数据响应进行分析。在对系统进行测试之后,发现系统存在的一些缺陷与不足,同时找出系统的最大负载量,与实际应用需求比较之后,对系统的功能与性能提出改进建议。关键词:网络在线考试系统;自动测试;性能测试;功能测试1目录AbstractWith the rapid development of network education and online courses, online examination system become a indispensable learning support system. Due to the increase of the users, people need to network online exam system become more quickly and more powerful, in order to be able to fit for the increasing amount of information, online examination system for a certain test is becoming more and more important.This paper according to the online examination system used by the system architecture, function and related technologies, as well as the function of the system performance for full test. Test mainly adopt the method of manual test and automatic test, including the front desk and backstage function test and performance test at the front desk. Front desk function test main module of the users (the examinee) test. Performance test is mainly adopts the method of stress test and load test, analysis of different data response of the system.After testing the system, found that the system exists some defects and deficiencies, find out the system maximum load at the same time, compared with the actual application requirements, and the function of the system performance improvement Suggestions are put forward.Keywords: Online examination system; Automatic testing; Performance test; Functional test1目录目录第1章 绪论11.1 概述11.2 选题目的意义11.3 软件测试方法2第2章 系统分析42.1 系统结构分析42.2 系统功能分析52.3 系统性能分析7第3章 测试方案设计83.1 系统测试需求分析83.2 系统测试计划103.3 系统测试准侧11第4章 测试用例设计与实施134.1 功能测试134.2 性能测试17第5章 测试报告255.1 功能测试255.2 性能测试27结束语29参考文献30III第1章 绪论第1章 绪论1.1 概述 传统的考试从出题、印刷,到试卷的发卷、答题、收卷,再到该卷、公布成绩,整个过程都需要人工的参与,并且工作周期长,工作量大,还易出错,很多时候还需要实施保密措施:因此整个考试成本较大。所以,实现无纸化、网络化、自动化的网络考试,具有深远的意义和使用价值。网络考试系统是传统考场的延伸,它可以利用网络的无限宽广空间,随时随地对学生进行考试,加上数据库技术的参与,大大简化了传统考试的过程。因此,网络考试系统是电子化教学不可缺少的一个重要环节。随着互联网的普及程度越来越高,网民的人数也在急剧增多,人们利用网络进行网上考试的频率也会越来越高。网络考试系统目前有两类:一类是基于局域网的网络考试系统,一类是基于web的网络考试系统。本论文测试的网络在线考试系统就是基于web的网络考试系统。随着Web 技术的发展, Web 应用已经变得越来越庞大和复杂,如何保证Web应用的准确性和可靠性已成为一个重要的课题12。Web 应用通常是分布式的、并发的、多用户的和异质的,其基础是一种无连接的HTTP协议,Web应用的这些独特的性质对软件测试提出了新的要求11。软件测试是发现软件缺陷,提高软件可靠性的重要手段4。软件测试是软件生命周期中一项非常重要且非常复杂的工作,是软件质量保证的重要内容,对软件可靠性保证具有极其重要的意义2。近年来,随着软件市场的成熟,软件行业的竞争越来越激烈,软件的质量、性能、可靠性等方面正逐渐成为人们关注的焦点。由于软件外包行业的逐渐兴起和人们对软件质量保障意识的加强,中国软件企业已开始认识到,软件测试的广度和深度决定了中国软件企业的前途命运。软件外包中对软件测试的强化,直接导致了软件未报企业对测试人员的大量需求。1.2 选题目的意义 网络在线考试系统为学生检测自己学习成果提供了一个很好的平台,学生们可以在网络在线考试系统中进行注册、登陆、在线考试、成绩查询,对自己的学习成果进行一个很好的检测,尽早发现自己在学习过程中存在的不足,并可以有针对性的对自己学习中的薄弱环节进行巩固,借以提高学生们的学习成绩。为了使网络在线考试系统能够更好的工作,提供更加优质的服务,本论文针对网络在线考试系统进行的功能测试和性能测试,并且对所得到的测试结果进行数据分析,寻找系统存在的漏洞和性能瓶颈,并及时提出改进建议。其中的功能测试主要对系统的后台已经前台的的操作进行检查。后台主要就是网络在线考试系统的管理,包括管理员的考生信息管理、考生成绩查询等模块等。前台主要就是考生注册、登陆、在线考试等。性能测试主要借助测试工具,模拟不同的用户环境,检测出系统的性能表现,包括系统的相应时间,事物成功率等。系统的测试不仅要检验系统是否实现了相应的功能,还需要检查系统的功能是否存在缺陷8。在执行测试之前,根据系统的整体情况,拟定测试计划,并严格按照计划来进行测试7。为得到更加真实的数据结果,对测试用例的设计要力争完美。不仅要考虑到正确的输入输出,同时也要对系统处理错误信息的能力进行检测。在性能方面,通过对场景的设置,在模拟用户环境的情况下,系统对用户请求的响应情况,借此来发现系统存在的性能瓶颈。选择网络在线考试系统测试的目的是为了对web系统测试能有更多的了解。因为web系统与其他系统存在很大的不同,它与互联网紧密相关,除了要考虑系统本身的设计,网络环境的影响也是很重要的。对这样的系统进行测试,也存在一定的复杂性,需要考虑到各种复杂的情况,并为每种情况设置相应的场景和测试用例。1.3 软件测试方法测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道了产品所具有的功能,可以通过测试来检验是否每个功能都达到了产品性能的指标。前一种方法称为功能测试,后一种方法称为性能测试。1.3.1 功能测试功能测试从用户的角度出发,对系统提供的各种功能进行测试,主要是黑盒测试10。它把系统看作一个黑盒子,不考虑系统内部结构以及系统的具体实现方法3。通过逐项测试,来检查系统的各个功能是否完善,在输入正确的数据时能否得到期望的输出结果,而输入错误的信息时系统又能否进行正确的处理。针对网络在线考试系统采用的功能测试主要分为前台和后台,前台主要有考生的注册、登陆、在线考试等模块;后台主要有管理员的考生信息管理、考生成绩查询等模块。采用的功能测试方法有等价类划分和边界值测试。这样既可以测试正确情况下系统的相应,又可以测试系统对错误的处理能力9。同时引入自动化测试,通过自动化测试,可以节省大量的人力、时间或硬件等资源,同时也能大大提高测试效率1。1.3.2 性能测试性能测试是通过自动化的测试工具模拟多种正常峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试6。 对网络在线考试系统采用的也主要是系统负载测试和压力测试。期望通过使用自动化测试工具的模拟,实现在虚拟环境下获得系统的性能指数8。根据测试结果对系统的性能进行评估,并提出改进意见。31第2章 系统分析第2章 系统分析2.1 系统结构分析 网络在线考试系统可以划分为前台和后台两大模块。其中前台的功能包括考生注册登录、注册后的考生进行课程选择、考生在线考试、考生个人信息修改、找回密码;后台的功能包括管理员信息管理、考生信息管理、考生成绩查询、课程信息管理、套题信息管理、套题信息管理、考题信息管理。系统的功能模块图如图2.1:图2.1 网络考试系统模块图前台的管理是用户(即考生)的管理。在在具体的功能实现上,可以分为以下几个部分:注册登录,未注册的考生要在进行注册后才能登录该系统;在线考试,成功登录后,选择要考试的课程,然后进行考试;课程选择,浏览选择自己感兴趣的课程;成绩查询,对自己的测试成绩进行查询;个人信息修改,根据自己的需要修改自己的个人信息。通过计算机网络将前台与后台的数据库相连,管理员可以从前台得到的信息进行处理,实现个人信息管理,批改学生试卷,查看学生成绩等操作。在在具体的功能实现上,可以分为以下几个部分:管理员信息管理,实现更改,删除自己的信息等操作;课程信息管理,添加、修改、删除数据库中的课程信息,并及时更新;考试题目管理,添加、修改、删除该考试系统中题目库中的题目;套题信息管理,将题库中的一系列题目进行分类,且按照难易程度分为几套试卷;考生信息管理,查询、删除考生个人信息;考生成绩查询,查看考生的考试成绩。2.2 系统功能分析 网络在线考试系统采用JAVA+JSP+MySql 技术设计,系统前台功能包括:注册登陆、在线考试、成绩查询、个人信息修改等模块;后台管理功能模块主要有:管理员信息管理、课程信息管理、套题信息管理、考试题目管理、考生信息管理、考生成绩查询2.2.1 注册登陆模块未注册的用户在进入网络在线考试系统的时候,可以点击注册系统;进入注册页面后,填写相关注册信息,点击保存之后,系统就会自动分配给考生一个准考证号;考生就可以根据系统分配的准考证号和密码登录系统并进行相关的操作了。在系统后台登录页面,管理员根据自己的管理员账号及密码登陆系统,并进行管理职能。2.2.2 在线考试模块考生登陆后点击在线考试,考生可以根据自己的需求选择考试课程进行课程考试。2.2.3成绩查询模块考生在考试结束后,可以在成绩查询中查看自己的考试成绩。2.2.4 个人信息修改模块该模块实现了对考生个人信息的管理,主要包括考生密码的修改,考生个人资料的修改。考生可以根据自己的需求修改登录密码,及自身信息的变化修改个人信息,与考生提示问题答案泄露后及时修改提示问题。2.2.5 管理员信息管理模块该模块在管理员登陆后,点击管理员信息管理进入管理员信息管理页面,管理员可以在管理员信息管理页面对管理员(包括所有的管理员)的信息进行修改或删除,还可以添加新的管理员。2.2.6 课程信息管理模块该模块与管理员信息管理模块相似,管理员登陆后,点击课程信息管理进入课程信息管理页面,即可在课程信息管理页面对相应的课程进行课程管理。2.2.7 套题信息管理模块该模块与管理员信息管理模块相似,管理员登陆后,点击套题信息管理进入套题信息管理页面,即可在该页面对相应的套题进行套题信息管理。2.2.8考试题目管理模块该模块与管理员信息管理模块相似,管理员登陆后,点击考试题目管理进入考试题目管理页面,即可在该页面对相应的考题进行考试题目管理。2.2.9 考生信息管理模块该模块与管理员信息管理模块相似,管理员登陆后,点击考生信息管理进入考生信息管理页面,即可在该页面对考生信息进行管理。2.2.10 考生成绩查询模块管理员登陆后,点击考生成绩查询进入考生成绩查询页面,管理员可以根据考生的准考证号或考试课程对考生进行成绩查询。2.3 系统性能分析网络在线考试系统分为前台和后台。系统前台用户数量远大于后台的管理员人数,而用户的操作都集中在前台,包括在线考试、成绩查询等,因此前台承担了绝大部分的系统负荷。由于系统一直在运行,用户数量也会增加,因此在测试时选择一个比较大的在线用户数和在线用户并发数。事物响应时间在相应的要求时间内为正常响应时间。后台主要是管理员操作,包括对系统的设置和考生管理等。系统后台的操作只属于管理员的范畴,所以性能要求不是很高。 第3章 测试方案设计第3章 测试方案设计3.1 系统测试需求分析网络在线考试系统包含了许多功能,除了基本的在线考试、成绩查询之外,用户还可以修改个人信息,找回密码等等。虽然目前的用户数量不大,但是随着系统的发展,用户数量肯定会渐渐增多,对系统性能的要求也会越来越高。本次对系统的测试期望是对系统核心的模块功能进行检查,找出存在的缺陷与不足。同时,对系统的性能也要求通过模拟用户的实际情况,从而得到系统性能的参数,作为系统改进的依据。3.1.1 功能测试功能测试主要针对网络在线考试系统的核心模块。在前台的功能测试中,主要有考生的注册、登陆、在线考试等模块。后台的功能测试中,主要是管理员的考生信息管理、考生成绩查询等模块。3.1.2 性能测试性能测试是指在不同用户环境下,所得到的系统性能的表现。要求在并发注册用户数达到200的时候,注册响应时间小于4秒,服务器CPU利用率小于80%,内存占用率小于120MB;100个用户登录系统,用户登陆网站响应时间在3秒以内,服务器CPU利用率小于75%,内存占用率小于80MB;150个用户在线考试用户进入在线考试,响应时间在1秒以内,服务器CPU利用率小于70%,内存占用率小于100MB;200个用户成绩查询,用户成绩查询响应时间在1秒以内,服务器CPU利用率小于70%,内存占用率小于100MB。3.1.3 测试资源 CPU:P9400 2.53GHz 内存:DDR3 512MB 硬盘:30GB 操作系统:Windows73.1.4 测试工具1、Selenium IDESelenium IDE是一个用于构建脚本的初级工具。他是一个Firefox插件,拥有一个易于使用的界面。Selenium IDE拥有录制功能,能够记录用户执行的操作,并将其导出为可重复使用的脚本(支持多种编程语言),然后用于执行测试。Selenium 1Selenium 1(Selenium-RC)是Selenium最主要的测试工具之一,它所具用的某些功能即使是新版Selenium 2也无法支持。它能够通过多种语言(Java、JavaScript、Ruby、PHP、Python、Perl和C#)编写测试代码,同时能支持几乎所有浏览器的测试。Selenium 2Selenium 2(WebDriver)作为最新版的Selenium工具,代表未来Selenium的发展方向。这套全新的自动化测试工具提供了许多功能,包括一套组织性更好、面向对象的API,并克服了在之前Selenium 1版本中测试的局限性。可以通过很少的修改就将Selenium 1的代码移植到Selenium 2.同事,Selenium 2也提供了向前兼容Selenium 1的接口。2、Apache JMeterApache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序返回了期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。可以使用它做性能的图形分析或在大并发负载测试服务器/脚本/对象3.2 系统测试计划根据系统的测试需求,计划对系统实施的测试主要包括前台和后台的功能测试,以及前台的性能测试。由于在后台的管理员人数不是很多,且操作的频率也不是很高,就不对其进行性能方面的测试。3.2.1 系统功能测试计划因为系统分为前台模块和后台管理模块,所以在进行功能测试的时候,需要分开进行。前台和后台登陆的测试主要针对不同输入情况下检查系统是否能够正确的处理,包括输入正确的用户名和密码,输入正确的用户名错误的密码,输入错误的用户名等情况。前台的功能测试主要包括用户的注册、在线考试、成绩查询、找回密码、个人信息修改这几个功能。用户注册的测试则是针对不同输入情况或输入缺失的情况下,系统是否能够正确处理,包括未输入考生姓名、密码、确认密码、性别、提示问题、问题答案、专业、注册邮箱,或是输入已注册过的考生姓名、注册邮箱等情况;在线考试的测试则是针对考生在进入在线考试页面后的不同选择情况下是否能正常进入考试,并以不同的卷子(空白卷、有答题的卷子)交卷,看是否能提交成功;成绩查询的测试则是针对不同考生在有无经过在线考试的情况下对自己的成绩查询;找回密码的测试则是针对用户在以不同的回答方式下回答问题的情况下,系统是否能够正确处理,包括回答方式为空、回答答案与问题正确答案形式不同等情况;个人信息修改的测试则是针对在个人信息修改页面的不同输入情况或输入缺失的情况下,系统是否能够正确处理,包括密码的修改,邮箱的修改,提示问题的修改以及问题答案的修改等情况。后台的功能测试主要包括管理员的管理员信息管理、考生信息管理、考生成绩查询、课程信息管理、套题信息管理、考试题目管理几个功能。管理员信息管理的测试是针对在管理员信息管理页面的不同操作下,系统是否能够正确处理,包括添加管理员、删除管理员、管理员密码修改等情况;考生信息管理的测试是针对在考生信息管理页面的不同操作下,系统是否能够正确处理,包括对考生信息的删除操作;考生成绩查询则是针对在考生成绩查询页面的以不同的查询条件(考试课程、准考证号)等情况下系统是否能够正确处理;课程信息管理则是针对在课程信息管理页面的不同操作下,系统是否能够正确处理,包括添加课程、删除课程操作;套题信息管理则是针对在套题信息管理页面的不同操作下,系统是否能够正确处理,包括添加套题、修改套题、删除套题操作;考试题目管理则是针对在考试题目管理页面的不同操作下,系统是否能够正确处理,包括添加考试题目、修改考试题目、删除考试题目。期望通过全面的功能测试,找出系统存在的问题,并对系统的改进提出意见。3.2.2 系统性能测试计划本次性能测试的目的在于:测试网络在线考试系统的综合性能表现,检验系统的处理能力是否满足系统运行的性能要求;并且发现系统在运行过程中存在的性能瓶颈。本系统的性能测试主要针对前台模块,因为该模块的使用频率比较高,所有用户的操作都集中在这个模块中。用户在前台进行的操作包括系统的注册、登录、在线考试、成绩查询、修改密码等等。由于用户的数量会逐渐递增,同时发生的系统操作也会越来越多,为了获得系统在复杂情况下的性能表现,将对这些情况进行模拟,并的到系统的性能参数,以作为系统的改进参考。在性能测试中要模拟的用户情况有多用户同时登录系统,多用户同时注册和在线考试等。性能测试将通过利用测试工具来设置用户环境。因为进行的是本地测试,所以在进行结果分析的时候,需要考虑网络的传输情况,以尽可能真实的反映系统性能5。3.3 系统测试准侧3.3.1 系统缺陷级别定义级别1:微小,系统的友好性等存在不足。像文字的美化不好、色彩搭配不恰当、系统界面布局不合理等。级别2:一般,系统的易用性不会,给用户带来不便等。像文字显示不规范,图片显示不正确,提示消息不恰当等。级别3:较严重,影响到系统的基本功能。像链接错误,页面跳转失败,附件显示不正确等。级别4:严重,系统的功能存在重大缺陷,导致系统部分功能不能正常使用。像由于程序所引起的死机,非法退出,死循环,数据库发生死锁,错误操作导致的程序中断,严重的计算错误,与数据库连接错误,数据通讯错误等。级别5:致命,因为系统存在严重缺陷,导致系统死机、蓝屏,系统的无法运行甚至崩溃等。3.3.2 系统性能指标(1)单个事物操作时用户的等待时间不超过3秒;(2)多个事物操作时,没有任何事物失败;(3)100个用户并发操作时,95个以上用户的事物平均响应时间不超过2秒;(4) 150个用户并发操作时,95%的事务平均响应时间不超过3秒;(5)200个用户发操作时,95% 的事务平均响应时间不超过4秒;第4章 测试用例设计与实施第4章 测试用例设计与实施4.1 功能测试功能测试就是对软件的各项功能进行检验,根据测试用例,逐项检测,检查软件是否达到用户要求的功能。限于篇幅,仅以用户注册模块的功能测试为例,说明本系统功能测试的用例设计与实施。4.1.1 用户注册测试用户注册界面如图4.1所示,用户需要输入考生姓名、密码、确认密码、性别、提示问题、问题答案、专业和邮箱信息才能注册系统。这部分将使用Selenium IDE进行测试,在测试之前将进行脚本的录制,然后通过对脚本的增强,完成登录场景的模拟。图4.1 用户注册页面因为注册时输入的情况可能存在差异,有可能用户漏输了信息,或者是点错了按钮等,所以在设计测试用例时,主要采用等价类划分和边界值测试的方法。测试用例如表4.1所示。表4.1(a) 用户注册模块测试用例表头项目名称用户注册模块测试开发人员胡晓燕模块名称用户注册模块用例作者郭玲参考信息网络考试系统总体设计,张娇、胡晓燕-网络在线考试系统需求分析测试类型功能测试设计日期2014-09-01测试人员郭玲测试方法手动测试+自动测试测试日期2014-09-08优先级1测试对象测试用户能否正常注册前置条件正确的信息:考生姓名:张三密码:000000确认密码:000000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:111表4.1(b) 用户注册模块测试用例用例编号操作输入数据预期结果实际结果测试状态(P/F)1-1输入正确的信息考生姓名:张三密码:000000确认密码:000000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:111提示页面恭喜您,注册成功!请记住您的准考证号:CN20141022000008提示页面恭喜您,注册成功!请记住您的准考证号:CN20141022000008P1-2输入错误的信息考生姓名:张三密码:00000确认密码:00000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:111提示信息您输入的密码不合法,密码必须大于6位,并且小于等20位!提示信息您输入的密码不合法,密码必须大于6位,并且小于等20位!F1-3输入已注册过的信息考生姓名:张三密码:000000确认密码:000000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:123(已用)提示页面错误提示信息: 您已经注册,直接登录即可!提示页面错误提示信息: 您已经注册,直接登录即可!F1-4未输入信息考生姓名:密码:确认密码:性别:男提示问题:问题答案:专业:注册邮箱:提示信息请输入考生姓名!提示信息请输入考生姓名!F1-5未输入完整的信息 1考生姓名:张三密码:确认密码:性别:男提示问题:问题答案:专业:注册邮箱:提示信息请输入登陆密码!提示信息请输入登陆密码!F1-6未输入完整的信息 2考生姓名:张三密码:000000确认密码:000000性别:男提示问题:问题答案:专业:注册邮箱:提示信息请输入提示问题!提示信息请输入提示问题!F1-7点错按钮 1考生姓名:张三密码:000000确认密码:000000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:111点击取消按钮考生姓名:密码:确认密码:性别:提示问题:问题答案:专业:注册邮箱:考生姓名:密码:确认密码:性别:提示问题:问题答案:专业:注册邮箱:F1-8点错按钮 2考生姓名:张三密码:000000确认密码:000000性别:男提示问题:我的名字问题答案:张三专业:数学注册邮箱:111点击返回按钮返回系统考生登录页面返回系统考生登录页面F注:实际结果和输出状态在测试完成之后填写。4.1.2 录制脚本运行Mozilla Firefox,在URL框输入“http:/localhost:8080/Exam/register.jsp”,打开Selenium IDE,点击录制按钮,然后在页面上使考生姓名“张三”,密码“000000”,确认密码“000000”,性别“男”,提示问题“我的名字”,问题答案“张三”,专业“数学”和注册邮箱“111”注册系统。得到的脚本如图4.2所示。图 4.2 用户注册模块测试脚本脚本录制完成之后,还要插入断言再进行回放,回放成功再将代码导出。4.1.3 执行测试完成代码导出之后,将代码导入eclipse,就开始测试了。因为之前设计了8个测试用例,所以将运行8次测试脚本。在执行过程中,因为当输入错误是,不能回到之前录制的界面,所以还需要手动回到脚本录制时的页面。4.1.4 测试结果从测试的结果来看,登注册模块存在一个提示错误,就是在将已注册过的邮箱再次使用的时候,系统提示不合理,属于级别1的错误。4.2 性能测试4.2.1 系统分析网络在线考试系统主要分为前台和后台两大块。后台主要提供给管理员,用于系统的日常管理。因次管理员的数量相对于用户来说很少,进行管理操作的频率也不是很高,对系统的性能测试就主要集中在前台模块。用户在前台可以注册、登录系统,在线考试,成绩查询,修改个人信息等等。4.2.2 系统压力估算系统注册用户数大约在5000人左右。白天同时在线的人数占总人数的5%,大约250人,并发操作用户占在线人数的15%,约37人。晚上同时在线的人数占总人数的15%,约750人,进行并发操作用户数占在线人数的30%,约225人。4.2.3 性能测试模块性能测试基本性能指标主要包括:资源利用率、请求响应时间、吞吐量、点击率、事物响应时间、每秒事物数等。资源利用率指的是对不同的系统资源的使用程度,包括服务器的CPU利用率、内存利用率等;请求响应时间指的是从客户端发起的一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间;吞吐量指的是在一次性能测试过程中网络上传输的数据量的总和;点击率指的是每秒钟用户向WEB服务器提交HTTP请求数;事物响应时间主要针对用户,是为了向用户说明业务响应时间而提出的;每秒事物数指的是每秒钟系统等够处理的交易或事物的数量。 因为环境和条件的限制,对网络在线考试系统的性能测试不可能全部进行,这里选取了系统的核心模块和业务进行测试。包括的业务有:(1)用户注册;(2)用户登录;(3)在线考试;(4)成绩查询。4.2.4测试场景设计(1) 用户注册模块本次测试总共发起200个线程,即并发登录系统的人数为200,Ramp-Up Period为1s,即Jmeter在1s内启动200个线程。循环100次。具体设置如图4.3所示。图4.3 用户注册模块场景设置(2) 用户登录模块本次测试总共发起100个线程,即并发登录系统的人数为100,Ramp-Up Period为1s,即Jmeter在1s内启动100个线程。循环100次。具体设置如图4.4所示。图4.4 用户登录模块场景设置(3) 在线考试模块本次测试总共发起150个线程,即并发登录系统的人数为150,Ramp-Up Period为1s,即Jmeter在1s内启动150个线程。循环100次。具体设置如图4.5所示。图4.5 在线考试模块场景设置(4) 成绩查询模块本次测试总共发起200个线程,即并发登录系统的人数为200,Ramp-Up Period为1s,即Jmeter在1s内启动200个线程。循环100次。具体设置如图4.6所示。图4.6 综合业务场景设置4.2.5 编写测试脚本由于测试工具在Badboy支持对HTTPS协议的录制,因此可以作为JMeter代理录制的有益补充。以用户注册为例,启动在Badboy,首次启动在Badboy时,录制按钮处于选中状态;在Badboy工具地址栏中输入测试网址“http:/localhost:8080/Exam/register.jsp”,然后按回车键,Badboy工具会使用内置的浏览器访问对应的网址;在Badboy工具打开的页面中完成注册所需要的各项操作,接下来可以在左上角的脚本框中看到录制产生的测试脚本。在Badboy中完成脚本录制后,可以将测试脚本导出成JMX格式,以便后续供JMeter使用。4.2.6 测试环境配置执行测试是,需要手工配置测试环境。Apache JMeter采用了图形化的用户界面,方便用户的配置。以注册模块为例,进入Apache JMeter之后,选择添加录制好的脚本“注册网络在线考试系统.jmx”,然后选择行程编辑。设置用户注册的方式,1s内启动200个线程,循环100;为了模拟多用户并发登录的情况,需要为脚本添加监听器。完成环境配置之后,进入脚步运行模式,开始测试。在测试过程中,可以实时监控系统性能指标,为了减少误差,在测试过程中,不进行其他任何操作。完成一个场景之后,可以得到系统的请求响应时间,每秒的点击数等性能参数报告。通过在不同环境下的到的参数,对系统的性能作出评估。4.2.7 测试执行及结果(1) 用户注册模块 本次测试总共发起200个线程,Ramp-Up Period为1s,循环100次。运行测试,得到用户注册的测试结果如下:1. 监控内存和CPU: 服务器CPU利用率小于92%,内存占用率小于42%。2. 聚合报告: 这次测试中一共发出了800个请求。 Average:平均响应时间为20ms,即0.02s。 90%Line:90%用户的响应时间为49ms,即0.05s。 Error%:错误率为25%。 Throughput:吞吐量为339.1/sec。3. 图形结果: 蓝色线条表示平均响应时长,从图中可以看出,平均响应时长在初始阶段起伏较大,然后趋于平稳,后期再次上升。对于这种情况,基本说明性能一般,只是后期吞吐量降低平均响应时间却变长,可能出现一些问题(如:系统分配准考证号出现问题等);红色线条表示采样响应时长标准差,从图中可以看出,采样响应时长标准差初始阶段起伏较大,然后缓慢下降,后期急剧上升。对于这种情况,基本说明性能一般,只是后期吞吐量降低采样响应时长标准差却变长,可能出现一些问题(如:系统分配准考证号出现问题等);绿色线条表示吞吐量,从图中可以看出,吞吐量随着并发压力逐步加大,后期缓慢降低,说明系统还未达到了其支持的最大吞吐量。4. Active Threads Over Time: 在00:00:01-00:00:02内,活动用户数最高,达118个/s左右5. Response Times Over Time: 当脚本执行到00:00:02时,注册页面采样器的平均响应时间最长,应该是系统在给用户分配准考证号时出现问题。6. Hits per Second: 00:00:00-00:00:02内,每秒点击数最高,达410次/s。7. Transactions per Second: 00:00:00-00:00:02内,注册提交响应每秒事务数为90次/s,结合每秒点击数表,说明还有320个点击数没有得到响应。说明系统在高并发压力的情况下,无法及时响应用户请求。(2) 用户登录模块 本次测试总共发起100个线程,Ramp-Up Period为1s,循环100次。运行测试,得到用户登录的测试结果如下:1. 监控内存和CPU: 服务器CPU利用率小于0%,内存占用率小于0%,说明该系统在使用时所消耗的CPU和内存极小。2. 聚合报告: 这次测试中一共发出了200个请求。 Average:平均响应时间为12ms,即0.01s。 90%Line:90%用户的响应时间为27ms,即0.03s。 Error%:错误率为0。 Throughput:吞吐量为179.7/sec。3. 图形结果: 蓝色线条表示平均响应时长,从图中可以看出,平均响应时长在初始阶段持续变大,后又降低至平缓。对于这种情况,基本可以说明该系统性能还可以。红色线条表示采样响应时长标准差,从图中可以看出,采样响应时长标准差变化不大,说明系统性能还可以;绿色线条表示吞吐量,从图中可以看出,吞吐量随着并发压力逐步加大,逐渐趋于平滑,说明系统达到了其支持的最大吞吐量。如果进一步加大压力,系统响应会变慢,甚至发生崩溃。4. Active Threads Over Time: 在00:00:00-00:00:01内,活动用户数最高,达4个/s左右5. Response Times Over Time: 当脚本执行到00:00:00时,注册页面采样器的平均响应时间最长,最慢,为23ms。6. Hits per Second: 00:00:00-00:00:02内,每秒点击数最高,达184次/s。7. Transactions per Second: 00:00:00-00:00:02内,登录提交响应每秒事务数为91次/s,结合每秒点击数表,说明还有93个点击数没有得到响应。说明系统在高并发压力的情况下,无法及时响应用户请求。(3) 在线考试本次测试总共发起150个线程,Ramp-Up Period为1s,循环100次。运行测试,得到用户在线考试的测试结果如下:1. 监控内存和CPU: 服务器CPU利用率小于94%,内存占用率小于63%。2. 聚合报告: 这次测试中一共发出了900个请求。 Average:平均响应时间为842ms,即0.84s。 90%Line:90%用户的响应时间为2204ms,即2.20。 Error%:错误率为31%。 Throughput:吞吐量为120.8/sec。3. 图形结果: 蓝色线条表示平均响应时长,从图中可以看出,平均响应时长在初始阶段持续变大。对于这种情况,基本可以肯定存在性能缺陷。红色线条表示采样响应时长标准差,从图中可以看出,采样响应时长标准差持续变大,说明系统可能存在性能缺陷;绿色线条表示吞吐量,从图中可以看出,吞吐量随着并发压力逐步加大,后逐渐下降,说明系统在后期由于多用户的在线考试使得数据库分配出现错误以致吞吐量下降。4. Active Threads Over Time: 在00:00:00-00:00:07内,活动用户数最高,达147个/s左右5. Response Times Over Time: 当脚本执行到00:00:06时,注册页面采样器的平均响应时间最长,最慢,为3.3s。6. Hits per Second: 00:00:00-00:00:07内,每秒点击数最高,达300次/s。7. Transactions per Second: 00:00:00-00:00:07内,注册提交响应每秒事务数为43.9次/s,结合每秒点击数表,说明还有256.1个点击数没有得到响应。说明系统在高并发压力的情况下,无法及时响应用户请求。(4)成绩查询本次测试总共发起200个线程,Ramp-Up Period为1s,循环100次。运行测试,得到用户成绩查询的测试结果如下:1. 监控内存和CPU: 服务器CPU利用率小于94.8%,内存占用率小于65.1%。2. 聚合报告: 这次测试中一共发出了600个请求。 Average:平均响应时间为592ms,即0.59s。 90%Line:90%用户的响应时间为1797ms,即1.80s。 Error%:错误率为34.67%。 Throughput:吞吐量为159.5/sec。3. 图形结果: 蓝色线条表示平均响应时长,从图中可以看出,平均响应时长在初始阶段持续变大。对于这种情况,基本可以肯定存在性能缺陷;红色线条表示采样响应时长标准差,从图中可以看出,采样响应时长标准差持续变大,说明系统可能存在性能缺陷;绿色线条表示吞吐量,从图中可以看出,吞吐量随着并发压力逐步加大,分段式逐渐增加,后期基本持平。说明系统达到了其支持的最大吞吐量。如果进一步加大压力,系统响应会变慢,甚至发生崩溃。4. Active Threads Over Time: 在00:00:02-00:00:04内,活动用户数最高,达170个/s左右。5. Response Times Over Time: 当脚本执行到00:00:04时,注册页面采样器的平均响应时间最长,最慢,为0.84s。6. Hits per Second: 00:00:00-00:00:04内,每秒点击数最高,达272次/s。7. Transactions per Second: 00:00:00-00:00:04内,注册提交响应每秒事务数为60次/s,结合每秒点击数表,说明还有212个点击数没有得到响应。说明系统在高并发压力的情况下,无法及时响应用户请求。第5章 测试报告第5章 测试报告5.1 功能测试5.1.1 前台管理模块测试报告网络在线考试系统的前台管理模块存在的问题如表5.1所示。表5.1 前台模块功能缺陷模块描述级别注册模块在将已注册过的邮箱再次使用的时候,系统提示不合理。2登录模块无在线考试考试页面出错,无法进行考试4成绩查询部分所属课程乱码2个人信息修改提示问题乱码,问题答案乱码2点击返回首页按钮时页面会跳入用户登录页面而非用户管理页面4必须修改密码,不能修改邮箱2点击返回按钮,页面跳转失败3找回密码密码提示问题乱码2在密码提示答案输入正确的密码答案却无法进入下一页。3前台模块主要存在如表所示的9个功能错误,其中页面跳转出错的错误出现在用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论