在线客服
扫描二维码
下载博学谷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软件测试工程师面试题汇总的全部内容啦,大家在第一遍做的时候先不要看答案,做完之后再对一遍答案,印象会更加深刻哟!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
黑盒测试:等价类测试方法
黑盒测试也可以叫做功能测试,主要针对软件的界面和软件功能进行测试,而不考虑内部的逻辑结构。从理论上讲,黑盒测试只能通过穷举输入测试。但是实际工作中这种方法是不可行的。所以衍生出多种黑盒测试用例设计方法,包括等价类划分法、边界值分析法、错误推测法、因果图发、判定表驱动法、正交试验设计法、功能图法、场景法等。今天主要和大家介绍黑盒测试中的等价划分法。
10340
2019-08-08 14:18:15
软件测试人员常用工具汇总
软件测试不但要求测试人员有明确的测试目标以及用例设计,同时还要掌握测试中常用的各种工具,才能保障测试工作的顺利进行。几年前的测试工作大部分是采用人工手动测试,效率较低而且无法保证模拟的测试场景效果,所以逐渐将测试工作专业到自动化测试的方式上。所以这里主要和大家分享一下目前软件测试人员常用的工具有哪些。
8179
2019-08-09 18:03:55
做软件测试工资高吗?薪资待遇怎么样?
做软件测试工资高吗?薪资待遇怎么样?初级软件测试月薪大概5K~7K左右。薪资水平高于同龄人1K-2K,2-3年的软件测试月薪在9K~12K左右,工作5年后可以达到年薪20万以上。软件测试人员缺口30万左右,就业竞争压力小于同类其它岗位。
5594
2019-10-07 17:48:05
自动化测试工程师成长路线规划
随着互联网产品功能的迭代更新,对软件质量和数据安全也逐渐提出了更高的要求。因此,测试在目前的地位和功能可以说是越来越不可或缺了。虽然目前的就业市场继续大量的测试人才,但是低端的测试人员还是比较饱和的。因此,要想保持自己的职场竞争力,就需要测试人员朝着更高的目标去学习和努力。本文为大家规划了一条自动化测试工程师成长路线,有需要提高自己能力的小伙伴可以了解一下。
6280
2020-02-19 09:46:06
软件测试员在面试中常遇问题整理
目前,疫情已经逐渐得到了控制,各行各业都掀起了复工大潮。与此同时,软件测试的招聘需求也随着复工的开始而变得紧急起来,而求职者应该怎样抓住机会进行应聘呢?首先最重要的就是多刷面试题,这样才能才面试过程中有备无患。本文为大家整理了软件测试员在面试中常见的一些问题,大家可以一起来做一做。
6552
2020-03-05 20:02:06