目录
1 什么是软件测试
使用人工操作或软件自动运行的方式来检验它是否满足规定的需求 弄清预期结果与实际结果之间的差别的过程
* 预期结果 指用户的预期结果
* 实际结果 指的是软件的实际运行结果
* 软件缺陷 预期结果与实际结果之间的差别
2 正确理解测试
测试是为了发现程序中的错误
成功的测试为发现了至今为止尚未发现的错误
测试不仅仅是为了找出错误
没有错的测试也是有意义的
3 测试原则
测试能显示缺陷的存在
穷尽测试是不可能的
测试应尽早介入
缺陷的集群性 2/8原则
杀虫剂悖论验收
测试活动依赖于测试内容
没有失效不代表系统是可用的验证
测试的标准是用户的标准
测试贯穿软件整个生命周期
独立的测试团队
4 测试的阶段
sit 开发阶段 内部的测试人员
uat 验证阶段 用户验收产品
5 常见软件系统架构
5.1 B/S架构
Browser/Server,浏览器/服务器模式
5.2 C/S架构
C/S架构全称为客户端/服务器体系结构
6 测试的过程
冒烟测试 将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程 用于确认代码中的更改会按预期运行 且不会破坏整个版本的稳定性
回归测试 指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
白盒测试 相当于单元测试 对软件中的最小可测试单元进行检查和验证
黑盒测试 相当于系统测试 对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统需求的地方
灰盒测试 相当于集成测试 在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试
手工测试 由人去一个一个的输入用例,然后观察结果,和自动化测试相对应
自动化测试 在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件
7 面试Q&A
Q1:介绍一下测试流程?
A1:确定测试需求、测试计划、测试设计、测试执行、测试记录、分析、缺陷追踪、完毕、测试总结;
附测试流程图一张:
Q2:介绍一下测试方法?
A2:按开发阶段:单元测试 集成测试 系统测试 验收测试
按是否查看代码:黑盒测试 白盒测试 灰盒测试
按是否手工测试:手工测试 动化测试
按是否运行:动态测试 静态测试
其他:冒烟测试、回归测试
附分类图一张