1、测试经验分享,什么是软件测试,1,01,黑盒测试技术介绍,11,02,BUG描述介绍,27,03,一、什么是软件测试1、测试的英文单词叫TEST,测试包括硬件测试和软件测试,目前我们所做的工作,主要是软件测试,即 Software Testing。2、定义:使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果之间的差别。,一、什么是软件测试3、测试环境:我们测试1个软件系统的第1件事情,通常就是搭建用来运行软件的测试环境,简单地说,软件测试环境就是软件运行的平台,即硬件、软件和网络的集合;硬件:主要包括PC机(包括品牌机和兼容机)、笔记本、服务器、各
2、种PDA终端;软件:主要指的是软件运行的操作系统;网络:主要针对C/S结构和B/S结构的软件,在不同的网络环境下,如,局域网还是互联网。,一、什么是软件测试4、软件测试分类:黑盒测试和白盒测试是软件测试领域中的最基础的两个概念;黑盒测试(Black-Box Testing),指的是把被 测得软件看做一个黑盒子,我们不关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果,黑盒测试也称为功能测试,它包括功能测试和性能测试。,一、什么是软件测试白盒测试(White-Box Testing),指的是把盒子盖代开,去研究里面的源代码和程序结构。,黑盒,X=2,Y=4,?,X=2,白盒,Y=4,
3、Y=2x,一、什么是软件测试5、按照测试阶段划分,可以将软件测试分为: 单元测试、集成测试、系统测试、验收测试;单元测试:是指对软件中的最小可测试单元进行检查和验证;例如:在C语言中,单元一般只1个函数;在Java里,单元一般指1个类;在图形化的软件中,单元也可以指1个窗口、1个菜单等。总结起来,单元就是人为规定的最小的被测功能模块。,一、什么是软件测试 集成测试:是单元测试的下一个阶段,是指通过测试的单元模块组成系统和子系统。系统测试,指的是将整个软件系统看做1个整体进行测试,包括功能、性能以及软件所运行的硬件、软件。验收测试,指系统测试的后期,已用户测试为主或有测试人员等质量保障人员功能参
4、与测试。,一、什么是软件测试 6、软件测试应该追溯需求,这条原则贯穿整个软件生命周期,强调需求阶段对软件测试的重要性,原始要求,需求分析,正确的规格说明,错误的规格说明,设计,正确的设计,正确编码,正确功能,编码,测试,错误设计,对错误说明的设计,错误编码,对错误设计的编码,对错误说明的编码,可改正的错误,不可改正的错误,潜伏的错误,不完善的软件产品,一、什么是软件测试 7、缺陷的二八定理:一般情况下,软件80%的缺陷集中在20%的模块中,我们测试的时候要抓主要矛盾,如果发现某一程序模块比其他模块有更多的缺陷,就要投入主要的人力和精力重点测试这20%的模块,以提高我们的测试效率; 8、一般情况
5、下,每次修复3-4个缺陷,就会产生一个新的缺陷,所以要充分注意修改错误所产生的影响及波及效果。,二、黑盒测试技术 1、等价类划分法,它不考虑程序的内部结构,只是根据软件的需求说明来对输入的范围进行细分,然后再从分出的每一个区域内选取一个代表性的测试数据,如果等价类分得好,这个代表性的测试数据的作用就等于其区域内的其他取值; 它的定义是指某个输入域的子集合。 等价类又可分为“有效等价类”和“无效等价类”,二、黑盒测试技术 (1) 等价类划分法举例需求定义 PC的供电电压在9V至16V之间,低于9V,PC某些模块不能正常工作,所以低于9V,PC不能开机。高于16V,PC电压过高会有烧坏元器件的隐患
6、,所以,高于16VPC会自动关机进行保护。,二、黑盒测试技术 (1) 等价类划分法举例划分输入数据,二、黑盒测试技术 (1) 等价类划分法举例设计输入数据,二、黑盒测试技术 (1) 等价类划分法举例设计测试用例,二、黑盒测试技术 2、边界值法也是黑盒测试技术的一种,是等价类划分法的一种补充,由长期的测试时间经验表明,边界值是最容易出现问题的地方,也是我们测试的重点;,二、黑盒测试技术 (2)边界值法举例需求定义筋斗云充值返点的规则测试,客户一次性充 值1000元至2000元之间,返点10元;超过2000元,返点20元;,二、黑盒测试技术设计输入数据,二、黑盒测试技术设计测试用例 按照不同的充值
7、金额 进行充值,会获得到 不同的返点金额;,二、黑盒测试技术 3、因果图法: 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.,二、黑盒测试技术 3、因果图法: 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.,二、黑盒测试技术 3、因果图法: 分析软件规格说明
8、描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符. . 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图. 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件,二、黑盒测试技术 分析输出结果:,二、黑盒测试技术 从输出结果推出原因:,二、黑盒测试技术 4、流程图法: 黑盒测试的流程图是针对整个系统的业务功能流程的,流程图法的步骤为: a、详细了解需求; b、根据需求说明或界面原型,找
9、出业务流程的各个页面几页面之间的流转关系; c、画出业务流程图(路径图); d、编辑测试用例,覆盖所有的路径分支;,二、黑盒测试技术 4、流程图法:,登入,身份验证,查询商品,选择商品,网上付款,出货,退出,NG,OK,页面,跳转,条件判断,三、BUG描述介绍 1、BUG的分类: a、按照严重程度划分: 是指BUG对软件质量的破坏程度,即次BUG的存在对软件的功能和性能产生怎样的影响,按照严重程度由高到低的顺序可以分成5个等级:系统崩溃、严重、一般、次要、建议; b、按照优先级划分: 表示处理和修正软件缺陷的先后顺序的指标,即哪些缺陷需要优先修正,哪些可以稍后修正,按照优先级由高到低可以分成3
10、个等级:高(High)、中(Mid-dle)、低(Low);,三、BUG描述介绍 1、BUG的分类: c、按照测试种类划分: 可以将BUG分为逻辑功能类、性能类、界面类、易用性类、兼容性类; d、按功能模块划分: 一般的软件产品都是分为若干个功能模块的,比如筋斗云里面的订单、项目、工单等功能模块;二八定理告诉我们,80%的缺陷大部分集中在20%的模块里面,测试的时候我们可以统计一下BUG主要集中在哪些模块里面,以便我们投入重点精力去测试;,三、BUG描述介绍 2、BUG的描述,三、BUG描述介绍 3、BUG的处理流程: 实际上,不同公司的Bug处理流程一般是不同的,同一公司不同项目的Bug处理流程也不尽相同;通常情况下,一般都是遵循以下流程,三、BUG描述介绍 3、BUG的处理流程: 4、常用的缺陷管理工具: TD(TestDirector) 禅道 Bugfree Bugzilla,提交缺陷报告,分配缺陷报告,处理缺陷报告,关闭缺陷报告,返测报告,测试未通过,