软件测试面试题(一)
1. 什么是兼容性测试?兼容性测试侧重哪些方面?
参考答案:
- 兼容测试主要是检查软件在不同硬件平台、软件平台上是否可以正常的运行,即是通常所说的软件的可移植性。
- 兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
- 兼容测试的重点是,对兼容环境的分析。通常是在运行软件环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
- 兼容和配置测试的区别在于,做配置测试通常不是clean OS下做的测试,而兼容测试多是在clean OS的环境下做的。
2. 描述测试用例设计的完整过程
参考答案:
- 需求分析+需求变更的维护工作;根据需求得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审。
3. Beta测试与Alpha测试有什么区别?
参考答案:
- Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场。
- Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境下进行的受控测试。
4. 你认为做好测试计划工作的关键是什么?
参考答案:
- 软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试。
- 做好测试计划工作的关键:目的,管理,规范。
5. 简述一下缺陷的生命周期?
参考答案:
- 提交——>确认——>分配——>修复——>验证——>关闭
6. 当开发人员说不是bug时,如何应对?
参考答案:
- 开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
7. 描述TCP/IP协议的层次结构,以及每一层中重要协议。
参考答案:
TCP/IP | 协议 |
---|---|
应用层/Application | HTTP、SMTP、FTP |
传输层/Transport | TCP、UDP |
网络层/Network | IP |
链路层/Link | ARP、RARP |
8. 测试用例的组成部分有哪些?
参考答案:
- 一个标准的测试用例需要包括:用例编号,功能模块,用例标题,前置条件,执行步骤,预期结果,实际结果,执行人,用例登记。
9. 软件测试的标准工作流程是什么?
参考答案:
- 获取测试需求;
- 编写测试计划;
- 制定测试方案;
- 设计测试用例;
- 执行测试;
- 提交缺陷报告;
- 测试分析与评审;
- 提交测试总结;
10. HTTP状态码
参考答案:
每发出一个HTTP请求之后,都会有一个响应,HTTP本身会有一个状态码,来标识这个请求是否成功,常见的状态码有:
- 200—2开头的都表示这个请求发送成功,最常见的是200,就代表这个请求是ok的,服务器也返回了。
- 300—3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了。
- 400—400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表代表没有这个页面。
- 500—5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没有返回结果。