下面是常见的各种测试技术:
测试技术
1. 测试用例设计方法
- 测试需要被设计,需要预见用户的需要和期望,决定做哪些测试以及怎么做?
- 使用测试模式:如边界值分析、等价类划分方法等,建议通过测试模式模板进行沟通,模板包括名称、问题、分析、设计、预言
- 根据历史数据、复杂度、商业目标、一致性和服从性来预估测试时间和工作量
2. 探索式测试
探索式测试,即测试与设计测试同时进行,对整体测试设计非常有利。运行这个程序与问问题是非常好的方式。
2.1 制定测试策略
- 提供项目介绍和愿景
- 制定测试需求文档和其他
- 产品的关键测试场景
- 测试方法:手工或者自动化,工具描述,用例管理方式,缺陷跟踪方式等
- 可交付的标准:测试结果、代码覆盖率、规格说明完成状态、缺陷比例和趋势、使用场景的性能测试结果
2.2 考虑可测试性
即软件可以被完全有效测试的程度;需要在产品的各个级别上都考虑到
2.3 好数据和坏数据的使用
2.4 其余因素
- 进度、资源、产品质量、产品范畴、用户基数、测试团队等都需要综合考虑,决定测试范围、优先级、测试方法和用例设计方式
- 对被测对象的了解程度:黑盒、白盒、灰盒
- 探索式测试、自动化测试、结对测试等多种手段
3. 功能测试技术
- 等价类划分 ECP:是其他软件测试技术的基础
- 边界值分析 BVA:最著名的功能性测试技术
- 组合分析:MS 普遍使用的功能性测试技术
- 结构测试技术:针对代码的,验证程序结构的测试技术
- 块测试:执行成组的连续语句,一般不包含分支或者函数调用的语句块,比较简单,适用于单元测试
- 判定测试:针对 if/else 循环等语句进行测试,对控制流提供更好的敏感度
- 条件测试:对布尔语句中的 and、or 等进行测试
- 基础路径测试
- 用代码复杂度分析风险
- 基于模型的测试
- 采用模型测试
- 设计模型
- 模型化软件
- 建立有限状态模型
- 模型自动化