一名软件测试工程师的总结(一)
一、理论基础1、自我介绍:包含基本信息、擅长的技能、与其他测试人员对比所具有的个人优势、个人性格、兴趣爱好。
如:我叫张三,擅长接口自动化
2、介绍一下你们公司的测试流程是如何的?
H模型》》版本上线过程
3、项目介绍:介绍一下你最近做的项目,以及项目中主要的工作内容和产品的业务流程
4、你们项目组的成员有多少个?开发、测试的比例?测试有多少个?
大概18或19个左右,测试大概有3个左右,开发大概有11个左右(前端一般比后端多一两个),UI、项目经理、产品经理、测试经理
测试:开发一般1:3,也有1:4
5、你有没有写过测试文档?
测试小结报告、测试计划、测试用例、测试总结报告
6、测试计划包含哪些内容?
核心内容:测试周期、项目需求的人员安排、测试任务安排
其他内容:测试目的、测试范围、测试环境资源配置、风险评估
7、测试报告包含哪些内容?
核心内容:用例的执行情况、缺陷的统计情况(各模块、版本的bug占比)、能否上线
其它内容:测试目的、测试范围、测试时间、测试环境、风险评估、遗留问题
8、用例包含哪些内容?——用例要素
核心要素:用例标题、前置条件、操作步骤、预期结果、优先级
其它要素:用例编号、用例关联需求、用例所属模块、用例类型
9、bug包含哪些内容?——bug要素
所属项目、版本、产品、模块
bug编号、bug标题、bug描述,bug复现步骤、bug类型、bug等级、bug指派人员、附件
10、bug严重程度如何划分?
L1致命级、紧急:死机、蓝屏、系统崩溃
L2严重、高:核心功能没有实现,需求的实现与开发出来的效果严重不符
L3一般、中:多指单个功能无法使用,比如说展示问题或显示数据不对,不会影响其它功能的实现和测试
L4 建议、低:如存在错别字、提示不清楚、描述客户看不懂、返回提示业务状态码如1002给客户
11、bug的生命周期?
发现bug、新建bug、提交bug、修复bug、验证bug、关闭bug
12、如何保证测试的覆盖率
编写测试用例前、详细了解需求文档和业务、挖掘隐形需求,考虑到正向反向的测试点;
测试用例设计时尽量灵活应用各种设计方法,如等价类、边界值、场景法、考虑白盒测试、灰盒测试;
通过用例评审机制完善测试用例(交叉评审、团队评审、会议评审);
回归测试过程中引入自动化测试提高覆盖率
13、什么是冒烟测试?
测试软件的基本功能以及主流程是否正常
14、开发提测延迟了怎么办?
测试主动跟进问题,实时关注开发具体的提测时间。如果开发不能及时提测,我们需要把问题汇报给自己的测试经理
15、你提交的bug,开发认为不是bug怎么办
参照需求规格说明书文档
16、测试的准出标准是什么?
bug清零
用例执行100%
所有功能均已实现
有产入产出相关的测试文档:测试文档、测试用例、测试报告
在预发布环境中进行验收,并且验收通过
17、测试准入标准
1、开发编码结束,开发人员完成自测并已通过。(即开发人员在开发环境中已经进行了单元测试。)
2、开发源代码已放到版本库
3、软件需求规格书上的功能均已实现,(如果没有完全实现,开发人员提供测试范围)
4、发送提测文档并提交提测邮件
5、测试环境部署完成
6、冒烟测试通过
18、发版时间一般是在凌晨0:00-2:00,有哪些准备工作?
当晚发版人员名单确认、手机号(联系方式)确认(包括开发同事、测试同事)
确认最终版本号,版本存放路径
验证需要修改的配置文件、文件名称、文件所在路径、修改具体的内容
验证数据库的sql脚本,脚本文件存放路径,具体的sql脚本内
19、上线之后发现bug怎么处理?
收集问题
在测试环境中重现问题
记录bug并反馈给领导
由领导决策是否立即修复
由开发解决,测试验证
验证通过后重新上线
江湖上,对中国最强法务团队流传着这样一个描述:华为地处深圳龙岗区,据说华为在龙岗法院打官司基本没有输过,所以人送外号“龙岗无敌手”。腾讯位于深圳南山区,有报道称腾讯在南山区法院的一审胜诉率超过88%,史称“南山必胜
客”。字节跳动位于北京海淀区,经常打官司的海淀法院一审胜诉率高达98%,被喻为“海淀不倒翁”。
20、你常用的用例设计方法(回答时准备一个可以很好的介绍你使用的这种用例设计方法的场景)
等效用例,边界值,
21、项目版本迭代周期:你们版本多久迭代一次?你们做了多少需求
小版本两周发一次。大版本四周发一次 快速迭代模式
系统共七八十个需求,人均分配,每个人也就
App需求相对少一些,十几二十个左右,人均分配,每个人也就十来个
敏捷开发模式:一周一个版本迭代,如字节
22、之前加班是否严重?
23、如何评估你手头的工作量?
在需求评估时,有一个所需工时评估
24、你在平时的项目中遇到过的哪些问题?
1、提测版本质量差
2、开发提测的时间延迟
3、需求不明确或需求不详细
4、测试过程中时间不够了
5、测试过程中需求临时修改
25、平时项目中,你们时如何分配工作的?
1、根据模块划分,负责某个模块
2、老员工带项目,根据安排分配
3、根据测试类型分配,有人专门测试功能,有人负责接口
26、测试通常什么时间开展的?
需求分析开始时
27、你们用例是用什么写的? excel表格、xmind思维导图,用例管理工具(testlink)
28、如果你们发现一个不能重现的bug,怎么处理?
首先提出bug把问题抛出来
29、你们项目有多少套环境?
开发环境,测试环境、预发布环境(验收环境)、正式环境(即生产环境)
30、针对百度输入框测试点/登录测试点/购物车测试点/二维码扫码测试点/微信红包测试点/微信点赞测试点/微信评论测试点/微信转账测试点/优惠券测试点/纸杯测试点/笔测试点/电梯测试点
重点:讲测试点,一定要从功能测试、界面测试、兼容性测试、易用性测试、安全测试、性能测试、稳定性测试等方面考虑
二、Linux操作系统
1、查看IP地址:ifconfig
2、检查两端网络是否联通:ping 看是否有返回
3、查看当前目录下有哪些目录/文件名称:ls
4、查看当前目录下有目录/文件详细信息:ls -l或ll
5、创建空目录:mkdir+目录名称 创建空文件:touch+文件名称
6、查看当前所在路径:pwd
7、复制文件:cp 移动文件/重命名:mv
删除文件:rm 强制删除文件:rm -rf
8、修改文件的权限:chomd +744+文件名
9、查看文件内容:cat、less、more、head、tail
10、查看实时日志/文件:tail -f 日志名称
从日志中搜索关键字:cat 文件名|grep “关键字”
查看当前目录下,有哪些包含abc的目录/文件:
ls|grep“abc”
12、查看CPU:top 查看内存:free 查看磁盘:df
13、查看进程:ps -ef 杀进程:kill -9 进程号
查看某个服务的进程:ps -ef|grep “服务名称”
14、查看端口的命令:netstat -ntlp
15、已知一个端口号,问你那个服务占用了这个端口号:
lsof -i: 端口号
16、编辑文件:vimvim的模式:命令模式、编辑模式、末行模式
17、两台不同服务器之间的数据传输:scp
服务器A 192.168.0.1/24服务器B192.168.0.2/24
把服务器A/home/aa.war传输到服务器B /user/tomcat/webapps
假设我在服务器A 上面进行操作并且在厚么目录下
Scp aa.war root@192.168.0.2:/user/tomcat/webapps
假设我在根目录下
Scp /home/aa.war root@12.168.0.2:/user/tomcat/webapps
18、测试环境搭建
Jdk、Linux、开发包、MySQL、tomcat
三、数据库的基本操作
1、数据库左右连接的区别?
假设A、B两张表,A是左表,展示的是A表所有的数据,B表展示的是与A表相关联的数据,B表没有跟A表相关联的数据,以null填充。右连接与左连接相反
2、数据库增删改查的基本语句
查询:select * from table
更新:update table 表名 set 字段=字段值 where 条件
插入:insert into 表名(字段1,字段2) values(字段1值,字段2值)
删除:delete from table where +条件 删除表指定数据,表结构在
truncate删除表数据,表结构在 drop 删除表结构和表数据
3、数据库重要的关键字
分组:group by 排序:order by 字段asc/desc分页:limit
4、常用的聚合函数:sum、avg、count、min、max、distinct
5、where和having的区别?
◆where跟在表后面,having跟在group by后面,
◆where在分组前进行条件过滤,having在分组之后条件过滤
6、数据库执行顺序:
Select class_id,avg(score) from student where score>80 group by class_id having avg(score)>90 order by avg(score) desc limint 3;
顺序:Select class_id,avg(score) 5
from student 1
where score>80 2
group by class_id 3
having avg(score)>90 4
order by avg(score) desc 6
limint 3 7
7、连接数据库的工具:Navicat
8、Xshell 是一个强大的安全终端模拟软件,
9、服务器一般使用系统:Linux
1、UNIX操作系统
2、Linux操作系统
3、Netware操作系统
4、Windows操作系统
5、Mac Os 一套由苹果开发的运行于Macintosh系列电脑上的操作系统
10、介绍数据库的索引?
介绍、作用、使用
索引是一种数据结构,创建在字段上,index,提高查询效率。
Create index
11、数据库视图
View 视图,sql语句结果后的可视化的虚拟表
用于提高查询速度,查询数据库安全的作用。比如给别人查看时只展示一部分
Create view
12、存储过程:是完成特定功能的sql语句集合。作用是提高sql语句执行效率
Create procedure
13、有了解过数据库事务吗?
事务:要做或所做的事情,在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
数据库事务是由一系列的sql集合组成,包含事务的开始、事务的结束。在开始结束的过程中,这些操作要么执行全部通过,要么执行全部失败,事务是数据库中最小的逻辑单元。
14、事务的特性:事务是恢复和并发控制的基本单位
事务的属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
15、数据库中并发操作会产生哪些情况?
形成脏数据(即无效数据),不可复读数据、幻读数据
16、事务隔离控制
数据库锁分为表锁、行锁、悲观锁、乐观锁
悲观锁:指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的
锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。
17、事务隔离等级:读未提交、读提交、可重复读、序列化
18、什么的DDL和DML?
DDL:数据库定义语言crreate、drop、alter
DML:数据库操作语言 select、insert into、update、delete
19、查询学习表中参与课程大于5的学生姓名?
select name from student group by id having count(*)>5.
查询平均成绩大于60分的同学的学号和平均成绩
select id,avg(score) from student group by id having avg(score)>60.
查询姓张的学生的全部信息?
Select * from student where name like “张%”;
页:
[1]