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