软件测试 - 非技术常见面试题
1.什么是软件测试, 你对软件测试有什么了解呢
软件测试: 验证 产品特性(功能, 界面, 兼容性, 性能....) 是否符合用户的需求.
软件测试它贯穿于软件的整个生命周期.
1.1 软件测试到底是个什么呢 ?
就拿生活中的事情来举例, 例如说我们去商场购物, 买衣服, 一般会有以下几个步骤 :
1. 走进门店, 第一眼先看看衣服好不好看, 这个叫外观测试;
2. 将衣服拿到试衣间试穿, 看合不合身, 这个叫试穿测试;
3. 摸摸衣服的材质如何, 看看是纯棉的, 还是涤纶的, 等等. 这个叫材质测试;
4. 觉得衣服各方面都比较满意的时候, 还需要进行价格测试, 询问服务人员衣服的价格是否符合自己的预期; 最后如果衣服价格也符合预期, 才会有后续的交易完成.
1.2 为什么需要软件测试呢 ?
1. 企业存在的意义首先是为了盈利, 如果没有盈利, 那么这个企业就会走向消亡.
那么话又说回来, 企业盈利肯定来自于用户, 他研发出产品, 如果直接就上线给用户使用, 或者销售给用用户, 通过这种方式来立即取得盈利, 是不可取的.
2. 用户为啥要使用他的产品, 用户为啥要掏钱消费呢 ???
肯定是用户使用他的产品使用的非常舒服, 用起来非常爽, 才会愿意给产品付费.
3. 怎么让用户使用起来非常爽, 非常舒服呢 ???
那么就需要站在用户的角度, 了解用户的需求, 再针对产品进行一系列的软甲测试, 看看产品的功能, 界面, 性能等等方面是否符合用户的需求.
2. 测试和测试开发的区别
相同点
都是为了保证项目的测试质量
不同点
软件测试 : 主要工作一般包含需求分析, 编写测试计划和测试方案, 设计测试用例, 执行测试用例, 跟踪 BUG, 编写测试报告等等.
测试开发 : 不仅包含了软件测试的工作, 还需要开发一些自动化测试脚本, 或者自动化测试工具等等, 从而有效的提升测试效率.
3. 为什么选择测试而不是选择开发
软件测试它主要是保障产品质量, 而软件开发主要是编写业务代码, 而我个人觉得软件测试更适合自己, 并且我对测试更加感兴趣.
3.1 那你为什么要学那么多开发的知识呢 ?
我学开发主要是为了更好的帮助我去理解开发人员写的代码, 帮助我更好的去发现 BUG. 有时候, 我们通过软件的界面上发现不出来问题, 只能够通过代码去看, 这时候掌握开发的部分知识储备, 就能一定程度的帮助我们快速的定位和发现 BUG.
4. 一个优秀的测试人员需要具备的素质
综合素质
具备快速学习的能力.
具备良好的沟通能力, 文字能力.
具备一定的开发能力.
具备优秀的设计测试用例的能力
掌握自动化技术
对软测试有非常大的兴趣
具备责任感和抗压能力
5. 众多的求职者中, 你觉得你的个人优势是什么
其他的求职者, 我不了解, 他们具备什么样的一个能力, 我也不清楚, 所以我不敢轻易的下定论说我一定比他们优秀, 但是就这样一个岗位来说, 我掌握的Java, 数据结构, 多线程以及网络等开发技能, xxx测试技能, 个人具备一定的快速学习能力,一定的沟通和文字描述能力, 以及一定的责任感和抗压能力等测试素质, 我认为我还是比较匹配的.