泡泡在线考试系统
陕西国防工业职业技术学院
软件测试报告
【在线考试系统】
专 业: 软件技术 班 级: 软件3101 指导老师: 丁黎明、陈巧丽 实训时间: 2,13日~3,16日 实训地点: 软件教研室 成 绩:
软件测试报告(STR)
1/17
泡泡在线考试系统
1引言
1.1编写目的
结合测试计划预先的规定对所开发的在线考试系统进行物理和逻辑上的全面测试,找出其中存在的编码和页面风格等存留的错误进行相应的调整和改动,将用户在使用过程中遇到困难的程度降低到最低点,同时也将系统的精确度提升为最大。
1.2背景
随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。随着Internet的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展[2]。
2/17
泡泡在线考试系统
如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。 目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。
1.3定义
单元测试:集中监测软件设计的最小单元——模块;
集成测试:是测试和组装软件的系统化技术;
自底向上集成:从“原子”模块(即在软件结构最底层的模块)开始组装和测试;
白盒测试:已知产品内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
黑河测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求;
BUG:电脑内部发生的小故障。
1.4参考资料
[1]Stephen R.Schach..软件工程——面向对象和传统的方法[M].机械工业出版社,20xx年4月。
[2]张大方,李玮.软件测试技术与管理[M].湖南大学出版社,20xx年5月。
2标识
2.1系统概述
测试的主要功能点:
普通用户测试功能性如下:
1、 个人培训分页浏览法规,并记录培训人的培训状况
2、 模拟考试,提交试卷后显示答题情况
3/17
泡泡在线考试系统
3、 个人正式考试,提交试卷后显示并记录考试结果
管理员测试功能性如下:(在以上功能基础上增加)
4、 试卷模块,包含试卷的添加修改和删除,按试卷名称搜索试卷信息,指定试
卷的考试人员,并对固定试卷指定试题功能
5、 试题模块,包含试题的crud,
6、 浏览用户考试和培训记录,并通过组织和姓名进行查询
7、 对指定用户赋予管理员权限
2.2测试环境与配置
CPU:inter core i3
内存:3*1024mb
操作系统:window 7
应用软件:visual stdio 2008/ sql server 2005
2.3测试方法(和工具) 黑盒测试,从输入数据与输出数据的对应关系出发进行测试以下几类错误:功能不正确或遗漏;界面错误;数据库访问错误;性能错误;初始化和终止错误等
3文档概述
LoadRunner是HP公司的专业压力测试工具。它通过创建多个虚拟用户的方式,对录制的单用户脚本增加负载,来达到增加系统压力的测试目的。LoadRunner提供了Analysis工具对压力运行的结果进行分析,得出测试脚本运行期间,系统响应事务的最小时间,平均时间和最大时间等性能信息。同时可监视各后台服务器的CPU占用率与内存使用情况。利用该工具录制用户登录的业务模型,然后设计多用户并发登录的场景模式。
3测试结果概述
3.1对被测试软件的总体评估
3.1.1:
4/17
泡泡在线考试系统
从以上图看出此系统用队在考试各个方面都有涉及,对完善考生的各个考试项目有相当大的作用. 系统采用B/S(Browser/Server)模式设计。用ASP实现前台,SQL2005做后台数
5/17
泡泡在线考试系统
据库。Web服务器采用IIS6.0。从而实现了多数数据业务.达到了实现窗口化的目标.
3.1.2:
例
如
:
可以看出本次测试从事务响应时间、并发用户数、系统资源使用等多个方面,以专业的性能测试工具,分析出当前系统的性能表现,以实际测试数据与预期的性能要求比较,检查系统是否达到既定的性能目标。使用商用压力测试工具Microsoft visual studio 8.0,模拟用户并发操作。测试用户登录功能模块在多并发操作下是否能够稳定正常运行,各项指标是否能够达到以上要求的标准。
1. 系统功能比较完善,架构单一,利于以后的扩展和维护
2. 速度和性能方面,由于系统采用框架和Asp.net,相对较快
3. 测试中出现的问题已经解决
4. 因为使用Asp.net,页面刷新会造成客户体验欠佳。
3.1.3标识在测试中检测到的任何遗留的缺陷、限制或约束。可用问题/变更报告提供缺陷信息;
在线考试系统是对考生无需使用笔和纸的情况下研制的,可以轻松的完成各种问答,进而提高学生的学习能力,但是在研制过程中会有许多的问题:如1)这个登陆界面就是一个难点
6/17
泡泡在线考试系统
结合测试计划预先的规定对所开发的在线考试系统进行物理和逻辑上的全面测试,找出其中存在的编码和页面风格等存留的错误进行相应的调整和改动,将用户在使用过程中遇到困难的程度降低到最低点,同时也将系统的精确度提升为最大,此其一.
2) 单元测试:集中监测软件设计的最小单元——模块;
集成测试:是测试和组装软件的系统化技术;
自底向上集成:从“原子”模块(即在软件结构最底层的模块)开始组装和测试;
白盒测试:已知产品内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
7/17
泡泡在线考试系统
上图是经过测试后已的所形成的界面也是主界面.部分源代码为: using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using OnLine_Exam.Model;
namespace OnLine_Exam.Bll
{
public class userbll
{
/// <summary>
/// 默认的构造函数
/// </summary>
public userbll() { }
#region 添加用户
/// <summary>
/// 添加用户
/// </summary>
/// <param name="stu"></param>
/// <returns></returns>
public int IsertUser(Model.student stu)
{
SqlConnection con = Datacon.conn;
8/17
泡泡在线考试系统
con.Open();
string addstu ="INSERT
tb_student(StuID,StuName,StuPSW,StuSex,StuMail,StuCol,StuPro,StuTel,StuAdd)VALUES (@id,@name,@pwd,@sex,@mail,@col,@pro,@tel,@add) ";
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = addstu;
cmd.Parameters.Add("@id", SqlDbType.Int).Value = stu.StuID;
cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = stu.StuName; cmd.Parameters.Add("@pwd", SqlDbType.NVarChar).Value = stu.StudPwd; cmd.Parameters.Add("@sex", SqlDbType.NVarChar).Value = stu.StuSex; cmd.Parameters.Add("@mail", SqlDbType.NVarChar).Value = stu.StuMail; cmd.Parameters.Add("@col", SqlDbType.NVarChar).Value = stu.StuCol; cmd.Parameters.Add("@tel", SqlDbType.NVarChar).Value = stu.StuTel; cmd.Parameters.Add("@add", SqlDbType.NVarChar).Value = stu.StuAdd; cmd.Parameters.Add("@pro", SqlDbType.VarChar).Value = stu.StuPro; int flag=cmd.ExecuteNonQuery();
con.Close();
return flag;
}
#endregion
#region
/// <summary>
/// 更新用户信息
/// </summary>
/// <param name="stu"></param>
/// <returns></returns>
public int UpdateUser(Model.student stu)
{
SqlConnection con = Datacon.conn;
con.Open();
SqlCommand upstr = con.CreateCommand();
upstr.CommandText = "Update tb_student Set StuPSW=@pwd,StuMail=@mail,StuTel=@tel,StuAdd=@add Where StuName=@name";
upstr.Parameters.Add("@name",SqlDbType.NVarChar).Value=stu.StuName; upstr.Parameters.Add("@pwd", SqlDbType.NVarChar).Value = stu.StudPwd; upstr.Parameters.Add("@mail", SqlDbType.NVarChar).Value = stu.StuMail; upstr.Parameters.Add("@tel", SqlDbType.NVarChar).Value = stu.StuTel; upstr.Parameters.Add("@add", SqlDbType.NVarChar).Value = stu.StuAdd;
9/17
INTO
泡泡在线考试系统
int falg=upstr.ExecuteNonQuery();
con.Close();
return falg;
}
在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行。它包括试题管理、考生管理、在线组卷、试卷审批等功能,实现了传统考试过程中的出卷、考试、阅卷、试卷分析、公布成绩全过程
3.1.4对每一遗留缺陷、限制或约束,应描述:
如如这个界面旨在提高效率,方便广大用户,提供了一种通过Web方式进行在线考试的方式。
系统基于大容量的题库,支持随机从题库中抽取一定量的题目,也可自行调整生成一份考卷,提供给参加考试的考生在线答题,完成后提交至服务器。
1) 对软件和系统性能的影响,包括未得到满足的需求的标识;
2) 使用商用压力测试工具LoadRunner 8.0,模拟用户并发操作。测试用户登录功能模块在多
并发操作下是否能够稳定正常运行,各项指标是否能够达到以上要求的标准。
表1- 1测试服务器配置
2、测试客户端配置:
10/17
泡泡在线考试系统
表1- 2测试客户端配置 测试工具要求
HP公司LoadRunner 8.1英文版。
测试代码要求
测试执行前完成脚本录制、参数化修改与调试工作。
LoadRunner是HP公司的专业压力测试工具。它通过创建多个虚拟用户的方式,对录制的单用户脚本增加负载,来达到增加系统压力的测试目的。LoadRunner提供了Analysis工具对压力运行的结果进行分析,得出测试脚本运行期间,系统响应事务的最小时间,平均时间和最大时间等性能信息。同时可监视各后台服务器的CPU占用率与内存使用情况。利用该工具录制用户登录的业务模型,然后设计多用户并发登录的场景模式。
CPU使用情况
图1- 1 CPU使用率
从上图可以看出,在整个场景测试过程中,测试服务器的CPU平均使用率在31.3%,在场景执行约5分30秒出现了一次高峰值,约为80.1%,总体看来,CPU在整个测试过程中表现均衡。
11/17
泡泡在线考试系统
图1- 2事务概要图
事务响应时间,是衡量服务器处理能力好坏的重要指标,从图中可以看出,在整个测试过程中,出现了两次比较大的波动,但总体来说,服务器处理提交操作的响应时间为3.435秒,其中包含了思考时间3秒。除去思考时间,服务器处理整个登录业务操作,从打开首页,登录,然后退出,服务器响应时间为:0.055+0.531+0.3+0.435=1.321秒。
2)本软件是经过专业人士指导的软件,为考试者提供了更好的平台.
4测试环境的影响
经过本次测试,《在线考试系统》服务器达到了我们预期的期望结果,各项指标优秀。但其中也有些隐含问题,内存的耗用在整个测试过程呈现持续下降趋势,需增加并发数,场景执行时间以验证是否存在内存泄漏问题。3.3改进建议
本条应对被测试软件的设计、操作或测试提供改进建议。应讨论每个建议及其对软件的影响。如果没有改进建议,本条应陈述为“无”。
5详细的测试结果
预期结果:
12/17
泡泡在线考试系统
4.x.1:
但是经过测试后没有出现以上情况,于预期结果出现偏差.没能达到预想效果所以.要不断的测试..
(例如,“所有结果都如预期的那样”,“遇到了问题”,“与要求的有偏差”等)。当完成状态不是“所预期的”时,本条应引用以下几条提供详细信息。
4.x.2遇到了问题
a.所遇到问题的简述:
没能像预期那样完成结果. 本次测试从事务响应时间、并发用户数、系统资源使用等多个方面,以专业的性能测试工具,分析出当前系统的性能表现,以实际测试数据与预期的性能要求比较,检查系统是否达到既定的性能目标。
13/17
泡泡在线考试系统
b.对软件的所有可能出像的情况进行测试.从而达到预期目标.
c.试图改正这些问题所重复的过程或步骤次数,以及每次得到的结果;
重测试时,要进行分析全面过程,把握每一个环节.所以我们要认真完成每一项资料. 使用商用压力测试工具LoadRunner 8.0,模拟用户并发操作。测试用户登录功能模块在多并发操作下是否能够稳定正常运行,各项指标是否能够达到以上要求的标准。
4.4.3与测试用例/过程的偏差
本条应分条标识与测试用例/测试过程出现偏差的每个测试用例。
4.4.4(测试用例的项目唯一标识符)
本条应用项目唯一标识符标识出现一个或多个偏差的测试用例,并提供:
a.偏差的说明(例如,出现偏差的测试用例的运行情况和偏差的性质,诸如替换了所需设备、未能遵循规定的步骤、进度安排的偏差等)。(可用红线标记表明有偏差的测试过程);
随着网络技术的不断进步和信息的广泛普及,网络教学与考试系统已经遍布于Internet网络的每个角落。本文将编写一个完整的在线考试系统向用户展示系统的开发过程以及软件设计的思路与技巧。网络考试系统实现了在线考试平台,功能包括出题、添加试卷、自动阅卷、学生在线考试和添加用户等功能,该平台的有1种身份的用户:1学生,根据用户的身份不同,登录系统后进入不同的页面。c.偏差对测试用例有效性影响的评估。
5测试记录
软件的数据库设备
:
14/17
泡泡在线考试系统
提高工作效率,保证教学质量,提高办学效益,已成为各高校研究的一个重要课题。其中很重要的一个环节就是在线考试系统,同时,传统的考试方式已经不能适应职业学院学生自测的需要。本文按照软件工程的思想,对基于抽题式的在线考试系统进行了深入的研究,详细阐述了在线考试系统的体系结构,介绍了在线考试系统方案设计的步骤。
6评价
6.1:因软件正处于初级阶段对目前未知的错误无法保证所以不负任何责任.
6.2从测试结果中可以看出,经过本次测试,《在线考试系统》服务器达到了我们预期的期望结果,各项指标优秀。但其中也有些隐含问题,内存的耗用在整个测试过程呈现持续下降趋势,需增加并发数,场景执行时间以验证是否存在内存泄漏问题。
15/17
泡泡在线考试系统
6.3系统功能比较完善,但架构单一,不利于以后的扩展和维护
速度和性能方面,由于系统没有采用框架和ajar相对较快
测试中出现的问题已经解决
因为没有使用ajar,页面刷新会造成客户体验欠佳。
时间以及个人水平限制,本系统只实现了生成试卷,答卷以及自动判卷等核心功能。进行单元测试,不进行集成测试。
名称:生成试卷测试
目的:测试是否能正确按要求生成随机试卷。
内容:输入所需要的选择题,判断题,主观题数量,检查试卷生成情况。
经测试,模块能正确生成试卷并存入数据库试卷表。
名称:学生进行答卷测试
目的:测试系统是否能正常显示试卷,学生作答判断客观题正误。
内容:选择已经生成的试卷,进行作答,提交试卷显示结果。
点击试卷,跳转页面显示,满足需求,通过。
作答,提交试卷,显示答题结果情况,满足需求,通过。
7测试活动总结
7.1:集合了单元测试集中监测软件设计的最小单元——模块;
集成测试是测试和组装软件的系统化技术;
自底向上集成从“原子”模块(即在软件结构最底层的模块)开始组装和测试;
白盒测试已知产品内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
黑河测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要 8注解
8.1:在尽量减少用户出错的条件的情况下,主要通过页面提示用户,然后再次操作。 其他操作错误:对于用户的不正当操作,有可能发生错误。我们主要是中止操作,并提醒用户中止原因和操作规范。
其他不可预知的错误:系统也会有一些我们无法预知或没考虑完全的错误,我们对此不可能作出万全的异常处理,这时我们主要要保证数据的安全,所以要经常对数据库进行备份,并即使和开发者联系以逐步完善系统,实现其他功能。
16/17
泡泡在线考试系统
8.2: 如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。 目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。
8.3: 随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
17/17