收藏 分销(赏)

软件测试课程论文.docx

上传人:天**** 文档编号:5176383 上传时间:2024-10-28 格式:DOCX 页数:33 大小:856.65KB
下载 相关 举报
软件测试课程论文.docx_第1页
第1页 / 共33页
软件测试课程论文.docx_第2页
第2页 / 共33页
软件测试课程论文.docx_第3页
第3页 / 共33页
软件测试课程论文.docx_第4页
第4页 / 共33页
软件测试课程论文.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、软件测试实训NANCHANG UNIVERSITY软件测试题 目: 软件测试课程论文 学 院: 软件学院 专 业: 软件工程 班 级: 嵌入式133班 完成人数: 1人 成 员: 8000113040冯嘉 任课教师: 黄旭慧 职称: 副教授 完成时间: 2016 年 06 月 11 日目录一、黑盒测试原理及测试用例设计等价类划分法11.1测试用例的定义和特征11.2设计测试用例的基本准则11.3等价类划分原则11.4等价类划分法设计测试用例1二、黑盒测试原理及测试用例设计边界值分析法32.1边界值分析法概要32.2边界值分析法的思想32.3测试用例:找零钱最佳组合3三、黑盒测试原理及测试用例设

2、计决策表法53.1决策表法思想53.2决策表的生成53.3决策表的简化53.4决策表法设计测试用例5四、黑盒测试原理及测试用例设计因果图法设计84.1因果图的定义84.2因果图法设计测试用例步骤8五、白盒测试方法逻辑覆盖法105.1语句覆盖105.2判定覆盖105.3条件覆盖105.4判定-条件覆盖115.5条件组合覆盖115.6路径覆盖115.7设计测试用例11六、基本路径法176.1基本路径法的思想176.2控制流图176.3环形复杂度(环路复杂性)176.4独立路径176.5基本路径测试步骤17七、LoadRunner基本使用19八、总结与体会23九、参考文献24一、黑盒测试原理及测试用

3、例设计等价类划分法1.1测试用例的定义和特征测试用例的定义:(1)测试用例是为特定的目的而设计的一组测试输入、 执行条件和预期的结果。(2)测试用例是执行的最小实体。 测试用例的特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。1.2设计测试用例的基本准则测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。测试结果的可再现性 即对同样的测试用例,系统的执行结果应

4、当是相同的。1.3等价类划分原则等价类划分设计方法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少量具有代表性的数据作为测试用例。 定义:将程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据当作测试例。原因:由于实现穷举测试的不可能性,只有从大量的可能数据中选取一部分作为测试用例。效果:经过类别划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。手段:在设计测试用例时,在需求说明的基础上划分等价类,列出等价表,从而确定测试用例。1.4等价类划分法设计测试用例输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、

5、等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。分析程序规格说明书中给出和隐藏的对输入条件的要求,列出等价类表:三条边:必须是大于0的整数三边构成的关系:两边之和必须大于第三边,两边之差必须小于第三边,且必须是大于0的整数等价类表:输入条件有效的等价类编号无效等价类编号边长大于0的整数1小于07等于08除数字以外的字符9边长的关系两边之和大于第三边2两边之和小于第三边10两边之差小于第三边3两边之差大于第三边11三条边相等4两条边相等5满足两个条件外,不规则长度6测试用例:测试用例编号输入数据预期输出边长1边长2边长3结果1333满足2554满足3533满足4555满足56

6、36满足6453满足7-123不满足8101不满足922b不满足10428不满足11852不满足二、黑盒测试原理及测试用例设计边界值分析法2.1边界值分析法概要边界值分析法就是 对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。2.2边界值分析法的思想故障往往出现在输入变量的边界值附近。例如,一个循环条件为“”时,却错写成“100R=02.R有效:0R100(钱给多)2_2.P无效:PR(钱给少)2_3.P有效:R=P100R=00R1000R=100PR输出为相应错误提示信息有效输入(找零):0R=100R=P

7、=100此时考虑的输出:(RR=P-R假设计算正确不考虑此种情况无效输出)0=RR45=RR1010=RR5050=RR100RR:0、1、4、5、9、10、49、50、99五、为满足以上之各种情形,测试用例设计如下:1.货品价格=1012.货品价格=03.货品价格=-14.货品价格=100,付款金额=1015.货品价格=100,付款金额=996.货品价格=100,付款金额=100不找零7.货品价格=99,付款金额=100N118.货品价格=96,付款金额=100N149.货品价格=95,付款金额=100N5110.货品价格=91,付款金额=100N51,N1411.货品价格=90,付款金额=

8、100N10112.货品价格=51,付款金额=100N104,N51,N1413.货品价格=50,付款金额=100N50114.货品价格=1,付款金额=100N501,N10=4,N5=1,N1=4三、黑盒测试原理及测试用例设计决策表法3.1决策表法思想决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作情况的工具。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。3.2决策表的生成决策表通常由以下4部分组成:条件桩列出问题的所有条件条件项针对条件桩给出的条件列出所有可能的取值动作桩列出问题规定的可

9、能采取的操作动作项指出在条件项的各组取值情况下应采取的动作 (1) 确定规则的个数。有n个条件的决策表有2n个规则(每个条件取真、假值)。(2) 列出所有的条件桩和动作桩。(3) 填入条件项。(4) 填入动作项,得到初始决策表。(5) 简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。3.3决策表的简化简化是以合并相似规则为目标;若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。3.4决策表法设计测试用例某厂对一部分职工重

10、新分配工作,分配原则是: (1)年龄不满20岁,文化程度是小学者脱产学习,文化程度是中学者当电工; (2)年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工,女性当车工;文化程度是大学者技术员; (3)年龄满50及50以上,文化程度是小学或中学者当材料员,文化程度是大学者当技术员。试分析规格说明书,建立决策表,并简化决策表的用例测试设计条件:A1:A:A3)&(z5) j=x*y+10; /语句块2 j=j%3; /语句块3试做出三角形问题的语句覆盖,条件覆盖,判定覆盖,判定条件覆盖、组合条件覆盖的测试用例.并注明满足覆盖的条件 1)判定/条件覆盖对于第一个判定a0&b0&c0:条件

11、a0取真值记为T1,取假值记为-T1条件b0取真值记为T2,取假值记为-T2条件c0取真值记为T3,取假值记为-T3对于第二个判定(a+bc)&(a+cb)&(b+ca):条件a+bc取真值记为T4,取假值记为-T4条件a+cb取真值记为T5,取假值记为-T5条件b+ca取真值记为T6,取假值记为-T62.对下面的流程图用逻辑覆盖法设计测试用例(至少三种)1).语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。测试用例输入为:x1=3、x2=0输出x3=0,程序执行的路径是:123456782.判定覆盖:测试用例输入为:x1=2、x2=1输出x3=0,程序执行的路径是:123578;测试用

12、例输入为:x1=3、x2=0输出x3=0,程序执行的路径是:12345678.3).条件覆盖对于第一个判定(x1=3)or(x21):条件x1=3取真值记为T1,取假值记为-T1条件x21取真值记为T2,取假值记为-T2对于第二个判定(x12)and(x2=0):条件x12取真值记为T3,取假值记为-T3条件x2=0取真值记为T4,取假值记为-T4基本路径测试法(画出程序的流程控制图计算环路复杂度画出图形矩阵)主要代码如下:1.If(inta=intb+intc)_2.Or(intb=inta+intc)_3.Or(intc=intb+inta)Then4.strMsg=三角形两边之和必须大于

13、第三边+vbCrLf+非三角形5.Else6.If(inta=intb)_7.And(intb=intc)Then8.strMsg=三角形的三条边都相等+vbCrLf+等边三角形9.Else10.If(inta=intb)_11.Or(inta=intc)_12.Or(intc=intb)Then13.strMsg=三角形的任意两边相等+vbCrLf+等腰三角形14.Else15.strMsg=三角形的各边均非等+vbCrLf+普通三角形16.EndIf17.EndIf18.EndIf1 根据上面的代码画出程序的控制流图。2计算环路复杂度。V(G)=93求出基本路径组合。P1:1-4-18P2

14、:1-2-4-18P3:1-2-3-4-18P4:1-2-3-6-7-8-17-18P5:1-2-3-6-10-13-16-17-18P6:1-2-3-6-10-11-13-16-17-18P7:1-2-3-6-10-11-12-13-16-17-18P8:1-2-3-6-10-11-12-15-16-17-18要点:从较短路径顺序增加每个分支尽可能走一次4设计测试用例,按照表1的形式,设计用例。六、基本路径法6.1基本路径法的思想路径测试就是设计足够的测试用例覆盖程序中所有可能的路径.但在实际的问题中,一个不太复杂的程序,其路径都是一个庞大的数字,为解决这一难题,只得把覆盖的路径压缩到一定的

15、范围内.基本路径测试法就是这样的一种测试方法,它是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出可执行的基本路径的集合,从而设计测试用例.设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。6.2控制流图程序的控制流图:描述程序控制流的一种图示方法。6.3环形复杂度(环路复杂性)程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。6.4独立路径独立路径是指包括一组以前没有处理的语句或条件的一条路径。6.5基本路径测试步骤基本路径测试步骤根据给出的程序流程图,完

16、成以下要求:(1)画出相应的控制流图。(2)计算环形复杂度。(3)给出相应的图矩阵。(4)找出程序的独立路径集合。解答:(1)控制流图如下所示:(2)环形复杂度为2+1=3(3)图矩阵:图中(A2),X=X+1四个节点分别标识为1,2,3,4,则图矩阵为0ab000c0000e0000(4)独立路径:总共4条独立路径第一条:(A2)第二条:(A2)第三条:(A2)X=X+1第四条:(A2)X=X+1七、LoadRunner基本使用制定测试计划(包括测试实例的设计、场景的设计等)。录制测试脚本(对用户的操作过程进行录制、回放和修改)。创建测试场景(模拟用户的操作)。运行测试(运行整个场景)。监视

17、场景(对服务器的各项性能指标进行实时监测)。分析测试结果(帮助测试人员对测试结果进行分析)。使用LoadRunner测试网站邮箱登录的操作过程。选择程序组里面的LoadRunner/virtual user generator。选择【web(http/html)】协议。不同的测试对象选择不同的协议,针对web网站,选择web协议。切换到脚本视图,选择【view】/【script view】。其中vuser_init和vuser_end一般用于存放应用程序初始化和关闭时的脚本,这两个脚本只执行一遍。Action中存放的是实际的主体脚本,可以多次运行,测试人员也可以创建多个Action脚本。单击工

18、具栏上的【start recording】按钮,开始录制脚本。【URL】中填写要测试的网址()。选择【option】按钮,配置browser,默认是IE,如系统默认的浏览器不是ie,需要配置【specify path to application】。点击【ok】按钮,开始录制。这是会自动打开网页。需要耐心等待,lr自动会打开该网页,不能人工打开。输入用户名和密码,点击登录按钮,直到登录后的界面完全显示后再点击录制工具栏上的停止按钮。录制完成后,需要测试一遍该脚本。点击工具栏上的运行脚本按钮,运行完毕后会自动生成一个报告,点击页面上的recording summary链接,可以进入报告页面。点击

19、【TOOLS】菜单下的【create controller scenario】选项,选择【manual scenario】(人工场景),设置number of vusers(虚拟用户数)为10。点击【edit schedule】,设置【ramp up】(开始)选项【load setting】,选择【duration】,设置【ramp down】。单击【start scenario】开始测试。测试完成后,单击【result】菜单,选择【analyze results】菜单,生成结果分析报告。分析测试结果(要有文字说明和截图)。使用QTP测试windows版的飞机订票系统(找出该程序的BUG,愈多

20、愈好。BUG的编写格式如下(如果有多个bug参照该格式分别进行说明):首先需要熟悉QTP自带的C:Program FilesMercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe程序,具体可以使用该程序的help文件。登录后的界面如下所示:单击【开始】-【程序】-【QuickTest professional】-【QuickTest professional】,启动QTP。具体测试过程参见C:Program FilesMercury InteractiveQuickTest Professionalhelp Q

21、TP4BPT.pdf文件。单击【automation】菜单下的【record and run settings】。选择【windows application】标签,设置【record and run only on】下的【application specified below】在【application】文本框中填入C:Program FilesMercury InteractiveQuickTest Professionalsamplesflightappflight4a.exe。这次我们使用QTP自动的航班订票系统程序来测试。单击【tools】菜单下的【option】,单击标签【Run】

22、,将【view results when run session ends】前面的勾去掉。单击工具栏上的【record】按钮,QTP自动启动flight程序。在【agent name】输入mercury,【password】输入mercury,登录。进入后随便添加一个航班记录即可。单击【stop】按钮停止记录。单击工具栏上的【run】按钮,进行回放。单击【automation】菜单下的【result】菜单查看测试结果。具体如下所示:分析测试结果(要有文字说明和截图)。使用CppTest测试一段c代码注意:安装c+test之前需要先安装vc+6.0。将以下代码输入到VC+6.0环境下进行编译,确

23、保编译通过。需要编写测试用例:可以使用系统自动生成的TC,如果系统的测试用例不完善,需要自己设计TC。TC格式如下:#include #include int user_input_handler(char *user_input, char * output)int result = 0;if (strcmp(load, user_input) = 0) strcpy(output,user_input); else if (strcmp(save, user_input) = 0) strcpy(output, user_input); else if (strcmp(quit, user

24、_input) = 0) strcpy(output, user_input); else result = -1;return result;void main(void)char res = save;char des5;printf(%dn,user_input_handler(load,des);安装c+test。启动c+test,单击【file】菜单下的【new project】子菜单,在出现的对话框中选择【import visual c+ 6.0 project】,输入测试工程名和对应的c+工程。单击【test】下的【read symbols】。单击【test】下的【test us

25、ing】-【active configuration】,执行单元测试。单击标签【unit testing(native)】,查看测试用例的通过情况。如果测试用例不全,需要添加tc,右键单击任意一个tc,选择【add】,定制arguments。单击【test】下的【test using】-【configurations】-【built in】-【coding standards】-【crules】,执行代码规范检查。针对以上的c代码,进行单元测试,如果c+test生成的TC不完善,请你补充完善。如果代码不规范,请加以修改。八、总结与体会要想成为好的测试人员,首先得了解自己要测试的软件的相关知识。

26、要了解软件产品的架构是什么样的。要了解软件的市场需求,在接触软件之初要可以多看看用户的反馈信息,这些才是用户最关心的,也是在测试中需要注意的问题,满足客户是最大的需要。但是了解软件需求之后要学会要多读些软件系统的技术文档,软件设计文档,这些文档可以帮助了解产品如何工作。要想在短暂的时间内,尽可能的学会一些东西,这需要跟老师、跟同学有很好的沟通,加深彼此的了解,同时我觉得这也是我将来走上社会的一把不可缺的钥匙,通过沟通了解,才能更好有针对性地学习了解各方面的知识,才能真正地学到了计算机教科书上所以或者真正用到了课本知识,巩固了旧知识,掌握了新知识,甚至在实践中推翻了本书上旧有的不合实际的知识,这

27、才是真正体现了知识的真正价值,学以致用。经过这次学习,遇到许多困难,也懂得了许多,在这段时间里,学习以前没有学过的知识,使我觉得特别有意义和价值。此次实训面对的数据测试及计算比较多页比较复杂,这也考验了学生的态度及耐心。在课程中,我了解开发项目是一个有机的整体,而软件测试为最终的软件是否成功把住了最后一道关,测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。2、然后就是,白盒测试中的逻辑驱动测试的覆盖率测试。3、还有就是对于划分等价类和边界值法这一块,让我从模糊到明朗。九、参考文献1郑人杰,殷人昆,陶永雷实用软件工程M.北京:清华大学出版社,1999 第208209页2郑人杰 计算机软件测试技术M.北京:清华大学出版社,1992 第121122页3周之英,郑人杰译 计算机软件测试技巧M.北京:清华大学出版社,1992第89103页31软件测试实训

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服