软件测试基础

软件测试的定义

在规定的条件下对程序进程操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程

软件测试原则

  1. 测试能证明软件存在缺陷,不能证明软件不存在缺陷
  2. 不能进行穷举(一个个的把所有可能性都列举)测试
  3. 测试工作要尽早介入
  4. 缺陷存在集群现象(二八原则,20%的模块存在着%80的缺陷)
  5. 某些测试依赖测试环境(系统或浏览器)
  6. 杀虫剂现象
  7. 不存在缺陷谬论(软件一定会存在缺陷)

什么是测试

  • 通俗来讲,程序测试就是,运行程序,并发现程序的错误
  • 专业来讲就是,验证软件的正确性,完整性,安全性和质量的过程。
  • 用程序员的话说就是找bug。
  • 软件测试是一个过程

为什么不让开发自已做测试

  • 思维定式
  • 测试力度
  • 关注度

测试的分类

按开发阶段划分

  • 单元测试:测试最小的程序模块(针对单个功能进行测试)
  • 集成测试:组装测试,通常在单元测试的基础上,单独的模块合在一起测试
  • 系统测试:指的是将整个软件系统看为一个整体进行测试
    • 软件测试
    • 硬件测试
  • 验收测试:用户检验产品是否满足自己预期

按是否查看代码划分

  • 黑盒测试:关注业务逻辑,输入内容与输出结果之间
  • 白盒测试:去研究里面的源代码和程序结构(代码内部实现逻辑)
  • 灰盒测试:黑白之间的状态
    • 测试关注点
      • 输入
        • 输出
        • 代码逻辑

按是否运行划分

  • 静态测试:指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程。
  • 动态测试: 是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

按测试对象划分

  • 性能测试
  • 安全测试
  • 兼容性测试
  • 文档测试
  • 用户体验测试
  • 业务测试
  • 界面测试
  • 安装测试
  • 内存泄漏测试

按测试实施的组织

  • α测试:Alpha 是内测版本,通常只在软件开发者内部交流,或忠实的粉丝之间发布,该版本软件的bug较多,普通用户最好不要安装
  • β测试:Beta是公测版本,是对所有用户开放的测试版本,免费发布,因为里面还会有一些bug的存在
  • γ测试:Gamma版本就是正式版的候选版本
  • 负责人(甲乙方):
    + 甲方负责
    + 乙方协助(在甲方的授权及信任基础上)
    + 第三方评测机构

按是否手工执行划分

  • 手工测试:测试人员手动去进行的测试
  • 自动化测试:利用代码或者工具帮助人工进行测试

测试策略

  • 冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
  • 回归测试:当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
  • 随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分
  • 探索性测试:探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值