测试面试题目总结
Q:按测试内容划分,测试有哪些种类?
参考答案:
大致可以分为:单元测试、集成测试、系统测试、验收测试和回归测试
知识点:
1、单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编 码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下 是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决 不易显现的错误。(一般由开发人员去进行单元测试)
2、集成测试:通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来, 构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增 量集成。(分功能模块进行测试)
自顶向下集成:模块集成的顺序是首先集成主模块,然后按照控制层次结构向下进行集成, 隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。
自底向上集成:从子模块开始来进行构造和测试,因为模块是自底向上集成的,进行时要 求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。
3、系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系 统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。(测试工程师实际工作中更多是在进行系统测试)
4、回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本 上再次出现。根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经 修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。(验证修复后的bug)
5、验收测试:验收测试是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立 测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一 项确定产品是否能够满足合同或用户所规定需求的测试。
验收测试包括 Alpha 测试和 Beta 测试。
Alpha 测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。
Beta 测试:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用 户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终 的软件。
Q:软件开发(测试)的流程是怎么样的?
参考答案:
目前互联网行业大致的流程都是:
- 首先产品经理出产品需求,并进行需求评审
- PMO进行项目排期
- UI设计出设计稿
- 开发编写代码,此时测试编写测试用例
- 进行测试用例评审
- 开发人员联调自测后提测
- 测试人员进行冒烟测试
- 集成测试、系统测试
- 回归测试、验收测试、灰度测试
- 上线发版
- 测试结论
- 测试版本
- 测试条件
- 测试内容&范围
- 用例执行情况
- 测试效果(缺陷数据)
- 优化建议