软件测试工程师在面试前想要做好充足的准备,可以刷一遍本文分享的面试题。这些汇总的面试题都是2022年最新整理出炉的,并附上了参考答案,其中包含了测试理论、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,报告等)。

七、如何设计自动化测试用例?

编写测试脚本之前要编写测试用例,而且测试用例不能直接使用手工测试的用例。自动化的测试用例是一个完整的场景。用户登录系统到用户退出。用例子验证一个功能点,不用试图登陆后验证所有的功能在退出 测试用例尽量只做正向的逻辑验证。用例之间不要产生关联,相互独立,也要高内聚,低耦合,测试用例关注的是功能逻辑的实现,与字段无关。测试用例的上下文必须有一定的顺序性,前置条件清晰 检查点的设置要侧重,全面,灵活。测试用例对数据的操作要进行还原测试用例必须是可回归的。用例选择遵循成本始终,构建场景,目的冒烟回归,繁琐功能,主体流程。用例转型遵循前置配置,抛异常,步骤验证,高内聚,关门归原。

八、你认为性能测试的目的是什么?做好性能测试工作的关键是什么?

性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。

以上内容为大家介绍了2022年软件测试工程师的面试题汇总,本文由多测师亲自撰写,希望对大家有所帮助。https://www.duoceshi.com/xwzx-hydt/1231.html

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部