【博学谷学习记录】超强总结,用心分享| 功能测试总结(1)

124 阅读7分钟

一. 测试概念

1.软件测试分类(复习)

I. 按阶段划分

            单元测试
测试:针对单个功能进行测试,如:登录、购物车等
开发(更多的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
            集成测试
组装测试
            系统测试
针对系统进行整体性测试
软件功能
硬件功能
            验收测试
(用户检验产品是否满足自己预期)
α测试:bug比较多、内测版本
β测试:bug相对比较少、公测版本
γ测试:候选发布版本
负责人(甲乙方):
甲方负责
乙方协助(在甲方的授权及信任基础上)
第三方评测机构

II. 按是否覆盖源代码划分

黑盒测试:输入和输出
白盒测试:代码内部实现逻辑
灰盒测试:测试关注点 输入( 输出 代码逻辑)

III. 按是否运行划分

静态测试:不运行被测试程序
测试对象:文档-代码
动态测试:运行测试程序
测试对象:运行中的程序

VI. 按是否自动化划分

手工测试(功能测试)
自动化测试:通过工具或代码代替人进行测试的过程

V. 更多

                        冒烟测试
开发提交测试版本的接收性测试
测试点:
最基本功能,如用户正常登陆
最核心的业务流程,如电商购买商品全过程
                        回归测试
测试点:
bug回归
旧功能回归
                        随机测试
                        探索测试

2. 软件开发流程(软件生命周期)

I.瀑布模型(了解)

- 组成:需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
- 特点:线性模型  文档驱动
- 优点:只需要关注当前进行的阶段
- 缺点:不响应需求变化
- 典型应用场景:需求清晰的大型项目,如银行、保险、建筑等

3. 软件测试流程

I. V模型(了解)

- 组成:需求分析==》概要设计==》详细设计==》编码==》单元测试==》集成测试==》系统测试==》验收测试
- 优点:只需要关注当前阶段、文档驱动、线性模型
- 缺点:不响应需求的变化、不灵活

II. W模型(了解)——双V模型

- 绘制:
    开发V:需求分析==》概要设计==》详细设计==》编码==》集成==》实施==》交付
    测试V:验收测试设计==》系统测试设计==》集成测试设计==》单元测试设计==》单元测试==》集成测试==》系统测试==》验收测试
- 优点:测试贯穿软件开发的全生命周期;早参与、早发现、早解决
- 缺点:技术和管理要求比较高

4. 软件质量模型(了解)

- 功能性:检查业务功能是否满足需求
- 可靠性:容错能力(恢复正常的时间、能力)
- 易用性:看的懂、会使用等
- 效率性:性能(响应时间、消耗的资源(CPU、内存)等)
- 维护性:为后续功能的开发与维护提供便利
- 移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作

5.软件测试用例(重点)

I. 软件测试用例概念

    概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等。

II. 测试用例组成要素与用例模板

    - ID:唯一性 项目-模块-001
    - 模块
    - 优先级:作用:体现用例执行的先后顺序;分类:高 中 低
    - 用例标题:唯一性 见名知意
    - 预置条件
    - 测试步骤:尽可能详细
    - 测试数据
    - 预期结果

III. 软件测试用例的作用(了解)

-   便于理清测试思路,确保需覆盖测试的功能点无遗漏
-   便于测试工作量的评估
-   便于提前准备测试数据
-   便于把控测试工作进度
-   便于回归测试
-   便于测试工作的组织,提高测试效率,降低测试交接成本

二.软件测试设计方法

1. 等价类划分法

- 概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放(大大减少了测试用例的数量,从而提升测试效率。)代表性的测试输入集
- 分类
        有效等价类:满足需求
        无效等价类:不满足需求
- 设计测试用例的步骤
        需求分析
        划分等价类
                有效
                无效:规则(需求本身);长度;类型;是否为空(必填项);是否重复
        设计用例
- 典型应用场景:具有典型输入框的场景
- 作用:从穷举测试中解放出来,找到具有共同特性的测试输入子集。

2. 边界值

- 作用:对等价类的补充,统计表明程序最容易出错的地方就是在边界附近。
- 概念:基于边界值【有效等价类和无效等价类的分界点】设计测试用例的一种【黑盒】方法
- 边界值
            上点:边界之上的点
            内点:边界之内的点
            离点:离边界最近的左右两点
- 设计测试用例步骤
            需求分析
            划分等价类
            确定边界:上点;内点;离点
            设计测试用例
- 典型应用场景:存在边界 > >= < <= 大于 小于等于
- 结论:
            上点:必选(不考虑区间开闭)
            内点:必选(建议选择中间范围)
            离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)

3. 判定表

- 概念:存在多个输入条件、多个输出结果,输入和输入之间有组合关系,输入和输出之间有依赖或制约关系。
- 判定表组成:
        条件桩:所有输入条件,如欠费状态、关机状态
        动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫
        条件项:单个条件的取值范围,一般都是有效等价类和无效等价类
               表示方式
                    字符:
                            真/有效等价类/Y
                            假/无效等价类/N
                    数字:
                            真/有效等价类/1
                            假/无效等价类/0
        动作项:基于每一种条件的组合,得到确认的结果,如打不通等
- 设计测试用例的步骤
        明确条件桩(找到所有的输入条件)
        明确动作桩(找到所有的输出结果)
        对条件桩进行全组合
        明确每个组合对应的动作桩(基于每一种条件的组合情况,确定本组合下的输出结果。)
        设计测试用例,每行数据对应一条测试用例
- 使用场景:多条件组合情况

4. 因果图

- 概念:用图解的方法表示输入的各组合关系,写出判定表,进而设计测试用例的一种【黑盒测试】方法。
- 适用范围:适用于分析程序输入条件的各种组合情况,以及输入和输出之间的依赖关系。
- 核心
        因:条件
        果:结果
- 基本符号(掌握)
        恒等(-):条件成立,结果成立。
        非(~)NOT:条件成立,结果不成立;条件不成立,结果成立。
        或(V)OR:只要有一个条件成立,结果就成立;所有条件都不成立时,结果才不成立。
        与/且(^)AND:多个条件必须同时成立,结果成立;只要有一个不成立,结果就不成立。
- 设计测试用例的步骤
        需求分析
        画出因果图
        将因果图转换为判定表
        生成测试用例
- 小结
        输入条件比较少(2,3,4),推荐直接使用判定表。
        输入条件比较多(>4),推荐使用因果图。

5. 正交法

- 核心思想:用最小的测试用例获得最大的测试覆盖率。
- 正交表
    说明
        k代表因素(输入参数)
        m叫水平(输入参数的取值)
        n代表测试用例数
        读法:k因素m水平
- 基于正交表设计测试用例
     步骤
        需求分析
        确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
        确定要采用的正交表
        将正交表中的字母用文字代替
        设计测试用例(一行就是一条测试用例)
- 基于allpairs设计测试用例
    步骤
        需求分析
        确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
        将确定的因素与水平复制到txt文件中
        打开DOS窗口,进入allpairs目录,运行命令:allpairs.exe test.txt > result.txt
        根据生成的新文件编写测试用例(一行就是一条测试用例)

6. 场景法(流程图法)

- 概念:场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况。
- 使用测试阶段
            集成测试
            系统测试
            验收测试
- 设计测试用例的步骤
            需求分析
            绘制流程图
            设计测试用例(一条流程路径就是一条测试用例)
- 流程图常用符号
            开始或结束:椭圆
            方向或路径:箭头
            处理或操作:长方形
            判断:菱形
            输入或输出:平行四边形
- 绘制流程图
            第1步:确认场景中关键业务步骤
            第2步:确定业务之间的先后顺序
            第3步:用箭头连接即可
- 绘制工具
            Microsoft Visio

7. 错误推测法

- 概念:利用经验或智慧发现程序中可能犯错的地方。
- 使用场景
        重要功能
        使用同类型产品
        任务急、时间紧、资源少

8. 测试用例设计方法总结

     具有输入功能,但输入之间没有组合关系==》【等价类】
     输入有边界 如长度、类型==》【边界值】
     多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖或制约关系==》【判定表、因果图】
     用最少的测试用例获得最大测试覆盖率时 ==》【正交法】
     多个功能的组合测试 ==> 【场景法、流程图】
     最后推荐使用【错误推测法】来进一步补充测试用例