2020-03-01 16:21:39 来源:范文大全收藏下载本文
软件质量保证与测试
2016 ~ 2017学年
第二学期
学
院 计算机科学技术
专
业 软件工程 学
号
140521221 姓
名 蒲凤 指导教师王鹏
目录
一、单元测试 .......................................................1 1.1实验目的 ......................................................1 1.2实验环境 ......................................................1 1.3实验原理 ......................................................1 1.4实验内容 ......................................................1 1.4.1 C#单元测试 ................................................1 1.4.2 测试用例 ..................................................4 1.5实验结果 ......................................................5 1.6实验总结 ......................................................6 1.6.1插件安装...................................................6 1.6.2心得体会...................................................6 1.6.3单元测试意义...............................................6
二、LOADRUNNER性能测试 .............................................7 2.1实验目的 ......................................................7 2.2实验环境 ......................................................7 2.3实验原理 ......................................................7 2.4实验内容 ......................................................7 2.4.1 HP LoadRunner录制脚本.....................................7 2.4.2 HP LoadRunner脚本测试场景设计及分析......................17 2.5实验结果 .....................................................33 2.6实验分析 .....................................................34 2.7实验总结 .....................................................34
三、反编译 ........................................................36 3.1实验目的 .....................................................36 3.2实验环境 .....................................................36 3.3实验原理 .....................................................36 3.4实验内容 .....................................................36 3.4.1 Net Refelector反编译.....................................36 3.5实验结果 .....................................................40 3.6实验总结 .....................................................41 3.6.1心得体会..................................................41
I 3.6.2 对软件安全性的看法 .......................................41
四、SQL注入 .......................................................42 4.1实验目的 .....................................................42 4.2实验环境 .....................................................42 4.2实验原理 .....................................................42 4.3实验内容 .....................................................42 4.3.1 sql注入..................................................42 4.4实验结果 .....................................................52 4.5实验总结 .....................................................54 4.5.1心得体会..................................................54 4.5.2 SQL注入危害..............................................54
五、禅道项目管理的BUG管理模块使用 ................................55 5.1实验目的 .....................................................55 5.2实验环境 .....................................................55 5.3实验原理 .....................................................55 5.4实验内容 .....................................................55 5.4.1禅道项目管理的bug管理模块使用............................55 5.5实验结果 .....................................................67 5.6实验总结 .....................................................68
II
一、单元测试
1.1实验目的
1.能够使用编程工具进行单元测试。
2.检查代码实现是否符合设计,尽早发现设计和需求中存在的错误。 3.发现在编码过程中引入的错误,跟踪需求和设计的实现是否一致。
1.2实验环境
环境:vs2013
1.3实验原理
主要采用白盒技术,检查模块控制结构的某些特殊路径,期望覆盖尽可能多的出错点。
1.4实验内容
1.4.1 C#单元测试
1.新建一个类库项目,并为其中的类为BinaryTree.构建二叉树并添加前序遍历方法。如图1-1所示。
图1-1 2.创建单元测试。在方法名上右击,然后单击“Generate Unit Test”选项,打开对话框。如图1-2所示。
1
图1-2 3.选择方法,为新建项目命名。如图1-3所示。
图1-3 4.然后在解决方案管理中就多了相应的BinaryTree Tests解决方案。如图1-4所示。
2
图1-4 打开测试菜单->窗口->测试资源管理器,如图1-5所示。
图1-5 5.在测试试图,右键运行要测试的方法,在测试结果窗口中查看测试结果,运行测试之前。如图1-6所示。
3
图1-6 1.4.2测试用例
1.设置测试参数。如图1-7,1-8所示。
图1-7
图1-8 2.运行之后。如图1-9所示。
4
图1-9 1.5实验结果
经过测试,ResultEqualTest1, ResultEqualTest2均未通过测试,调整参数,重新测试,测试结果如下,如图1-10所示。:
图1-10
5 1.6实验总结
1.6.1插件安装
在vs2013进行单元测试之前,需要按照手动添加插件。选择工具-扩展和更新,搜索并安装Unit Test Generator。 1.6.2心得体会
本次测试设计涉及预期测试需求,实验结果符合预期。单元测试帮助开发人员编写代码,提升质量,减少bug;提升反馈速度,减少重复工作,提高开发效率;保证最后的代码不会破坏之前的代码功能,同时让代码维护更容易,有助于改进代码质量和设计。 1.6.3单元测试意义
单元测试集中注意力与程序的基本组成部分,首先保证每个单元测试通过,才能使下一步把单元组成部分组装成部件并测试其正确性具有基础。单元是整个软件的构成基础,只有保证零部件一样,这个设备的质量才有基础,单元的质量也是整个软件质量的基础。因此,单元测试的效果会直接影响到软件的后期测试,最终在很大程度上影响到产品的质量。同时,单元规模较小,复杂性较低,因而发现错误后容易隔离和定位,有利于调试工作。
6
二、LoadRunner性能测试
2.1实验目的
1.掌握LoadRunner的使用方法。 2.能够使用LoadRunner进行负载测试
3.学会用LoadRunner设计场景并尝试,并分析测试结果。
2.2实验环境
环境:HP LoadRunnner
2.3实验原理
LoadRunner进行负载测试通常有五个阶段组成:
计划、脚本创建、场景定义、场景执行和结果分析。
(1) 计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所需相应时间。
(2) 创建Vuser脚本:将最终用户活动捕获到自动脚本中。 (3) 定义场景:使用LoadRunnerControlller设置负载测试环境。 (4) 运行场景:通过LoadRunnerControlller驱动、管理和监控负载测试。 (5) 分析结果:使用LoadRunnerAnalysis创建图和报告并评估性能。
2.4实验内容
2.4.1HP LoadRunner录制脚本
1.启动服务。如图2-1所示。
图2-1
7 2.登录自带网站WebTours,并注册。如图2-2所示。
图2-2 填写注册信息,如图2-3,2-4所示。
图2-3
8
图2-4 注册成功,如图2-5所示。
图2-5
3.打开Loadrunner,点击新建脚本打开VuGen。如图2-6所示。
9
图2-6 新建脚本,如图2-7所示。
图2-7
10
4.新建脚本,选择协议。如图2-8所示。
图2-8 5.选择浏览器,设置所测web的地址。如图2-9所示。
图2-9
11 6.点击左下角Options按钮,进入录制环境设置界面。如图2-10,2-11所示。
图2-10
图2-11
12
7、模拟用户操作开始录制脚本。如图2-12所示。
图2-12 用户操作如下,模拟用户订票。如图2-13所示。
图2-13 8.结束录制,生成脚本。如图2-14所示。
13
图2-14 9.回放脚本,验证脚本是否正确。如图2-15所示。
图2-15 回放结果,如图2-16所示。
14
图2-16 10.增加事务,并命名。如图2-17所示。
图2-17 给事务命名,如图2-18所示。
15
图2-18 查看事务,如图2-19所示。
图2-19 11.参数化。在脚本中找到需要参数化的值,例如登录名和登录密码。如图2-20所示。
16
图2-20 2.4.2HP LoadRunner脚本测试场景设计及分析
1.导入脚本,打开controller。如图2-21所示。
图2-21 2.选择文件路径。如图2-22所示。
17
图2-22 3.进入初始界面。如图2-23所示。
图2-23 4.为了设置集合点,取消默认勾选框,添加脚本。如图2-24所示。
18
图2-24 5.确定,进入场景设置界面。如图2-25所示。
图2-25 6.设置场景,选择初始化。如图2-26所示。
19
图2-26 7.打开运行时设置,设置迭代次数。如图2-27所示。
图2-27
20 8.设置迭代参数为2。如图2-28所示。
图2-28 9.点开Miscellaneous,设置Continueon error,使错误发生时可继续执行。如图2-29所示。
图2-29
21 10.设计集合点。如图2-30所示。
图2-30 设置当所有虚拟用户都到达集合点才释放,模拟多用户同时进行某一操作的情况。选中policy。如图2-31所示。
图2-31 11.设置policy。如图2-32所示。
22
图2-32 12.点击运行,进入运行时监控界面。如图2-33所示。
图2-33 13.点击运行场景。如图2-34所示。
23
图2-34 14.观察运行结果。如图2-35,2-36,2-37,2-38,2-39所示。
图2-35
图2-36
24
图2-37
图2-38
图2-39 15.设置场景运行时Windows资源监控图。如图2-40所示。
25
图2-40 点击添加。如图2-41,2-42所示。
图2-41
图2-42
26 运行时Windows资源监控图截图如下。如图2-43所示。
图2-43 16.打开分析器,形成分析结果。如图2-44,2-45所示。
图2-44
27
图2-45 17.分析器自动形成分析结果。如图2-46,2-47,2-48,2-49,2-50所示。
图2-46
28
图2-47 18.点开监控的图表,根据需要合并图表以便更好地分析。
图2-48
29
图2-49
图2-50 19.添加Windows资源监控图表。如图2-51,2-52所示。
30
图2-51
图2-52 20.添加页面分析结果图表。如图2-53所示。
31
图2-53 21.生成测试报告。如图2-54所示。
图2-54 生成测试报告中。如图2-55所示。
32
图2-55 生成测试报告,如图2-56所示。
图2-56 2.5实验结果
回放验证。如图2-57所示。
图2-57
33 生成测试报告,点击内容,如图2-58所示。
图2-58 2.6实验分析
通过测试报告可以看出,最多能够创建10个vuser,平均吞吐量是14320字节每分,平均每秒点击数量约为10次。同时可以通过以下方式使被测系统所受压力减轻,从如下方面进行综合调解:将测试脚本中think time值加大并在控制台中按比例实现,此处think time指在transaction外部的时间;Controller中Run-Time Setting的Pacing设置值加大;虚拟用户登录时使用递增策略,间隔稍长。
2.7实验总结
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。学会了使用LoadRunner录制脚本。基本的流程是启动服务器、注册、录制脚本及进行参数化设置。设计涉及场景的搭建和测试,通过Lordrunner进行脚本测试,同时能够生成相应的图表,直观的反应了测试结果。Lordrunner作为专业的性能测试工具,通过模拟成千上万的用户对被测应用进行操作和请求,在实验室环境中精确重现生产环境中任意可能出现的业务压力,然后通过在测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈。
34
35
三、反编译
3.1实验目的
1.学会如何使用反编译工具对程序进行反编译。 2.能够使用.NetRefelector进行反编译。
3.2实验环境
环境:.Net Refelector,VS2008 3.3实验原理
反编译的主要思想:将特定的机器代码,即我们的“源程序”,先翻译为低级的中间代码,然后再根据特定的高级语言将中间代码翻译为高级程序。反编译器也有前端和后端。前端是一个机器依赖的模块,句法分析二进制程序、分析其指令的语义、并且生成该程序的低级中间表示法和每一子程序的控制流向图。通用的反编译机器是一个与语言和机器无关的模块,分析低级中间代码,将它转换成对任何高级语言都可接受的高级表示法,并且分析控制流向图的结构、把它们转换成用高级控制结构表现的图。最后,后端是一个目标语言依赖的模块,生成目标语言代码。反编译的过程中要使用一些工具:把二进制程序装入内存,对这一程序做句法分析或反汇编,以及反编译或者分析该程序来生成高级语言程序。这个过程借助编译器和库的签名来识别特定的编译器和库子程序。只要在二进制程序中识别出编译器签名,就不去反编译这些编译器启动代码(start-up)和库子程序:对于前者,从最后的目标程序去掉启动代码的那些例程,反编译器从主(main)程序入口点开始分析;对于后者,那些子程序用其库函数名代替。
3.4实验内容
3.4.1Net Refelector反编译
1.启动.NETRefelector(在所有程序中找到RedGate文件夹)找到安装文件,点击运行。如图3-1所示。
36
图3-1 2.选择文件,打开可执行文件。如图3-2所示。
图3-2 选择文件路径。如图3-3所示。
37
图3-3
3.导入工程截图如下。如图3-4所示。
图3-4 4.相关函数和类,如图3-5所示。
38
图3-5 5.选中工程,导出源码。如图3-6所示。
图3-6 6.选择导出文件路径。如图3-7所示。
39
图3-7 7.选中反编译程序,点击运行。如图3-8所示。
图3-8 3.5实验结果
反编译成功,如图3-9所示。
40
图3-9
3.6实验总结
3.6.1心得体会
本次实验通过反编译工具进行了反编译,完成了从可执行文件到源码的转换,学会了如何使用.NET Refelector反编译工具。 3.6.2 对软件安全性的看法
软件安全(Software Security)就是使软件在收到恶意攻击的情形下依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。软件安全性分析任务包含于软件生存周期的若干活动中,是针对软件的安全性质量,作为这些活动的补充。软件安全性分析作为开发中软件的质量的重要保证,关系到软件的获取、供应、开发、运行和维护,已得到专业人士的高度重视。并且现在,软件安全性分析任务的各项细节执行都写入了国军标,被安全相关软件的需方、供方、开发者、维护者以及独立的评价者使用。规范化将推进软件安全性分析的进程,使更多的开发和评测单位遵循标准化文件,督促开发团队采取相应的技术手段,以软件测试作为辅助。同样,软件安全性分析标准也会在推进的过程中,得到不断地发展。
41
四、SQL注入
4.1实验目的
1.明白SQL注入原理。 2.能够进行简单的SQL注入。
4.2实验环境
环境:VS2013,SQL Server Management Studio 4.2实验原理
SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
4.3实验内容
4.3.1 sql注入
1.点击SQL SERVERR2。如图4-1所示。
图4-1 登陆数据库,如图4-2所示。
42
图4-2 2.创建数据库SQLTEST。如图4-3,4-4所示。
图4-3
43
图4-4 3.创建表UserLogin。如图4-5所示。
图4-5 设置主键如下,如图4-6所示。
44
图4-6 设置成功,截图如下。如图4-7所示。
图4-7 输入表名。如图4-8所示。
45
图4-8 4.选中表,编辑前200行。如图4-9所示。
图4-9 5.编辑测试数据,如图4-10所示。
46
图4-10 6.打开VS2013,新建项目。如图4-11所示。
图4-11 选中Asp.net Web应用程序。如图4-12所示。
47
人人范文网 m.inrrp.com.cn 手机版