万息岗前集训中心

万息岗前集训中心由万息集团旗下的四川省省级劳务培训基地 (万息科技)版块发展升级而来 (始于 2003 年), 现属于集团旗下万息职业技能培训学校的重点品牌项目。中心深耕 IT 人才培养与创新发展领域,专注 IT 项目经验提升,全力培养应用型 IT 人才,开设有 Web 前端开发、 Java 后端开发、 软件测试等精品课程, 平均年集训学员人数超1000 人,入职学员平均首岗综合月薪 8500 元以上。

面试时,碰到职场“送命题”该怎么回答?

引:作为一个软件测试工程师,每当跳槽换工作时,难免在面试中碰到一些“送命题”。之所以称这些问题为“送命题”,主要是因为它们:有的知识点很容易混淆;有的问题很难回答的让面试官满意;有的题目甚至超出了自己的认知……
基于此,我们后期将为大家不定期解疑答惑,把这些琐碎的知识点加以总结,便于大家记忆。


1、如果给你一个网站,你该如何测试?

(PS:关于这个问题,相信在很多技术面试时,大家都碰到过。但,还是有很多小伙伴留言说自己描述不清楚,或者一紧张就忘了其中的步骤。今天就给大家再梳理一次。)
第一步,我们要查找需求说明书、产品说明、设计文档等,逐一分析测试需求点;
第二步,通过需求分析,制定合理的测试范围、测试策略及实施方案。
第三步,设计测试用例。我们可以通过分解测试内容,针对性设计用例。举个例子。如果我们要做功能测试,就需要测试链接、媒体元素、界面、页面布局、插件、文字等内容。包括但不限于:
链接是否正确跳转;
是否存在空页面和无效页面;
是否有不正确的出错信息返回;
页面是否风格统一、美观;
多媒体元素是否可以正常加载;
控件是否正常使用;
页面布局是否合理,重点内容和热点内容是否突出;等等。


2、在测试某个项目时,你发现了一个系统bug,但开发工程师不认为这是个bug。对于这种情况,你应该怎么解决?

答:首先本着解决问题的态度,再次跟开发组的成员沟通。如果对方依然认为这个问题可以忽略,而自己仍觉得有必要深究,那么,我将做出以下处理。
首先,将问题备案。填好bug清单,并提交到缺陷管理库中;
其次,通过软件需求说明书、产品说明、设计文档等,甄别缺陷判断依据。这里面,主要有这几项需要注意:
1)是否存在实际结果与预期效果不一致的地方;
2)如果以上说明书没有判断bug的依据,我们可以考虑根据以往经验,按照同类产品的一般特性,来判断是否为缺陷。或站在用户角度来判断;
3)是否可以通过设计人员、或者使用方,充分探讨,得出结论;
4)如果上述3种方法均不奏效,可以向测试经理客观、合理地论述自己对此问题的看法,让测试经理来衡量这个问题的严重性。如果测试经理也无法判断,还可以向公司决策层反映,让他们来决定如何处理这个问题。


3、如果要给APP做安全测试,应从哪几个方面去测?

关于这个问题,首先我们要明确,系统不同,安全性指标也不同。我们应该根据系统安全指标去调整测试策略。软件安全性测试主要包括程序、数据库两部分。由此,我们的测试方案,大致如下:
1)在处理用户认证安全性问题时,我们要考虑的问题主要有:
是否可以明确区分系统内不同用户的权限;系统内是否会出现用户间的冲突;用户登陆密码是否存在漏洞,是否可见、可复制,是否会因特殊字符串,出现“万能密码”的情况;是否可以通过绝对途径登陆系统(简单说就是,是否可以通过拷贝用户登陆页面的链接,直接进入系统);用户是否可以使用后退键,而不通过输入口令进入系统;用户退出系统后,是否可以删除足迹(包括账号密码、浏览痕迹、缓存等);
2)在处理系统网络安全问题时,要考虑问题:
当受到非授权用户攻击时,防护系统是否坚固;采用成熟的网络漏洞检查工具(即:专业的黑客攻击工具,例如NBSI系列和 IPhacker IP 等)检查,系统是否存在相关漏洞;确认系统补丁是否已就绪,系统防护措施是否已装配;采用各类木马,确认系统木马情况是否良好;采用各种防外挂工具,确认系统各组程序是否存在外挂漏洞,等。
3)数据库安全考虑问题:
确认系统数据是否独立,是否可管理;确认系统数据是否完整;确认类似银行的软件系统,机密性是否良好;确认数据是否可备份,是否可恢复等。 

 

4、什么是测试用例?什么是测试脚本?两者的关系是什么?

1)测试用例
简单来说,测试用例就是一组条件或变量,它是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试者用它来确定软件或系统是否正常工作。
对于不同的测试项目而言,我们需要不一样的测试用例,来确保项目的顺利推进。

软件测试用例的基本要素,包括:用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。这其中:
用例编号:对于测试用例的编号来说,它是有一定规则的。因为,它存在的主要目的是便于查找,以及便于跟踪。测试标题:它是对测试用例的描述,用于明确测试用例的用途。
例如,测试用户登录时输入错误密码时,软件的响应情况。重要级别:定义测试用例的优先级别,可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。而在实际工作中,我们一般将它划分为5级。
测试输入:提供测试执行中的各种输入条件。这里需要注意的是,测试用例的输入,对软件需求当中的输入有很大的依赖性。
如果软件需求中,没有很好得定义需求的输入,那么测试用例设计中会遇到很大的障碍。操作步骤:提供测试执行过程的步骤。预期结果:提供测试执行的预期结果。预期结果应该根据软件需求中的输出,得出结论。
2)测试脚本
测试脚本一般是指,一个特定测试的一系列指令。这些指令可以被自动化测试工具执行。测试脚本是自动执行测试过程(或部分测试过程)的计算机可读指令。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成,也可综合前三种方法来完成。
3)两者关系简单来说,测试脚本是测试用例中,自动化测试的部分。脚本的编写,必须对应相应的测试用例。


5、你对测试最大的兴趣在哪里?为什么?

关于这个问题,几乎所有的测试面试都会问到。而这个问题的回答,也没有固定的答案,大家可以根据自己的理解和代入感,去进行表述。但值得注意的是,回答一定要诚恳,要符合自身的性格特点,不要让别人觉得你虚伪或者自以为是。
下面给大家整理了一些回答的方向,大家可以参考进行自我描述。
1)测试工作是个严谨的工作。对于个人而言,可以提升个人逻辑思维及归纳总结问题的能力,等。
2)表明你做测试的目的是为了提升能力,也是为了将来成为更好的测试工作者,或者为将来转测试开发工程师做准备等;
3)表示你对数据库方向的测试非常感兴趣,并且希望通过目前的工作,提升自己的数据库掌握能力。

切忌过多表达自己对企业的某一业务感兴趣,比如,你对企业的某一游戏软件感兴趣。一旦你过多的表达,很可能面试官会认为你只想在企业工作一阵子,或是觉得你还很“嫩”,对你的薪资待遇还可以压缩。

 

6、写在最后

以上5个问题只是技术面试中,众“坑”中的零星一角。希望大家看完后,下次可以不踩坑。另外,也欢迎大家在评论区留言,写下你认为软件测试面试中,曾经踩过的“坑”,或是自己的疑问,便于我们后期给大家明确答案。
祝大家在技术这条路上,越走越顺,越走越远~


评论