• 12
  • 13
分享

一、前言

测试的面试相对于开发的面试来说,对于技术的询问其实相对来说较少的,主要针对以下几个方面。测试理论,接口,数据库,linux,自动化,性能、个人情况这几大块。

二、常见问题

1、软件测试理论基础

①什么是软件测试?

在规定条件下对程序进行操作,发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

②软件测试主要测试用例设计方法是什么?

白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖;

黑盒测试:等价类、边界值、因果图、状态图法、错误猜测、测试大纲、随机测试、场景。

③测试计划、方案以及测试报告主要包括哪些方面?

测试计划主要包括:

  • 测试范围(功能性测试;非功能性测试);

  • 测试通过/失败的标准(通过准则;失败准则);

  • 测试挂起恢复条件;

  • 测试进度人力分布计划;

  • 测试交付物。

测试方案主要包括:

  • 测试环境(软硬件构成;网络构成;环境搭建;测试工具);

  • 测试策略;

  • 测试风险评估与预防。

测试报告:

  • 测试BUG记录;

  • 测试BUG统计分析;

  • 测试用例执行情况清单。

  • 遗留问题清单

PS:具体情况具体分析格式不一定一致。

④测试流程

阅读需求—评审—判定开发时间—测试计划、方案—编写测试用例—开发提交版本—进行测试—提交bug—追踪—提交新版本进行回归—测试完毕—进行走查上线。

⑤Bug的管理,测试提交bug,开发不认可

首先,在bug的管理工具上进行记录;查找需求文档,与开发人员进行沟通进行复现bug;询问产品人员需求情况;寻找相关上级进行评定。

⑥fiddler对于测试来说有什么好处?

抓包,查看请求,确认问题所在,是功能问题还是网络问题还是接口问题

⑦微信朋友圈有哪些测试点?

封面,发布,自己头像,朋友头像和昵称,评论,点赞,删除,权限(重点)

⑧软件测试原则和策略?

  • 测试应基于用户需求;

  • 做好软件测试计划是做好软件工作的关键;

  • 应尽早的开始软件测试并不断的进行软件测试;

  • 测试前必须明确定义好产品的质量标准;

  • 避免测试自己的软件;

  • 应充分注意测试中的集群现象;

  • 必须检查每个实际输出结果;

  • 穷举测试是不可能的;

  • 测试设计决定了测试的有效性和效率;

  • 注意保留测试设计和说明文档,并注意测试设计的可重用性。

2、数据库基本操作

①创建表

Createtabletable_name(column_nameproperty(length)……);

②修改表(modify—修改表字段类型和长度)

Altertabletable_namemodifycolumncolumn_nameproperty(length);

③新增表数据

Insertintotable_namevalues(value,value,value……);
Insetintotable_name(column_name,…)values(value,…);

④查询表数据

Select*fromtable_name;
Selectcolumn_namefromtable_name;
Select*fromtable_namewherecolumn=value;

⑤修改表数据

Updatetable_namesetcolumn=valuewherecolumn=value;

⑥删除表数据

Deletefromtable_name;
Deletefromtable_namewherecolumn=value;
Truncatetabletable_name;

⑦多表查询(内连接,左外连接,右外连接,子查询)

内连接:

Selectcolumn_namefromtable1[inner]jointable2ontable1.column=table2.column;

左外连接:

Selecttable1.column,table2.columnfromtable1leftjointable2ontable1.column=table2.column;

右外连接:

Selecttable1.column,table2.columnfromtable1rightjointable2ontable1.column=table2.column;

子查询:

Selectcolumnfromtable1wherecolumn=(selectcolumnfromtable2wherecolumn=value);

区别:内连接旨在得到两表之间的交集数据,可能会造成数据丢失;左外右外分别是以左表或右表为主表,添加另外一张表的数据;子查询旨在查询结果只需要显示一张表中的数据,但是需要从另一张表得到相关条件。

⑧聚合函数、分组查询、排序

COUNT();统计行数量;

SUM();统计某列合计值;

ANG();统计某列平均值;

MAX();计算列最大值;

MIN();计算列最小值;

Selectcolumn_name,count(*)fromtable_nameGroupby(column_name);
Selectcolumn_namefromtable_nameorderbycolumn_namelimit10DESC;(倒序)

⑨视图

CreateVIEWview_nameasselect*fromtablewherecondition;

⑩存储过程

Createprocedurepro_name
as
Begin
Select*fromtable_name
End
Executepro_name

3、Linux环境安装部署以及使用的基本命令

  1. 启动mysql服务:systemctlstartmysql;servicemysqldstart

  2. 解压文件:tar–zxvf文件名

  3. 创建用户分组:groupadd分组名

  4. 创建新用户:useradd用户名

  5. 下载安装文件:yuminstall-y文件名

  6. 编辑文件:vi文件名

  7. 保存::wq

  8. 强制退出::q!

  9. 创建文件:mkdir文件名

  10. 本机复制文件:cpfile/remote_file/file

  11. 移动文件:mvfile/remote_file/file

  12. 多台主机传输文件:scplocal_fileremote_username@remote_ip:remote_folder(需要注意的是需要知道目标主机的密码密码以及网络通畅)

  13. 删除文件:rm–rffile

  14. 查看主机信息:top

  15. 查看进程:ps–ef|grepmysql

  16. 查看端口:netstat-tunlp|grep3306

  17. 杀死进程:kill-9进程号

  18. 切换目录:cd

  19. 显示磁盘信息:df–h

  20. Docker

4、接口

http协议;TCP/IP协议;fiddler;postman;自动化;get、post请求

http:应用层--网络传输协议

TCP:数据传输层—应用程序之间

IP:网络层—连接计算机与计算机通信

fiddler工具对测试的好处:看请求,确认问题所在,是功能问题还是网络问题还是接口问题;

5、自动化

Selenium;appium;monkey;robotframework

6、性能

Loadrunner:规划,录制,参数化,关联,场景,分析

jmeter:断言,树分析

7、个人的情况

①为什么会选择软件测试?

  • 软件测试看待产品的角度是不一样的,会从产品、用户、市场需求、开发、设计、运营等多个角度去思考产品适合度;

  • 软件测试入门相对简单,但是做成一个好的测试却是不简单的,这个工作是很有挑战性;

  • 软件测试是一个积累工作经验的工作,能够在工作的同时能够总结自己,使自己不断的成长。

②你的优点和缺点是什么?

我自己的优点有学习能力,理解能力,善于思考,很有耐心,执行力强;而我的缺点对一件事情不够钻研,喜欢看到事情的表面;不太喜欢说话,更喜欢用做的方式去体现自己。当然作为测试,日常的沟通交流没有问题。

③关于未来的规划

丰富自己知识,在工作中不断成长,能够为公司出谋划策并担任更重要的职务。

作者:MokWing

原文链接:https://blog.csdn.net/weixin_38374974/article/details/84571096

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   背景:随着前后端分离、微服务等技术的广泛应用,接口测试在整个测试过程中扮演的角色越来越重要,如何更加高效地把接口测好、测得更加充分就成了一个亟待解决的难题。  当前在对具体的某一接口进行测试时,普遍采取的方法是测试人员按照接口文档中的字段取值规则使用接口测试工具(例如Postman等)手工来回修改接口报文中的某一个字段值来进行测试。  这种方法对于单个或者是简单接口相对比较友好,然而往往一个系统中会包含有大量的接口、接口逻辑复杂、接口里边包含有非常多的字段,这就给接口测试的开展带来了很多问题,比如费时费力、工作量大、漏测某些测试场景等。  同时还由于项目工期紧张等原因,在接口测试过程中一般...
            3 3 1704
            分享
          • 在上一个模块,我们从方法论层面讲了测试用例设计的方法,这一讲我们将会从实战的角度来讲,设计一个「好用例」的过程和方法。本模块的第一节,我们来看拿到需求后,如何开始着手用例设计。熟悉需求细节设计用例的根本,是对需求的了解和把握。只有清楚的理解了需求中的每一个细节,才能够让自己的用例足够得好。有些同学拿到需求后,还没有通读需求全文,就开始设计起用例了。在我看来,这样做是不可取的。要熟悉需求,我们建议要做到以下几点:充分阅读,透彻理解。拿到一个需求后,我建议大家先对需求文档做充分的阅读,通过至少三遍的阅读,来对需求有一个充分而透彻的理解,这里不仅包括对需求中细节的理解,还包括需求背景和目的的理解。只...
            0 0 76
            分享
          • 手机App是当下互联网的主流模式之一,因此对于App相关测试需求也在逐年递增中,很多小伙伴没有从事过App相关的测试,有些注意点可能都不是很清楚,下面就我的App测试从业经验,分享给大家啦!目前工作中,测试App会涉及到一下几个方面:客户端、小程序、h5页面等,看似不同却又大相径庭。1、功能模块测试:功能模块测试其实最重要的是考察测试者的逻辑思维能力和对需求的理解能力以及一些页面交互性,输入输出的考虑等,所以以上三者是共通的,没有太大的区别。2、权限管理:1)相同点:需考虑权限允许的情况和权限不允许的情况;需要多测试无系统权限的页面2)不同点:App测试时需要考虑用户是否可以访问手机通讯、相册...
            3 0 2348
            分享
          •   Locust是一款Python技术栈的开源的性能测试工具。Locust直译为蝗虫,寓意着它能产生蝗虫般成千上万的并发用户。  Locust并不小众,从它Github的Star数量就可见一斑:  链接:github.com/locustio/lo…  截止文章写作时,一共15951Star。  Locust生态良好,它已在多家外企(包括世界500强)投入使用:  如此看来,Locust是非常值得学习和掌握的一款工具。  Python的魔力在于化繁为简,基于Python的Locust也能给仍然困惑于性能测试的我们带来启发。  Locust特点  · 以纯Python方式编写用户脚本,提供极大自...
            0 0 1067
            分享
          • 前言:MySQL越学越多,你的头有越来越秃么?1、MySQL的复制原理以及流程基本原理流程,3个线程以及之间的关联;主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;从:sql执行线程——执行relay log中的语句;2、MySQL中myisam与innodb的区别,至少5点问5点不同?1>.InnoDB支持事物,而MyISAM不支持事物2>.InnoDB支持行级锁,而MyISAM支持表级锁3>.In...
            0 0 1049
            分享
      • 51testing软件测试圈微信