测试基础方法和覆盖率

软件生命周期、测试方法和覆盖率

一、测试基础

  1. 什么是软件测试

    IEEE在1983年将软件测试定义为:使用人工或自动化的方法运行某个系统或软件,检测被测试对象是否满足需求规格,或者弄清预期结果和实际结果的区别。

  2. 软件测试主要目的

    人们对于测试目的的认识在不断变化

    • 证明软件可以工作
    • 发现软件中的缺陷
    • 预防软件中缺陷的发生
  3. 测试工程师的主要工作

    • 代码和文档的检查
    • 进行测试的设计,编写测试的文档:测试计划,测试方案,测试用例
    • 测试执行的工作,提交缺陷报告,并进行跟踪
    • 对于软件质量进行评估,提交测试报告

二、软件的生命周期

  1. 瀑布模型
    在这里插入图片描述

    • 项目需求(计划阶段):确定软件研发的目标、给出初步设想、可行性研究和成本评估
    • 需求分析:对于软件的规格进行详细的定义-《软件需求规格说明书》
    • 概要设计:设计软件整体体系结构-《概要设计文档》
    • 详细设计:对软件中每个模块的工作的详细定义,形成流程图,伪代码,《详细设计文档》
    • 开发:使用计算机编程语言等技术,将设计转化为软件编码
    • 测试:检验软件是否符合需求规格,单元测试->集成测试->系统测试
    • 验收:软件交付给客户
    • 运行和维护:对于软件进行修改和升级
  2. 组织架构

    • 项目管理:项目经理PM
    • 软件开发:开发经理、需求人员、设计人员、软件开发工程师
    • 软件测试:测试经理、测试组长、测试工程师
    • 配置管理:版本管理和软件资产的管理
    • 运维人员:负责软件的运行环境

三、测试方法

A关注软件信息不同

  1. 白盒测试

    • 概念:依据软件的内部构造(内部信息)来设计测试,对于软件内部流程控制进行测试

    • 特点:测试中不关注软件整体需求规格

    • 方法

      逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

      程序插桩:在被测试程序中插入操作,实现测试的目的。例如插入打印语句。

  2. 黑盒测试

    • 概念:将被测试对象看成是不透明的盒子,对整体规格进行测试。测试对象可以是完整的系统,也可以是子系统,模块,单元,函数。

    • 特点:主关注整体规格,不关注内部规格。

    • 测试类型:功能测试、性能测试、安全性测试、破坏性测试。

    • 方法

      黑盒测试用例的设计方法:等价类划分、边界值分析、判定表法、因果图法、流程分析法

      设计方法特点:既能覆盖所有情况,又减少测试用例的数量

  3. 灰盒测试

    • 概念:介于黑盒与白盒之间,既利用整体规格信息,又利用内部实现信息进行的测试。

B是否运行软件

  1. 静态测试

    • 概念:不运行软件,而使用其他方法进行的测试
    • 方法:对于文档和代码进行检查,并提及意见,以及修改内容
  2. 动态测试

    • 概念:按设计好的步骤,运行被测试软件,验证软件实现与需求、设计是否一致
    • 方法:常见的黑盒测试类型一般都属于动态测试

C测试执行者的不同

  1. 人工测试

    • 概念:测试活动有人来进行
    • 优点:能发现更多的问题和缺陷
  2. 自动化测试

    • 概念:是指计算机模拟人的行为,来进行测试的活动

    • 优点:执行效率高、可以执行人工难以完成的工作

四、测试覆盖率

  1. 概念

    覆盖率是衡量测试完整性的手段

    通用公式:覆盖率=至少被执行1次的项的数量/项的总数

    根据不同的统计维度分类:白盒覆盖、黑盒覆盖、灰盒覆盖

  2. 白盒覆盖率:主要是指代码逻辑的覆盖

    • 语句覆盖率

      统计公式:语句覆盖率 =至少被执行1次的语句的数量/语句的总数

      什么是语句:目前没有统一的概念,可以进行约定,代码中的分号结尾的算作语句。

    • 判定覆盖率

      统计公式:判定覆盖率=至少被执行1次的判定结果的数量/判定结果的总数

      什么是判定的结果:if关键字后括号中的表达式

    • 条件覆盖率

      统计公式:条件覆盖率=至少被执行1次的条件结果的数量/条件结果的总数

      什么是条件:判定是由多个条件组成的,使用逻辑运算符连接

    • 判断-条件覆盖率

      统计公式:判定-条件覆盖率=(至少执行1次的判定结果数+条件结果数)/(判定结果总数+条件结果总数)

      什么是判断-条件:条件覆盖加上判定覆盖

    • 条件组合覆盖率

      什么是条件组合:判定中条件的结果的排列组合

    • 路径覆盖率

      统计公式:路径覆盖率=至少被执行1次的路径的数量/路径的总数

      什么是路径:程序执行的路径

  3. 灰盒覆盖率

    • 接口覆盖率=测试到的接口的数量/程序中接口总数
    • 函数覆盖率=测试到的函数的数量/程序中函数总数
  4. 黑盒覆盖率

    • 概念:系统测试中一般是测试用例对于需求进行覆盖
    • 统计公式:黑盒覆盖率=测试到的需求的数量/需求的总数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值