艾斯医药商务系统白盒测试讲述.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 白盒测试 实验目的 掌握白盒测试的基础知识,了解白盒测试又叫结构性测试,是基于被测程序的源代码的测试方法; 掌握白盒测试的主要检查内容、测试目的及实施步骤; 掌握白盒测试的6种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。 预习与实验要求 预习实验指导书及教材的有关内容,掌握白盒测试的6种基本测试方法; 根据实验一选定的系统---“艾斯医药商务系统”,分析源程序; 对具体程序的源代码,能分别使用6种测试方法设计测试用例,并实施测试、分析测试结果; 独立思考并完成实验。 实验设备与器材 硬件:P4以上计算机,512M内存以上,2G以上空闲硬盘空间 软件:操作系统、 实验原理 白盒测试的目的和检查内容; 白盒测试的基本方法; 根据白盒测试方法设计测试用例及实施测试。 实验内容 选定目标系统中可??进行白盒测试的源码; 画出对应的控制流图; 按照这6种不同的覆盖策略设计测试用例; 按照设计好的测试用例并实施测试,记录测试结果。 实验报告 内容 针对实际项目“艾斯医药商务系统”,完成白盒测试(覆盖测试)。测试文档中包括各种方法的测试目的、测试用例的设计及测试结果。 1.逻辑覆盖测试 逻辑覆盖测试主要是针对程序的内部逻辑结构设计测试用例的技术,它通过运行测试用例达到逻辑覆盖的目的。 包括以下3种类型的逻辑覆盖: 语句覆盖 判定覆盖 条件覆盖 /** * 购物车添加商品方法 * 在判断hashmap中没有pid对应商品是为false情况下添加product * @param pid * @param product */ public void addProduct(String pid,Product product){ if(hashmap==null){ hashmap= new HashMap(); } if(hashmap.containsKey(pid)==false)//购物车中不存在该商品 { hashmap.put(pid, product); } } 函数的流程图如下: 测试结果: 用户登录进入到商品浏览界面之后,进行购买活动,将商品添加到购物车,如果没有商品id,测试结果如图1,;如果有商品id,测试结图2: 图1 添加之后,查看购物车,购物车中没有该商品: 当添加该商品id之后,可以加载到购物车: 图2 查看购物车,在购物车中将会有加载的商品: 2.语句覆盖 语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行的语句至少执行一次。根据概念,为了对上面的函数进行语句覆盖,只要设计一个测试用例就可以覆盖2个执行语句块中的语句。 针对程序的判断语句,可在入口处设计测试用例。 测试用例输入为:{hashmap==null} 程序执行的路径为:abd。 如果程序只运行上面的测试用例,虽然可以执行模块中的所有语句,但并不能检查判断逻辑是否有问题。例如在第一个判断中错误地把==写成!=,则上面的测试用例仍可以覆盖所有的执行语句。可以说语句覆盖率是最弱的逻辑覆盖准则。 当我们进行查询商品的时候,如果hashMap为空,将不能查询,如下图所示: 当输入acd时,将能够查询: 3.判定覆盖 判定覆盖(也称为分支覆盖),设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少各执行一次。 根据上面的定义,对于上面的程序,只要设计两个测试用例则可以满足条件覆盖的要求。 测试用例的输入为:{hashmap!=null} {hashmap==null} 上面的两个测试用例虽能够满足判定覆盖的要求,但是有时候也不能对判定条件进行检查。 根据测试原理,得到测试结果如下: 4.条件覆盖 设计足够多的测试用例,运行所测程序,使程序中每个判断内的每个条件的各个可能取值至少执行一次。 为了清楚的设计测试用例,对例子中的所有条件取值加以标记。 例如: 对于第一个判断:条件hashmap==null,取真值为T1,假值为-T1; 对于第二个判断: 条件hashmap.containsKey(pid)==false,取真值为T2,假值为-T2; 则可以设计测试用例如表5-7所示: 表5-7 测试用例通过路径条件取值覆盖分支hashmap==null hashmap.containsKey(pid)==falseabdT1,T2bdHashmap!=null hashmap.containsKey(pid)==falseacd-T1,T2cdHashmap==null hashmap.c

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档