第六章 软件测试流程
一、执行测试用例的阶段:
1、预测试(冒烟测试):利用较短的时间快速验证软件系统基本功能或高风险功能是否正确实现。冒烟测试用例一般不超过整体用例的5%,且会挑选重要级别较高的用例。冒烟测试测的是软件的基本功能,是其他测试的基础,如果不通过则打回开发人员并通知领导。
2、系统测试:可根据实际情况及时补充测试用例,从而增加测试的有效性,提高测试效率。
二、测试报告的内容:
1、引言:编写目的、背景、定义、参考资料;
2、测试概要;
3、测试结果及发现;
4、对软件功能的结论:能力、限制;
5、分析概要:能力、缺陷和限制、建议、评价;
6、测试资源消耗。
三、你们公司的项目开发流程:
1、需求分析与评审;
2、设计:
1)开发人员:编写概要设计说明书及详细设计说明书;
2)测试人员:制定测试计划,编写测试方案和测试用例。
3、各做各的评审;
4、开发人员进行编码设计;
5、开发人员自测之后交给测试人员;
6、测试人员拿到测试版本后,搭建测试环境,准备测试数据;
7、测试人员执行测试用例,发现、记录缺陷,提交缺陷至缺陷管理工具并跟踪;
8、输出测试报告;
9、项目上线,进行运行和维护。
四、你们公司的测试流程:
- 产品经理组织召开需求分析评审会议,会议通过后,开发人员进行编码设计,测试负责人制定测试计划并将需求分配给测试组员;测试组员拿到需求后根据需求规格说明书提取测试点,并编写测试方案和测试用例;编写完成后进行评审;评审通过后进行测试环境搭建,准备测试数据;待开发人员将测试版本给到测试人员后,执行测试用例,发现、记录缺陷,提交缺陷至缺陷管理工具并进行跟踪;待开发人员将缺陷修复后,由测试人员进行回归测试;待所有缺陷修复完毕,达到交付要求后,由测试负责人或测试组员编写测试报告。
五、你在测试工作中做了哪些:
1、需求分析和评审;
2、测试方案及测试用例的编写;
3、评审测试方案和测试用例;
4、搭建测试环境,准备测试数据;
5、执行测试用例,发现、记录缺陷,提交缺陷至缺陷管理工具并进行跟踪;
6、输出自己模块的测试报告。
第七章 软件测试设计
一、软件质量特性:
1、功能性:适合性、准确性、互操作性、保密安全性、功能性依从性;
2、可靠性:成熟性、容错性、易恢复性、可靠性依从性;
3、易用性:易理解性、易学性、易操作性、吸引性、易用性依从性;
4、效率:时间特性、资源利用性、效率依从性;
5、可维护性:易分析性、易改变性、稳定性、易测试性、维护性依从性;
6、可移植性:适应性、易安装性、共存性、易替换性、可移植性依从性。
二、测试用例的概念:
- 测试时使用的例子,是为某个特定目标而开发的输入、执行条件、操作步骤及预期结果的集合。是开展测试执行活动的一个重要依据,是测试凭证文档支撑。
三、测试用例格式:
1、用例编号:A-B-C-D
- A:产品或项目名称,如CMS(内容管理系统)、CRM(客户关系管理系统);
- B:一般用来说明用例的属性,如ST(系统测试)、IT(集成测试)、UT(单元测试);
- C:测试需求标识,说明该用例针对的需求点,可包括测试项和测试子项,通常采用C-C1格式,C代表测试项,C1代表测试子项;
- D:数字性编号,一般为三位数。
例子:CRM-ST-客户管理-新增客户-001
2、测试项:测试用例对应的功能模块;
3、测试标题:对测试项或测试子项更详细的描述,且原则上标题不可重复;
4、用例属性:如功能、性能、可靠性、安全性、兼容性等;
5、重要级别:一般分为高中低三种,通常冒烟测试的级别为高,且高级别的测试用例一般就一个。
- 高:让其正常工作的功能(需求的核心功能);
- 中:更全面地验证功能各个方面,包括流程中各个节点出错的情况、异常、用户体验等;
- 低:界面、提示信息、易用性表述。
6、预置条件:执行该用例的先决条件,公用的、默认的预置条件可不写;
7、测试输入;
8、操作步骤(不必太繁琐);
9、预期结果:一个操作步骤对应一个预期结果,若有多个预期结果要一并写出;
10、实际结果。
四、等价类:
1、等价类概念:某类事物具有相同的属性或特性。
2、等价类分类:
1)有效等价类:针对被测对象需求规格说明而言,有意义、有效的测试输入集合;
2)无效等价类:针对被测对象需求规格说明而言,无意义、无效的测试输入集合。
3、等价类划分:
- 1)需求规格说明书中规定了取值范围或值个数时,可设立一个有效等价类和两个无效等价类。如字符长度在6~18位,有效等价类就是6~18,两个无效等价类就是1~5和>18。
- 2)需求规格说明书中规定了输入值的集合或规定了必须遵循某个规则时,可设立一个有效等价类和一个无效等价类。如姓名必须由汉字组成,有效等价类就是汉字,无效等价类就是非汉字。
- 3)输入条件是一个布尔值,可确定一个有效等价类和一个无效等价类。
- 4)需求规格说明书中规定输入数据是一组值,并且程序要对每一个输入值分别处理,则可确定若干个有效等价类和一个无效等价类。
- 5)需求规格说明书中规定输入数据必须遵守某些规则,则可确定一个有效等价类和若干个从不同角度违反规则的无效等价类。
4、测试用例设计步骤:
- 1)根据需求划分有效等价类和无效等价类,并且有效等价类统一编号,无效等价类统一编号。
- 2)设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直至所有有效等价类覆盖完全,互斥条件的有效等价类需单独覆盖。
- 3)设计一个新的测试用例,使其仅覆盖一个无效等价类,直至所有无效等价类完全覆盖。
五、边界值:
1、需要考虑的3个点:
- 1)上点:输入域边界上的点,闭区间则在域范围内,开区间则在域范围外;
- 2)离点:离上点最近的一个点,闭区间,离点在外,开区间,离点在内;
- 3)内点:域范围内任意一点。
2、设计思路:
- 1)需求规格说明了取值范围,或是规定了值的个数,以该范围的边界内及边界附近的值作为测试用例;
- 2)需求规格说明了值的个数,取比最大个数多一,比最小个数小一的数为测试用例;
- 3)需求规格说明中提到的输入和输出是一个有序集合,则注意选取有序集合的第一个和最后一个元素作为测试用例;
- 4)若程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
3、设计步骤:
- 1)为每一个等价类的上点、离点、内点设定唯一编号,上点、内点统一编号,离点统一编号。
- 2)设计一个新的测试用例,使其尽可能覆盖所有尚未覆盖的有效等价类,直至所有有效等价类覆盖完全,互斥条件的有效等价类需单独覆盖。
- 3)设计一个新的测试用例,使其仅覆盖一个无效等价类,直至所有无效等价类完全覆盖。
测试项 | 测试点 | 需求规格 | 有效等价类 | 测试数据 | 编号 | 无效等价类 | 测试数据 | 编号 |
---|
六、判定表
1、判定表设计法的概念:在遇到复杂业务逻辑关系和多种条件组合情况时用。
- 条件桩:需求规格定义被测对象的所有输入;
- 条件项:针对条件桩可能输入的真假值;
- 动作桩:针对条件被测对象可能采取的所有操作;
- 动作项:针对动作桩,被测对象响应的可能结果取值;
- 规则:动作项与条件项组合在一起。
2、设计步骤:
1)定义条件桩和动作桩;
2)优化判定表;
3)填写动作项;
4)简化判定表;
5)抽取规则。
- 注意:加入一个需求有n条,每个条件有m个取值,则产生m的n次方个规则。一般小等于8条规则时,尽量不合并。
七、因果图
1、概念:又叫鱼骨图,适合较为复杂的约束关系,将Cause(原因)和Effect(影响)的对应关系分为2组4类。
2、输入与输出:主要有恒等、非、与、或四种关系:
-
1)恒等:输入条件产生则一定产生对应的输出;输入条件补偿则一定不会产生对应的输出
-
2)非:与恒等关系相反(产生错误的输出就是非)
3)与:多个条件输入,要所有输入项发生才会产生对应的输出
4)或:多个条件输入,只要有一个发生,就会产生对应的输出
3、输入与输入:异、或、唯一、要求四种关系
1)异(互斥):所有输入条件中至多有一个输入条件发生,可以一个条件都不发生
2)或:所有输入条件中至少有一个发生,也可以多个条件共存
3)唯一:所有输入中有且仅有一个输入条件发生,永远只能选择最初的条件(如性别)
4)要求:所有输入中只要有一个条件发生,则其他输入也会发生,相当于充分条件
4、因果图步骤:
1)分析需求,提取条件和动作;
2)分析条件与条件,条件与动作的关系;
3)通过关系图画出因果图;
4)将因果图转换为判定表;
5)根据判定表编写用例。
5、因果图与判定表的区别:
1)判定表:分析条件桩与动作桩,全组合获取条件项;
2)因果图:分析因和果,考虑条件与条件、条件与结果之间的关系,再列判定表。
八、正交实验
1、概念:一种多条件多输入的用例设计方法,把所有参与试验、影响试验结果的条件成为因子,影响试验因子的取值或输入成为水平。
2、特性:整齐可比、均匀分散
3、所遇情况:
- 1)测试输入参数个数及取值与正交实验表的因子数刚好符合;
- 2)测试输入参数个数与正交实验表的因子数不符合:选择正交表中因子数大于输入参数的正交表;
- 3)测试数据参数取值个数与正交实验的水平数不符合:选择正交表中因子及水平均大于输入参数且总实验次数最少的正交表,多余的因子抛弃不用。根据实际情况拆分组合。
九、状态迁移
1、步骤:
- 1)根据需求提取状态节点;
- 2)绘制状态迁移图;
- 3)绘制状态迁移树;
- 4)抽取测试路径设计用例。
十、场景分析法(流程分析)
1、业务流分类:
- 1)基本流:输入经过每一个正确的流程运转最终达到预期结果;
- 2)备选流:输入经过每一个流程运转时可能产生异常情况,但经过纠正后仍能达到预期结果;
- 3)异常流:输入经过每一个流程运转时,产生异常终止的现象。
2、步骤:
- 1)理解需求,确定业务规划(基本流、备选流、异常流);
- 2)绘制流程图,再次明确流程路径;
- 3)根据业务流程图,抽取测试路径,每条路径必须包含没有走过的路径;
- 4)细化路径设计测试用例。
十一、测试用例设计注意点
1、状态迁移、场景设计不校验单个功能节点的正确性;
2、需用等价类边界值、判定表、因果图、正交实验等方法来验证单个功能节点的正确性;
- 所有方法都有特定的功能,单等价类边界值需每个场景都用上。