软件测试
- 软件测试定义:使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
- 软件测试的原则:
- 所有的测试都应追溯到用户的需求
- 尽早地和不断地进行软件测试
- 不可能完全的测试
- Pareto原则:测试发现的错误中的80%很可能起源于程序模块中的20%。
- 软件缺陷的寄生虫性:找到的软件缺陷越多,就说明软件缺陷越多
- 避免测试自己的程序
- 设计周密的测试用例
- 回归测试:程序修改后必须进行回归测试,避免引入新的错误
- 严格执行测试计划,排除测试的随意性。
- 确认BUG的有效性
- 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
- 瀑布式生命周期:
- 需求规格说明–系统测试
- 概要设计–集成测试
- 详细设计–单元测试
- 主流测试技术
- 黑盒测试、白盒测试、本地化测试、易用性测试、web系统测试、兼容性测试、性能测试、安全性测试、文档测试、
黑盒测试
- 功能测试、数据驱动测试、基于规格说明的测试
- 等价类划分
- 边界值分析
- 流程图
白盒测试
- 白盒测试又叫结构测试,逻辑驱动测试或基于程序本身的测试
- 主要方法:
- 控制流测试
- 逻辑覆盖 语句覆盖->条件覆盖+判定覆盖->判定/条件覆盖->条件组合覆盖->路径覆盖
- 路径测试
- 控制流测试