软件测试之测试策略与测试用例设计

软件测试策略

1.测试分类

软件测试对象:程序+数据+文档

  • 软件测试阶段分类:单元测试-集成测试-系统测试-验收测试

  • 软件测试实施组织分类:开发方测试、用户测试、第三方测试
    测试方法

  • 按是否关注内部逻辑分类:白盒测试、黑盒测试、灰盒测试
    在这里插入图片描述

  • 按测试执行方式分类:静态测试、动态测试。

2.测试阶段介绍

功能、性能、兼容、安全

  1. 回归测试:每当软件发生变化时,就必须重新测试原有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。

  2. 系统测试:看图,制订测试计划-设计测试用例-执行系统测试用例-缺陷回归测试直到测试用例全部通过。
    在这里插入图片描述

  3. 功能测试:验证和确认软件系统的各项功能是否确定,并满足需求规格说明书的所有要求。包含正向和逆向的测试,验证软件的正确性、完整性、满足用户的显性和隐形需求、功能是否冗余。

  4. 性能测试:性能测试主要检验软件是否达到需求规格说明书中规定的各类性能指标,并满足一些性能相关的约束和限制条件。
    性能测试

  5. 兼容性测试:检查软件之间是否能够正确地进行交互和共享信息。主要在不同操作系统、客户端、浏览器、硬件型号测试软件。

  6. 安全性测试:检查系统对非法侵入地防范能力,其目的是为了发现软件系统中是否存在安全漏洞。

3.软件质量标准定义

软件质量标准定义(ISO9126定义),应该从这些方面去检测软件.

  • 软件质量是指软件产品满足 明确或隐含需求 的能力相关的特征和特性总和
    质量定义

4.质量管理体系CMMI

Capability Maturity Model lntegration
能力成熟度模型集成(也有称为:软件能力成熟度集成模型)
CMMI认证一共有5个级别,CMMI1级,初始级;CMMI2级,管理级;CMMI3级,定义级;CMMI4级,量化管理级;CMMI5级,优化级。
作用:主要用于指导软件开发过程的改进和进行软件开发能力的评估。
开发和应用CMMl的主要原因有三点:一是软件项目的复杂性的快速增长使过程改进的难度增大,二是软件工程的并行与多学科组合,三是实现过程改进的最佳效益。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.测试用例

  • 所谓测试用例就是软件测试的行为活动,做一个科学化的组织归纳。
  • 软件测试是有组织性、步骤性、和计划性的。
  • 设计测试用例的目的,是为了能将软件测试的行为转换成可管理的模式。
  • 优点
    1. 提高测试效率,避免盲目测试;
    2. 使测试实施重点突出,目的明确。
    3. 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周期

6.测试用例设计方法

6.1黑盒测试用例设计方法

等价类划分:
  • 有效等价类和无效等价类

    • 有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能
    • 无效等价类:与有效等价类定义恰巧相反
  • 设计遵循原则:

    • 有效等价类:尽量用一条测试用例覆盖完
    • 无效等价类:一条测试用例只能含有一个无效等价类
边界值法
  • 多数用于设计输入框测试用例,测试边界
    边界条件是基于应用程序的功能设计而需要考虑的因素,在用例设计过程中,某些边界值条件不需要呈现给用户,但是确实属于检验范畴的边界条件,称之为内部边界值或子边界条件。
    实际使用需要结合需求或程序定义得到边界条件来设计有效的测试用例。
判定表法

适用于有多个输入,多个输出的条件
输入与输出之间有约束和因果关系

  1. 分析需求,把所有的条件和条件的取值列出来,然后列出所有动作和动作的取值(条件)
  2. 动作
  3. 结果
    在这里插入图片描述
  • ATM案例参考
    在这里插入图片描述
场景法
  • 事件流:软件基本都是通过事件(如点击、滑动、时间到点等)来驱动的,事件触发时的上下文。(情景)便成为场景。同一事件通过不同的触发顺序就形成了事件流。
  • 基本流:软件功能按照最短的事件流实现的一条正确流程,那么我们就把这个流程称为软件的基本流。
  • 备选流:凡是出现异常或缺陷或其他原因导致最终的目的不能实现或实现的流程并非最短,那么该流程就叫做备选流。
  • 例:
    在这里插入图片描述
状态迁移
  • 关注被测对象的状态变化,在需求规格说明书中是否有不可达到的状态和非法状态,是否产生非法的状态转移
  • 状态,即被测对象在特定输入条件下所保持的相应形势
  • 流程
    1. 根据需求明确状态节点
    2. 绘制状态迁移图
    3. 绘制状态迁移树
    4. 抽取测试用例
      在这里插入图片描述
因果图法

因果图关系
在这里插入图片描述
在这里插入图片描述
E异约束:有多个条件但只能选择一个为真(00,01,10没有11)
I或约束:有多个条件满足一个就为真,可以同时为真,至少有一个为真(01,10,11,没有00)
O唯一:有且只有一个为真(10,01,没有11,00)
R要求:a确定时b必须为确定a不确定时b也不固定(00,11,01,没有10)
M强制:如果结果a为1,强制结果b固定(为1或者为0)

  • 因果图设计测试用例的步骤
    在这里插入图片描述
正交实验法

正交试验法是研究多因素、多水平(特点最少用例覆盖最多范围)的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验。可用python脚本自动生成。

  • 案例参考
    在这里插入图片描述

7.测试用例设计流程

学习了用例设计方法后,就可以开始设计用例了,一般设计用例的流程如下:

  1. 使用基本流(场景图)法设计程序主流程的测试用例
  2. 使用等价类、边界值法设计程序细节相关测试用例
  3. 使用判断表、因果图设计程序条件组合相关测试用例

8.测试计划

考虑测试需要做什么?

  • 为什么要写测试计划:根据测试计划做宏观调控,进行相应资源配置等;测试人员能够了解整个项目测试情况即不同测试阶段的工作;方便其他人员配合测试工作
  • 什么时候编写测试计划?
    需求分析后,在项目测试过程中,不断修改。
  • 主要包含三要素:时间、范围、资源(人员)
    即明确测试的时间,测试的目标,测试的范围,测试人员分配
  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值