如果哪个测试经理在看我的文章,希望对面试者要微笑,不然面试结束,出门之后就一万个草泥马奔腾而过,其实面试者并不是希望你给他们什么,而是一种尊重,平等的谈话,不要高高在上感觉自己超牛逼一样,任何大牛都是从菜鸟起步的。当然,正在学习测试技术的人也要心存感激,平等尊重的对的每一个面试者。
废话不说,下面是软件测试面试经常被问到的问题,整理如下:
1、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决?
首先,将问题提交到缺陷管理库里面进行备案。
然后,要获取判断的依据和标准:
- 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
- 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
- 根据用户的一般使用习惯,来确认是否是缺陷;
- 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
- 合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不掺杂个人情绪。
等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并由上级做出决定。
2、给你一个网站,你如何测试?
首先,查找需求说明、网站设计等相关文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试、界面测试、性能测试、数据库测试、安全性测试、兼容性测试。
设计测试用例:
功能性测试可以包括,但不限于以下几个方面:
- 链接测试。链接是否正确跳转,是否存在空白页面和无效页面,是否有不正确的出错信息返回。
- 提交功能的测试。
- 多媒体元素是否可以正确加载和显示。
- 多语言支持是否能够正确显示选择的语言等。
界面测试可以包括但不限于以下几个方面:
- 页面是否风格统一,美观;
- 页面布局是否合理,重点内容和热点内容是否突出;
- 控件是否正常使用;
- 对于必须安装的控件,是否提供自动下载并安装的功能;
- 文字检查。
性能测试一般从以下几方面考虑:
压力测试、负载测试、强度测试
数据库测试
要具体决定是否需要开展。数据库一般需要考虑连接性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
- 基本的登录功能的检查;
- 是否存在溢出错误,导致系统崩溃或者权限泄露;
- 相关开发语言的常见安全性问题检查,例如SQL注入等;
- 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持。
兼容性测试,根据需求说明的内容,确定支持的平台组合:
- 浏览器的兼容性;
- 操作系统的兼容性;
- 软件平台的兼容性;
- 数据库的兼容性。
开展测试,并记录缺陷。合理地安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
定期评审,对测试进行评估和总结,调整测试的内容。
3、在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试?
建立测试计划,确定测试标准和测试范围;
设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等;
根据测试用例,开发自动测试脚本和场景:
录制测试脚本:新建一个脚本(Web/HTML协议);点击录制按钮,在弹出的对话框的URL中输入”about:blank”;在打开的浏览器中进行正常操作流程后,结束录制;调试脚本并保存,可能要注意到字符集的关联。
设置测试场景:针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标;针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃;执行测试,获取测试结果,分析测试结果。
4、一台客户端有300个客户与300个客户端有300个客户对服务器施压,有什么区别?
300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。
300个用户在一个客户端上,需要更大的带宽。
IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。
5、试述软件的概念和特点?软件复用的含义?构件包括哪些?
软件是计算机系统中与硬件相互依存的另一部分,与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
软件复用(SoftWare Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件。
6、软件生存周期及其模型是什么?
软件生存周期(Software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每个时期又划分为若干个阶段,每个阶段有明确的任务。
周期模型(典型的几种):