软件测试基本理论

一、软件测试基本原则

  1. 测试应基于客户需求,需求描述、功能实现、测试用例、测试结果都需保持一致
  2. 测试要尽早进行,越早发现问题,成本越低
  3. 穷尽的测试是不可能的
  4. 遵循good enough原则,成本、风险和收益间的平衡
  5. 测试缺陷符合“二八”定理,有bug的问题可能问题更多
  6. 避免缺陷免疫,即惯性思维或想当然,可采取交叉测试
  7. 手工测试应与自动化相结合,相辅相成。自动化测试可以提升测试效率、可靠性,手工测试扩散性较强。
  8. 缺陷管理、用例管理、AAR、分享总结等

二、测试分类

  1. 开发阶段:单元、集成、系统(冒烟、回归)、验收
  2. 测试试试组织:a(用户在开发环境测试)、b(用户在客户场所测试)、第三方
  3. 是否执行代码:静态(pclint、pylint、checkstyle、source monitor、simian等)、动态(coverage、api test等)
  4. 是否查看代码:黑盒(fuzz等)、灰盒、白盒
  5. 测试执行方式:手工、自动化
  6. 测试地域:本地化、国际化
  7. 测试对象:性能、安全、兼容性、文档、易用性、业务、界面、安装卸载升级、容错、内存等

三、产生缺陷的原因

  1. 软件实现计划不合理
  2. 需求澄清、反串讲、设计和实现人员等各角色间沟通偏差
  3. 知识盲区
  4. 软件的规模、复杂程度、既有代码本身的可维护性等
  5. 对需求的认知范围,如易用性、性能、安全、异常等被忽略
  6. 流程不熟悉或未按照流程开发,如修改点未只会测试等

四、缺陷管理

  1. 问题分类,按影响程度一般分为提示、一般、严重、致命。低一级问题较多可提升严重级别。高级别将为低级别时需要相关同事评审讨论。问题越严重,处理优先级越高。
  2. 缺陷发现阶段和应发现阶段,设计、编码、单元、集成、系统、Beta等;属于当前版本还是历史版本。
  3. 缺陷引入类型,历史版本、当前功能,修改引入
  4. 缺陷发现方式,手工发现、自动化发现
  5. 缺陷管理工具,禅道、
  6. 缺陷分析学习,AAR等

五、用例管理

  1. B版本特性用例,归档至B版本,和特性强绑定
  2. C版本基线用例,归档至C版本,和C版本最终功能强绑定
  3. 用例级别,冒烟、全量、兼容性等,根据用例规模量、划分不同的用例类型在不同的时间点执行
  4. 用例执行类型,手工、自动化
  5. 用例的可读性、可执行性、测试数据的管理及与版本的映射关系

五、测试过程中常见问题

  1. 测试中,环境被修改或者环境可能不干净(比如与开发公用环境)导致测试结果不可信
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值