基础知识
1、软件测试
为了发现错误而执行的程序过程。具体:根据软件开发各阶段的规格说明和内部结构设计测试用例,并使用测试用例去运行程序,发现错误。
2、软件测试目的
- 少花钱
- 发现软件潜在问题
- 提高软件质量
- 回避潜在风险
3、需求文档测试
- 测试需求是否存在逻辑矛盾
- 需求在技术上能否实现
4、设计文档测试
- 设计是否全部符合要求
- 设计是否合理
5、α测试
- 实际用户来测试,现场立即反馈给开发人员
- 开发环境下(公司内部)
- 不能由程序员或测试员完成
- 着重于产品功能、可使用性、可靠性、性能等
6、β测试
- 实际用户来测试,记录问题,定期向开发者报告
- 实际环境下
- 不能由程序员或测试员完成
- 着重于产品支持性
- 在α测试达到一定的可靠度后才进行
7、驱动模块和桩模块
驱动模块:又称主程序,它接收测试数据并将数据传递到被测模块。
桩模块:集成测试前要为被测模块编制一些模拟下级功能的“替身”模块,代替被测模块的接口,接受或传递被测模块的数据。
8、白盒测试与黑盒
1)白盒:又称逻辑驱动测试,结构测试。主要方法有:逻辑驱动,基路测试、边界值分析、循环测试、覆盖测试、数据流测试、变异测试。
- 知道产品内部工作过程
- 检测内部动作是否按照说明书进行
- 不管功能
- 白盒测试工具是对源代码进行测试
2)黑盒:又称功能测试或数据驱动测试。主要方法有:基于用户需求的测试,边界值测试,等价类划分,错误推测方法,因果图方法,判定表驱动分析。
- 在软件接口处进行
- 不考虑内部逻辑结构和内部特性
- 检查功能是否符合要求
9、动态、静态测试
- 动态:运行程序
- 静态:评审文档,阅读代码(例如:查找不匹配的参数,不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针等)
10、回归测试
在程序员修改后,保证功能被修复且不能带来新的bug。一般是在软件维护阶段进行。
11、软件缺陷分级
- 严重性分级:基于对客户的打分的影响程度。
1)致命:相关模块功能异常,死机
2)严重:本模块失常
3)一般:模块功能部分有问题
4)建议:不怎么好用 - 优先级分级:基于缺陷被修复的紧急程