测试概念

一、测试原则:

  • 尽早测试、所有测试基于满足用户需求
  • 制定测试计划、搭建测试环境
  • 根据功能优先级来安排测试工作
  • 考虑风险:不能按进度完成和执行测试计划的任何事件、行为和环境
  • 测试用例必须有测试数据和预期结果,且严格执行测试用例
  • 测试用例需覆盖合理的输入条件和不合理的输入条件
  • 注意测试群体现象(某个模块测试缺陷越多,隐藏的缺陷也可能越多)
  • 对每个测试结果做全面检查
  • 保存测试文档,做迭代测试
  • 软件测试对象:软件开发过程中产生的所有文档和源程序

二、测试目的:

  • 测试的目的就是发现软件中的各种缺陷
  • 测试只能证明软件存在缺陷,不能证明软件不存在缺陷
  • 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
  • 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量

三、功能需求分析

  • 需求分析:业务需求、用户体验、功能需求,参考:需求说明书、原型图
  • 验证需求正确性:是否正确的完成了用户的真实需求  
  • 验证需求完整性:保证需求中没有遗漏任何必须的元素
  • 模糊的需求明确化,不易明确化的需求可以划分为若干个可以明确的小需求。
  • 需求文档变更及时通知:需求要形成文档,发生变更时需通知到所有成员

四、非功能性需求:性能、安全、可用性、兼容性、可访问性 

  • 一致性:是否有互相矛盾、歧义的地方。
  • 可测性:是否可以测试,有准确的预期输入和结果,否则需要提醒相关风险。
  • 可行性:需求可以在有效的资源内被完成。比如:预算、进度、技术。
  • 必要性:确认需求是否为必须,如果去除是否有任何问题。
  • 优先级:为每个需求确定其优先级,便于后期在必要时对需求进行取舍。
  • 明确性:需求的陈述需要精确且可测量。比如:性能指标不能以很快来描述。
  • 可追溯性:明确需求被哪些功能模块所调用。保证变更需求时可以追溯影响的范围。

五、有效的测试数据:测试数据的设计必须使得每个系统级的需求都能得到测试和验证

  • 确定所需要的数据规模(10条还是10000条)
  • 区分不同需求对测试数据特点的要求
  • 确保测试数据完整性,不仅验证需求点本身,还能验证特殊场景和出错场景
  • 测试执行期间数据完整性、独立性
  • 条件:模拟的测试数据只要满足需求验证要求,不一定从头开始造很全的数据。

六、测试用例:在有效的时间内为每个需求设计尽可能的测试过程,必要时可按优先级顺序完成

  • 测试用例组成:用例id、前置条件、测试方法构建的实际输入、期望输出、实际输出、其它
  • 用例编号、测试项目、测试标题、重要级别、预置条件、测试输入、操作步骤、预期输出
  • 用例评审:发现不足、改进用例、提高测试质量
  • 用例维护:需求变更、补充完善、测试用例数量大
  • 设计测试用例:对各个功能模块或UI界面进行测试点分析提取测试点

七、测试方法:构造测试用例的方法

功能测试用例(黑盒测试):参考文档是需求说明书

优点:软件开发方法改变,用例依旧有效;开发与测试并行,缩短测试周期。

缺点:用例冗余、测试不足(无法发现程序实现了未规定行为)

1、等价类划分:密码规定为6-16位英文字母或数字及下划线

分为四类:小于6位、大于16位数、6-16位数不符合字母数字下划线(无效类等价)、6-16位数且符合英文数字下划线(有效类等价)

2、边界值分析法:年龄20-35岁  19 20 21  34 35 36  (选取正好等于,刚刚大于或刚刚小于边界的值、不仅考虑输入条件,同样也要考虑输出产生的测试情况)

3、 场景法:

4、 流程图

基本流:登录在线购物网站,选择物品、登录账号、付钱交易、生成订购单

备用流:账号不存在。账号或密码错误、用户账号余额不足、用户账号没有钱、用户退出系统

场景:成功购物、账号不存在、账号或密码错误(返回基本流登录账号)、余额不足(提示约不足请充值)、账号没钱(提示余额为0请充值)

八、软件缺陷

  • 未达到产品说明书标明的功能
  • 出现产品说明书标明不会出现的问题
  • 产品说明书未明确指出,但应实现的目标未实现
  • 软件功能超出了指定的范围
  • 不易使用、效果不佳
  • 缺陷特征:不易发现,不易重现
  • 产生原因:需求要求、设计缺陷、代码错误、其它

软件生命周期:制定计划、需求分析、软件设计、编码、软件测试、软件维护、软件停用

九、测试结束标准

  • 超过测试时间
  • 执行完测试用例,缺陷全部解决(严重、主要、次要、一般、较小错误和测试建议)
  • 严重错误和主要错误的缺陷修复率必须达到100%、3.4级80%、56级60%
  • 系统通过验收测试,满足需求规格说明书的要求(测试用例执行覆盖率应达到100%,测试需求覆盖率应达到100%)
  • 查出某一预订数目的故障,即Bug过多,需开发完再执行测试

十、测试三个阶段

  • 初测期,功能测试,主要功能和关键路径
  • 细测期,系统测试(功能、界面、兼容性、可用性、性能)----通过后功能冻结
  • 回归测试与验收测试,复查所有bug修复情况-----通过后代码冻结

十一、测试工具作用

  • 提高测试质量
  • 减少重复工作
  • 实现测试自动化

十二、测试类型

黑盒测试:针对软件的功能需求进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构,基于需求文档。

白盒测试:必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行,基于源程序。

性能测试:模拟10到50个用户同时测试

压力测试/负载测试:用户增加到1000乃至上万 

强度测试:50到100用户同时对系统进行大量的数据查询操作 

单元测试 

集成测试

系统测试

动态测试

静态测试

posted @ 2019-10-09 14:46  蜕变1  阅读(339)  评论(0编辑  收藏  举报