在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
软件测试工程师在面试前想要做好充足的准备,可以刷一遍本文分享的面试题。这些汇总的面试题都是2019年最新整理出炉的,并附上了参考答案,其中包含了测试理论、Linux基础、数据库基础、API测试、App测试、管理工具等方面的知识点。可以说是,既有软件测试的基础知识,又有软件测试的所有知识重难点内容。有面试需求的小伙伴赶紧做一遍下面的面试吧!
一、简述黑盒测试和白盒测试的优缺点?
1、黑盒测试
(1)优点:
比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。
(2)缺点:
不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码 量的 30%;自动化测试的复用性较低。
2、白盒测试
(1)优点:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代 码中隐藏的问题。
(2)缺点:
程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。
二、在Linux中find和grep的区别?
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
Linux下的find:功能上,在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。语法上,find起始目录寻找条件操作说明。find 命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。
三、数据库怎么优化查询效率?
1、储存引擎选择:如果数据表需要事务处理,应该考虑使用InnoDB,因为它完全符合ACID特性。如果不需要事务处理,用默认存储引擎MyISAM是比较明智的。
2、分表分库,主从。
3、对查询进行优化,要尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引。
4、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描。
5、应尽量避免在where子句中使用!= 或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
6、应尽量避免在where子句中使用or来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描。
7、Update语句,如果只更改1、2个字段,不要Update全部字段, 否则频繁调用会引起明显的性能消耗,同时带来大量日志。
8、对于多张大数据量(这里几百条就算大了)的表JOIN,要先分页再JOIN,否则逻辑读会很高,性能很差。
四、如果模块请求http改为了https,测试方案应该如何制定、修改?
分别用http还有https登录试试。如果用https可以正常登录,地址栏显示一把锁头,那么这个网站是有部署SSL的。如果 http和https都能够正常登录,进一步说明该网站没有设置强制https登录,或者说没有设置http链接自动跳转https链接;相反如果用http登录,结果跳转到https页面,说明网站部署了SSL,而且设置了http自动跳转https。
五、在查看logcat命令日志时候怎么内容保存到本地文件?
输出重定向:logcat >> log_file_name
六、简述常用的Bug管理或者用例管理工具,并且描述其中一个工作流程?
常用:testlink,QC,mantis,禅道,TAPD,JIRA 。
TAPD:产品创建(需求,计划,模块)-->项目创建(PM 排期、任务分解)-->研发(编码、单元 测试等)-->测试 (测试计划,用例,执行, bug,报告等)。
七、如何设计自动化测试用例?
编写测试脚本之前要编写测试用例,而且测试用例不能直接使用手工测试的用例。自动化的测试用例是一个完整的场景。用户登录系统到用户退出。用例之验证一个功能点。不用试图登陆后验证所有的功能在退出 测试用例尽量只做正向的逻辑验证。用例之间不要产生关联,相互独立,也要高内聚,低耦合 测试用例关注的是功能逻辑的实现,字段无关。测试用例的上下文必须有一定的顺序性,前置条件清晰 检查点的设置要侧重,全面,灵活。测试用例对数据的操作要进行还原测试用例必须是可回归的。用例选择遵循成本始终,构建场景,目的冒烟回归,繁琐功能,主体流程。用例转型遵循前置配置,抛异常,步骤验证,高内聚,关门归原。
八、你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。
以上就是2019软件测试工程师面试题汇总的全部内容啦,大家在第一遍做的时候先不要看答案,做完之后再对一遍答案,印象会更加深刻哟!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
数据库基础的试题汇总(中)
以下是小编继续整理的关于数据库基础的试题汇总,现在赶紧来看看吧!
6419
2019-07-05 18:57:54
软件测试工资一般是多少钱?
软件测试工资一般是多少钱?其实专业的软件测试人才供需之间存在巨大的缺口,软件测试师工资普遍高于其他一些工作,不过不同的工作能力之间也有较大的差距。
26694
2019-07-23 16:14:42
40万年薪的测试工程师需要掌握哪些技能?
40万年薪的测试工程师需要掌握哪些技能?需要精通互联网企业软件测试流程和测试过程管理体系,负责编制自动驾驶软件测试需求和测试方案、制定测试用例和测试计划,产品的测试工作,制定项目测试方案,计划并实施,保证项目质量和进度,根据产品和项目特点,提出合理的自动化解决方案,并负责设计和实现自动化测试工具,提高测试效率等技能。
6916
2019-09-27 15:02:55
软件测试如何测试淘宝站内搜索系统?
一般情况下测试某个软件,都会按照单元测试、集成测试、系统测试和验收测试四个大的阶段进行,但是执行测试时,会根据需求以及具体的使用环境调整测试的方式。例如如何测试淘宝站内搜索系统,对于这个问题,我们从功能测试、性能测试、易用性测试、兼容性测试、安全性测试以及异常性测试6个方面进行测试。
7027
2019-12-11 18:36:11
软件测试员在面试中常遇问题整理
目前,疫情已经逐渐得到了控制,各行各业都掀起了复工大潮。与此同时,软件测试的招聘需求也随着复工的开始而变得紧急起来,而求职者应该怎样抓住机会进行应聘呢?首先最重要的就是多刷面试题,这样才能才面试过程中有备无患。本文为大家整理了软件测试员在面试中常见的一些问题,大家可以一起来做一做。
6339
2020-03-05 20:02:06