测试基础

198 阅读2分钟

皮卡皮卡1.jpg

软件=程序+数据+文档

狭义测试:程序写完后的一个阶段
广义测试:贯穿软件开发的整个生命周期。

软件测试的目的:

  1. 发现BUG
  2. 及时、高质量的交付
  3. 持续改进

测试的原则

  1. 测试应该及早的介入
  2. 穷尽测试用例是不可能的
  3. 缺陷集群效应,80%的缺陷集中在20%的地方
  4. 测试无法显示潜伏的软件缺陷
  5. 杀虫剂效应(不断执行同样的用例,发现缺陷的能力越来越差)

软件测试基本过程

  1. 需求分析
  2. 测试计划
  3. 测试分析和设计
  4. 测试实现和执行
  5. 测试评估和报告
  6. 测试结束工作

测试模型:

  1. 瀑布模型:比较老的模型,阶段性强,不够灵活,测试在最后面,没有起到规避风险的作用
  2. V模型:测试更具有层次性,但是测试还是在最后面,没有解决瀑布模型的缺点
  3. W模型:测试活动贯穿软件开发的生命周期,解决了前面两个模型测试在最后的缺点,但是阶段性划分太强,不够灵活
  4. 敏捷开发模型:持续测试,持续集成,但是对每个用户故事测试完之后还要集成到一块进行测试,较为繁琐。

敏捷开发宣言

  1. 个体和互动高于工具和流程
  2. 好用的软件高于详尽的文档
  3. 客户合作高于合同谈判
  4. 响应变化高于遵循计划

黑盒测试方法

  1. 等价类
  2. 边界值
  3. 分类树
  4. 判定表
  5. 因果图
  6. 场景法

白盒测试

1、语句覆盖(执行的路径最少) 2、判定覆盖 3、条件覆盖 4、判定/条件覆盖 5、条件组合覆盖 6、路径覆盖