在线客服
扫描二维码
下载博学谷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软件测试工程师面试题汇总的全部内容啦,大家在第一遍做的时候先不要看答案,做完之后再对一遍答案,印象会更加深刻哟!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试工程师你的测试用例应该具备哪些特点?
软件测试工程师最核心的工作之一就是编写测试用例。测试用例是是测试执行的依据,也是测试具体量化的方式之一。因此在编写测试用例的过程中,一定要保障其完整性以及完善性,那一个合格的测试用例应该具备哪些特点呢?软件测试工程师应该如何编写测试用例呢?
10141
2019-08-14 10:21:21
软件测试常见面试题分享
软件测试工作非常严谨,需要软测试工程师提供完善的测试用例以及测试报告。对测试环节中的测试目的、测试方法、测试内容、测试记录等等进行详细的说明。下面就和大家分享两个关于软件测试的常见面试题。
7456
2019-07-09 16:59:23
软件测试工程师应该看什么书提升自己?
众所周知,软件测试的入门门槛,相对其他IT技术岗位来说比较低,而高薪好前景的就业形势,一直吸引着许多新人的涌入。因此对于在软件测试行业的前辈们来说,如何提升自己保持职场竞争力,是必须要考虑的问题。一般来说,自学最好的方式就是看书,那么软件测试工程师应该看什么书提升自己呢?下面小编会根据Linux、Shell脚本、Mysql数据库、Web自动化测试、性能测试等软件测试核心知识点,推荐相应的学习书籍。
6063
2019-10-29 10:34:49
女生能不能做软件测试?
在互联网岗位中,一般都认为女生只适合做设计类或者市场运营类工作,不适合编程开发类的工作。近两年软件测试岗位需求日益明显,那女生能不能做软件测试呢?
5753
2019-12-18 18:27:30
软件生命周期阶段有几个?常见软件生命周期模型有哪些?
软件生命周期阶段及常见的软件生命周期模型,软件生命周期是指一个计算机软件从功能确定、设计,到开发 成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程。生命周期从收到应用软件开始算起,到该软件不再使用为止。
9285
2020-04-02 16:20:57