1、论坛系统的测试论坛系统的测试河南理工大学 计算机科学与技术学院 实训报告设计 20162017学年第 一学期 课程名称: 软件测试技术 设计题目: 论坛系统软件测试 学生姓名: 田树浩 学 号: 4 专业班级: 计软1501 指导老师: 鲁保云 2017年12月29号第一节编写的目的及意义论坛系统为人民的交流提供了一个很好的平台,用户可以在这里发表自己的观点,与人分享自己的想法,同时可以对别人的主题发表自己的意见,用户之间可以公开的交流,也可以通过站内信箱的方式与全球各的的用户沟通。为了是论坛系统能够胜任更多的工作,提供服务质量,本设计对 论坛系统进行全面的功能测试和性能测试,并对的到的测试结
2、果进行分析,发现系统存在的漏洞以及性能瓶颈,并对其提出修改意见。其中的功能测试主要对系统的后台已经前台的的操作进行检查。后台主要就是论坛系统的管理,包括用户管理的论坛的管理等。前台主要就是用户登录功能,发帖,回复,撰写日志等等。性能测试主要借助测试工具,模拟不同的用户环境下,系统的性能表现,包括系统的相应时间,事物成功率等。出此之外还对系统的链接,界面等进行简单的测试。系统的测试不仅要检验系统是否实现了相应的功能,还需要检查系统的功能是否存在缺陷12。在执行测试之前,根据系统的整体情况,拟定测试计划,并严格按照计划来进行测试。为更加真实的模拟实际环境,对测试用例的设计力求完美。不仅要考虑到正确
3、的输入输出,同时也要对系统处理错误信息的能力进行检查。在性能方面,通过场景的设置,模拟真实环境下,系统对用户请求的响应情况,以此来发现系统存在的性能瓶颈,提出相应的修改意见。选择论坛测试的目的是为了对web系统测试有更多的了解。因为web系统与其他系统存在很大的不同,他与互联网紧密相连,除了要考虑系统本身的设计之外,网络环境的影响也是很重要的。对这样的系统进行测试,也存在一定的复杂性,需要考虑到各种复杂的情况,并为每种情况设置相应的场景。这里根据web工程14的概念,对系统进行全面的测试。第二节软件测试方法1.功能测试功能测试从用户的角度出发,对系统提供的各种功能进行测试,主要是黑盒测试。它把
4、系统看作一个黑盒子,不考虑系统内部结构以及系统的具体实现方法3。通过逐项测试,来检查系统的各个功能是否完善,输入正确的数据能否得到期望的输出结果,输入错误的信息时系统能否进行相应的处理。针对论坛系统采用的功能测试主要有论坛后台管理模块的测试,包括论坛管理和用户管理等模块,前台主要包括用户登录模块,发帖回复模块,以及用户空间管理模块。采用的功能测试方法是等价类划分和边界值测试。这样既可以测试正确情况下系统的相应,又可以测试系统对错误的处理能力。2.性能测试性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合
5、进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试11。对论坛系统采用的也主要是系统负载测试和压力测试。期望通过使用自动化测试工具的模拟,实现在虚拟环境下获得系统的性能指数12。根据测试结果对系统的性能进行评估,并提出改进意见。3.链接测试链接测试可分为三个方面。首先, 测试所有链接是否按指示的那样确实链接到了该链接的页面; 其次, 测试所链接的页面是否存在; 最后, 保证Web 应用系统上没有孤立的页面7。采用的方法同样的通过自动化工具来实现。本
6、次 论坛的链接测试主要使用的链接测试工具是Xenu Link Sleuth。它可以检测到网页中各种类型的链接。它可以分别列出网站的活链接以及死链接,并可把检查结果存储成文本文件或网页文件。4.界面测试整体界面测试反映浏览Web 应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方 整个Web 应用系统的设计风格是否一致9。通过对网页界面的易用性、美观性等进行测试,对网页的布局,排版等提出修改意见,以获得更好的用户体验。5.测试工具QuickTest ProfessionalQuickTest Professional简称QTP,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手
7、动测试。在测试前要考虑好如何对系统进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。QTP可以使测试人员在几分钟内提高效率,只需通过按“记录”按钮,并使用执行典型业务流程的应用程序即可创建测试脚本。系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。QTP可以自动引入检查点,以验证应用程序的属性和功能,例如验证输出或检查链接有效性。对于关键字视图中的每个步骤,活动屏幕均准确显示测试中应用程序处理此步骤的方式。也可以
8、为任何对象添加几种类型的检查点,以便验证组件是否按预期运行。在测试结束之后,用户的可以的到系统自动生成的详细测试结果。LoadRunnerLoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助更快的查找和发现问题。使用LoadRunner的Virtual User Generator,您能很简便地创立起系统负载。该引擎能够生成虚拟
9、用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。建立测试脚本后,可以对其进行参数化操作,这一操作能让测试人员利用几套不同的实际发生数据来测试系统,从而反映出本系统的负载能力。测试完成之后,LoadRunner会提供系统的性能测试结果,包括事物的最大响应时间、平均响应时间和事物成功率等信息。通过对这些信息的分析,测试人员就可以找出系统存在的性能瓶颈,对系统提出改进意见。第三节 系统测试计划根据系统的测试需求,计划对系统实施的测试主要包括后台和前台的功能测试,以及前台的性能测试。因为在后台管理模块中的用户量不是很大,操作频率也不是
10、很高,所以就不对其进行性能方面的测试。1.系统功能测试计划因为系统分为后台管理模块和前台模块,所以在进行功能测试的时候,需要分开进行。后台的功能测试主要包括后台登陆测试,用户管理模块,论坛管理模块等。后台登路的测试主要针对不同输入情况下,检查系统是否能够正确的处理,包括输入正确的用户名和密码,输入正确的用户名错误的密码,输入错误的用户名等情况。用户管理模块的功能测试则按照逐项测试的原则,根据系统提供的所有功能,进行深度测试。论坛管理模块同样采用深度测试的方法,测试每个系统功能。用户登录主要采用自动测试的方法,其他的模块功能测试则采用手工测试。前台的功能测试则根据系统划分的模块,对核心模块进行测
11、试,包括登录模块的测试,用户发帖、回复模块的测试,用户发送短信的测试等。和后台模块类似,登录的测试主要采用自动测试,通过测试用例的设计,来模拟不同的输入情况。其他模块的测试主要采用手工的方法,进行深度的测试。期望通过全面的功能测试,找出系统存在的问题,并对系统的改进提出意见。2.系统性能测试计划系统的性能测试主要针对前台模块,因为该模块的使用频率比较高,大部分的用户活动都集中在这个模块中。用户在前台进行的操作包括系统的登录、发表帖子、发表回复、上传附件、撰写博客等等。因为用户的数量可能会越来越多,同时发生的系统操作也会越来越多,为了获得系统在复杂情况下的性能表现,将对这些情况进行模拟,并的到系
12、统的性能参数,以作为系统的改进参考。在性能测试中要模拟的用户情况有多用户同时登录系统,多用户同时发布帖子或回复以及用户上传不同大小的附件等。性能测试将通过测试工具来设置这些用户环境。因为进行的是本地测试,所以在进行结果分析的时候,需要考虑网络的传输情况,以尽可能真实的反映系统性能10。3.其他测试其他测试包括链接测试,界面测试以及兼容性测试。其中链接测试主要采用自动测试的方法,找出系统的链接存在的问题。界面测试则主要针对系统界面的易用性、合理性进行测试。兼容性测试通过在不同的平台下运行系统,查看系统是否能够正常工作。这里主要通过在不同的浏览器下登录系统并进行一系列的操作,查看系统的功能是否完整
13、,网页的显示是否正常等。第四节 系统测试准侧1.系统缺陷级别定义级别1:微小,系统的友好性等存在不足。像文字的美化不好、色彩搭配不恰当、系统界面布局不合理等。级别2:一般,系统的易用性不会,给用户带来不便等。像文字显示不规范,图片显示不正确,提示消息不恰当等。级别3:较严重,影响到系统的基本功能。像链接错误,页面跳转失败,附件显示不正确等。级别4:严重,系统的功能存在重大缺陷,导致系统部分功能不能正常使用。像由于程序所引起的死机,非法退出,死循环,数据库发生死锁,错误操作导致的程序中断,严重的计算错误,与数据库连接错误,数据通讯错误等。级别5:致命,因为系统存在严重缺陷,导致系统死机、蓝屏,系
14、统的无法运行甚至崩溃等。2.系统性能指标(1)单个事物操作时用户的等待时间不超过10秒;(2)多个事物操作时,没有任何事物失败;(3)10个用户并发操作时,8个以上用户的事物平均响应时间不超过5秒;(4) 50个用户并发操作时,90%的事务平均响应时间不超过10秒;(5)100个用户发操作时,90% 的事务平均响应时间不超过15秒;第五节 功能测试1.后台管理测试管理员登录界面如图4-1-1所示,管理员需要输入正确的用户名和密码才能登录系统。不同权限的管理员可以进入系统之后,将有不同的操作。这部分将使用Quick 进行测试,在测试之前将进行脚本的录制,然后通过对脚本的增强,完成登录场景的模拟。
15、图4-1-1管理员登录界面因为登录时输入的情况可能存在差异,有可能用户输入了错误的用户名和密码,或者正确的用户名和错误的密码等,所有在设计测试用例时,主要采用等价类划分和边界值测试的方法。测试用例如表4-1-1所示。表4-1-1(a) 管理员登录模块测试用例表头项目名称管理员登录模块测试开发人员XXX模块名称管理员登录模块用例作者王靖参考信息需求规格说明书、设计说明书测试类型功能测试设计日期2010-03-29测试人员王靖测试方法手动测试+自动测试测试日期2010-03-30优先级1测试对象测试管理员能否正常登录前置条件正确的用户名admin和密码123456表4-3(b)管理员登录模块测试用
16、例用例编号操作输入数据预期结果实际结果测试状态(P/F)1-1输入正确的用户名和密码,点击“登录”按钮用户名:admin密码:123456成功登录成功登录,进入系统管理主页P1-2输入正确的用户名、正确的密码,点击键盘的“确定”键用户名:ben密码:123456成功登录成功登录,进入系统管理主页P1-3输入正确的用户名和密码,将字符的大小写改变,点击“登录”按钮用户名:Admin密码:123不能正常登录,提示“用户名不存在或错误”不能成功登录,提示为“您的密码不正确”F1-4输入错误的用户,点击“登录”按钮用户名:jjj密码:123显示提示信息“用户名不正确”显示提示信息“用户名不正确”P1-
17、5反复输入正确的用户名和错误的密码用户名:admin密码:123显示提示信息“密码不正确”当三次输入错误的密码之后,显示验证码输入框显示提示 “密码不正确”当三次输入错误的密码后,显示验证码输入框P1-6用户名和密码为空,点击“登录”按钮用户名:密码:显示提示信息“请填写登录用户名”显示提示信息“请填写登录用户名”P1-7用户名为空,密码不为空,点击“登录”按钮用户名:密码:123显示提示信息“请填写登录用户名”显示提示信息“请填写登录用户名”P1-8用户名不为空,密码为空,点击“登录”按钮用户名:admin密码:显示提示信息“请填写登录密码”显示提示信息“请填写登录密码”P注:实际结果和输出
18、状态在测试完成之后填写。2.录制脚本运行Quick ,在URL框输入“,然后使用户名“admin”和密码“123”登录系统。成功登录之后,退出。得到的脚本如图4-1-2所示。图 4-1-2 管理员登录模块测试脚本脚本录制完成之后,为了模拟不同的登录情况,需要对脚本进行增强。使用参数化的方法,将设计的测试用例通过数据表的方式导入测试脚本之中。为了测试用户登录是否成功,还将在页面中插入文本检查点和图像检查点。参数化之后的测试脚本如图4-1-3所示。图 4-1-2 参数化之后的登录模块测试脚本3.执行测试完成测试脚本的增强之后,运行脚本,就开始测试了。因为之前设计了8个测试用例,所以将运行8次测试脚
19、本。在执行过程中,因为当输入错误是,不能回到之前录制的界面,所以还需要手动回到脚本录制时的页面。4.测试结果从测试的结果来看,登录模块只存在一个提示错误,就是在将正确的用户名大小写改变的时候,系统提示不合理,属于级别1的错误。第六节 性能测试1.系统分析论坛主要分为前台和后台两大块。后台主要提供给管理员,用于论坛的日常管理。因为管理员的数量相对于普通用户来说很少,进行管理操作的频率也不是很高,所有对系统的性能测试主要集中在前台模块。普通用户在前台可以登录论坛,浏览论坛帖子,发表主题,上传图片,发送短信等等。2.系统压力估算系统注册用户数大约在5000人左右。白天同时在线的人数占总人数的5%,大
20、约250人,并发操作用户占在线人数的15%,约37人。晚上同时在线的人数占总人数的15%,约750人,进行并发操作用户数占在线人数的30%,约225人。3.性能测试模块因为环境和条件的限制,对论坛系统的性能测试不能全部进行,这里主要选取系统的核心模块和业务进行测试。包括一下业务:(1)用户登录;(2)发表帖子;(3)上传图片;(4)综合业务。4.测试场景设计(1) 用户登录模块取并发登录系统的人数为10、20、50、100、200。通过逐渐增加并发用户数,获得系统的响应时间等参数。具体场景设置如表4-2-1所示。表4-2-1 用户登录场景设置编号并发用户数操作描述持续时间(min)场景110同
21、时登录10场景220同时登录10场景350同时登录5场景4100每10秒登录5人10场景5200每10秒登录10人10(2) 用户发帖模块用户发帖的时候可以选择是否上传附件,这两种情况下,系统的响应情况会有所不同,为了更准确的表现系统的真实情况,将对上传附件和不上传附件的情况分别设计,附件的大小选择为100k。具体设置如表4-2-2所示。表4-2-2 用户发帖模块场景设置编号并发用户数操作描述持续时间(min)场景110同时发帖(不带附件)10场景220同时发帖(不带附件)10场景350同时发帖(不带附件)5场景4100每10秒登录5人,同时发帖(不带附件)10场景5200每10秒登录10人,
22、同时发帖(不带附件)10场景610同时发帖(带附件)10场景720同时发帖(带附件)10场景850同时发帖(带附件)5场景9100每10秒登录5人,同时发帖(带附件)10场景10200每10秒登录10人,同时发帖(带附件)10(3) 上传图片系统处理图片上传的时间受并发用户数以及图片大小的影响。但是系统设置的上传大小限制为200k,在具体操作过程中,大小的影响不是很大,为简化测试环境,真实模拟用户操作,上传的图片大小统一为100k。具体的场景设置如表4-2-3所示。表4-2-3 图片上传模块场景设置编号并发用户数操作描述持续时间(min)场景110同时上传图片10场景220同时上传图片10场景
23、350同时上传图片5场景4100每10秒登录5人,同时上传图片10场景5200每10秒登录10人,同时上传图片10(4) 综合业务用户登录系统之后不会总是进行相同的操作。为了模拟这种情况,选择不同用户数量情况下,不同比例的用户进行不同的操作。这里主要的操作有用户登录,发帖和上传图片。发帖不不带附件,图片的大小为200k。具体场景设置如表4-2-4所示。表4-2-4 综合业务场景设置编号并发用户数操作描述持续时间(min)场景1103个用户同时登录系统;4个用户同时登录系统并同时发帖;3个用户同时登录并同时上传图片10场景2203个用户同时登录系统;8个用户同时登录系统并同时发帖;6个用户同时登
24、录并同时上传图片10场景35015个用户同时登录系统;20个用户同时登录系统并同时发帖;15个用户同时登录并同时上传图片10场景410030个用户逐个登录系统,每隔10秒登录5人;40个用户逐个登录并同时发帖,每10秒登录5人;30个用户逐个登录并同时上传图片,每10秒登录5人10场景520060个用户逐个登录系统,每隔10秒登录5人;80个用户逐个登录并同时发帖,每10秒登录5人;60个用户逐个登录并同时上传图片,每10秒登录5人105.编写测试脚本LoadRunner提供了脚步录制的功能,为了更真实的模拟用户操作以及系统环境,需要对录制的脚步进行修改。以用户登录模块为例,使用LoadRun
25、ner录制好用户成功登录,然后退出的脚本。在录制选项的地址栏输入登录页面地址,开始录制。登录之前的操作放在vuser_init部分,用户输入用户名和密码,然后选择新建Action user_login,点击登录,然后退出论坛。完成录制之后,为了模拟多用户并发登录的情况,需要对脚本进行修改。在用户进行操作的的user_login中,插入登录操作的集合点login_rendezvous。为了验证用户是否成功登录,在页面插入检查函数confirm login。修改后的脚步如文本框4-2-1所示。用户发帖的脚本需要考虑带附件和不带附件的情况,所有需要录制两个脚本。上传图片的脚本录制和登录模块类似,选择
26、上传的图片大小不超过200k。综合业务的脚步需要组合前面的登录模块、发帖模块和上传图片模块的所有测试脚本,这可以通过场景设置来实现。6.测试环境配置执行测试是,需要手工配置测试环境。LoadRunner采用了图形化的用户界面,方便用户的配置。以登录模块为例,进入LoadRunner Controller之后,选择添加录制好的脚本user_login,然后选择行程编辑。设置用户登录的方式,如按照每5秒钟登录3人的方式,一共10个用户,持续时间为10分钟,退出系统的方式也是每秒钟3个用户。完成环境配置之后,进入脚步运行模式,开始测试。在测试过程中,可以实时监控系统性能指标,为了减少误差,在测试过程
27、中,不进行其他任何操作。完成一个场景之后,可以得到系统的请求响应时间,每秒的点击数等性能参数报告。通过在不同环境下的到的参数,对系统的性能作出评估。7.测试执行及结果(1) 用户登录模块根据设计好的测试用例以及准备的测试脚本,运行测试,得到用户登录的测试结果如表4-2-5所示。表4-2-5 用户登录性能测试结果用户登录测试结果并发用户数事务平均响应时间事务最大响应时间事务成功率平均每秒点击率平均流量(字节/秒)10100%47,20100%257,50100%284,100100%311,200100%275,(2)用户发帖模块用户发帖模块的性能测试与登录模块类似,编写好脚本之后,在场景生成器
28、里面加载,然后根据设计的测试用例,配置场景。因为发帖模块分为带附件发帖和不带附件发帖,所以需要录制两个脚本。分别记录不同脚本下的性能数据。完成测试之后得到的数据如表4-2-6所示。表4-2-6(a) 用户发帖(不带附件)性能测试结果用户发帖(不带附件)测试结果并发用户数事务平均响应时间事务最大响应时间事务成功率平均每秒点击率平均流量(字节/秒)10 100%180,20100%207,50100%228,100100%256,200%319,表4-2-6(b) 用户发帖(带附件)性能测试结果用户发帖(带附件)测试结果并发用户数事务平均响应时间事务最大响应时间事务成功率每秒点击率平均流量(字节/
29、秒)10100%68,20100%110,50100%207,100100%257,200%305,(3)上传图片录制图片上传模块的脚本时,固定选择图片大小为200k。在场景设置里按照设计的测试用例进行配置。得到的测试结果如表4-2-7所示。表4-2-7 上传图片测试结果上传图片测试结果并发用户数事务平均响应时间事务最大响应时间事务成功率每秒点击率平均流量(字节/秒)10100%45,20100%81,50100%124,100100%93,200%142,(4)综合业务综合业务的测试需要加载用户登录,发帖已经上传图片三个模块,场景的设置按照测试用例的设计,得到的测试结果如表4-2-8所示。表4-2-8 综合业务测试结果综合业务测试结果并发用户数事务平均响应时间事务最大响应时间事务成功率每秒点击率平均流量(字节/秒)10100%67,20100%90,50100%178,100%204,200%
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1