一、给你一个web项目,如何测试
可以从测试流程上回答
1. 分析需求,提取测试点
2. 编写测试计划和测试方案
3. 编写测试用例,进行测试用例评审
4. 进入测试执行阶段:
搭建测试环境,进行冒烟测试,按轮次进行详细测试,一般测三轮
第一轮是全量测试(所有测试用例全部执行一遍)
第二轮回归第一轮bug,自由测试,交叉测试,探索性测试等
第三轮回归第一第二轮bug,整体性回归测试(跑主要业务流程,主要功能)
5.验收测试:一般如果是项目型(有甲方),由客户主导进行验收测试:如果是产品型(用户是公众),由公司内部产品部门进行验收测试
6.项目上线,跟踪线上运行情况,有bug。
如果线上出现bug,需要测试首先在测试环境先重现,评估bug严重程度和影响范围,马上修复,紧急发布补丁包。如果是非严重问题,可以放在下个版本修复。如果是严重问题又没办法马上修复,可以回滚
另一个方面:可以从软件质量模型的维度来回答。
可以测试功能,易用性,兼容性,安全性,性能,UI等
二、加入购物车的测试点
未登录是否能够加入
已登录是否能够加入成功
加入成功我的购物车是否正确显示
商品数量是否超过上限
商品数量是否超过库存
商品0,负数,小数,字母等是否属于商品数量输入的异常情况
商品下架后是否还能加入
添加购物车中已经存在同款商品
三、1. 测试用例的要素,编写规则
用例编号: 项目编号、模块编号
测试模块
用例标题: 简介,测试用例的测试点、测试目的
优先级
预置条件
输入数据
操作 步骤
预期结果
四、测试用例如何评审?
(有些公司是会议评审,有些公司是邮件评审,参加评审的主要人员一般是测试经理,项目经理,产品经理,部分开发,QA(质量管理)
五、缺陷跟踪流程
1. 测试人员在测试过程,发现缺陷,提交缺陷到缺陷管理工具(禅道,QC,jrra等),指派给响应的开发人员,等待开发人员确认缺陷,修复缺陷,开发修复完缺陷后,缺陷会指派回给测试人员。
2. 测试人员回归bug,如果确认修复通过,关闭缺陷。如果确认修复不通过,再次激活缺陷指回给开发再次修复,直到修复通过关闭。
3. 但如果开发在确认缺陷过程中,认为缺陷无法重现,不予解决,设计如此等,首先去跟开发沟通,达成一致,最后关闭缺陷。如果沟通过程中不能达成一致,找上级领导协调。
六、测试环境如何搭建?
1. 首先使用xshell,secureCRT,xftp工具远程连接服务器;
2. 安装jdk,配置java环境变量;
3. 安装数据库软件(oracle,mysql,selserver等),启动数据库服务;
4. 建立数据库连接,执行相应的sqi脚本,创建项目的数据库和表结构;
5. 安装Apache-Tomcat,将项目OA源代码放到Tomcat的webapps;
6. 修改相关的配置文件(数据库连接配置文件)
7. 启动Tomcat(Linux是点startup.sh windows是点start.bat)
七、Python数据类型
数值型:整型,浮点型
字符串
列表
元组
字典
布尔型
集合:s={1,3,”测试”}
八、列表,元组,字典,集合的特点
列表的特点:可读,可修改,有序
元组:只读,不能修改,有序
字典:键值对存在,可读,可修改,有序
集合:不重复,无序
九、执行测试的流程
1. 开发进行提交测试,标志可以进入测试执行阶段。一般可以是邮件通知, 并且告知测试范围,部署相关材料
2. 部署测试环境
3. 进行冒烟测试。确保当前待测试版本是可测的
4. 按轮次进行测试,第一轮是全量测试,测试所有用例,测试过程中记录测试用例结果,提交缺陷
第二轮:回归bug,自由测试,交叉测试,探索性测试
第三轮:回归bug,回归测试(主功能,主流程)
5. 进行验收测试
6. 上线发布
十、开发人员认为不是bug,怎么处理?
1. 根据需求,先内部评估是否是bug
2. 如果确认是bug,需要找开发沟通协调,找出开发人员认为不是bug的原因
3. 如果还是没有达到共识,还可以找产品经理沟通协商,如果沟通后确认是bug,开发还是不愿意修复,可以找上级协调
4. 如果确认是测试人员的失误,确定不是bug,则应该关闭bug
十一、Linux中,find和grep的区别
Find用于查找文件和目录
Grep用于查找文本内容
十二、1. 线上bug怎么处理
1. 首先应该提交到禅道上,并在测试环境进行复现
2. 如果在测试环境发现有该问题,则正常跟进修复
3. 如果在测试环境没有该问题,则需要尝试使用用户的环境来进行复现定位bug
4. 修复后,进行回归测试,并根据项目安排,根据上线情况
线上bug,是否需要发布紧急版本
要根据严重程度和用户的影响范围来看,只有涉及到核心功能并且对大量用户都造成了影响才发布紧急版本
十三、Linux如何终止Tomcat进程
1. Tomcat的bin目录内有shutdown.sh,
2.1.找到Tomcat的进程号:ps -ef|grep Tomcat
2.2.终止:kill -9 pid号
十四、Selenium找不到元素的原因有哪些
1. 等待时间不足
2. 元素在框架内,需要先切换到框架内
3. 元素被弹框遮挡,需要先关闭弹框
4. 元素在其他窗口,需要先切换窗口
5. 元素定位方式不适合
5.1. 动态id(每刷新一次页面,id都会随机变化)、
6. 动态页面未加载,需要通过下滑等操作先加载页面,才能去定位元素
十五、说说TCP的三次连接
1. 客户端发送给服务端一个建立连接的数据包,SYN=1,序列号seq=10
2. 服务端确认客户端发送的SYN包并且也发送SYN包,ACK=1 ack=11 seq=20
3. 客户端确认收到服务端的syn包 ACK=1 ack=21 seq=11
十六、银行转账功能怎么测?
正常:
登录成功,进入转账模块,进入转账界面,输入转账信息:收款人卡号,姓名,手机号,支行信息,转账金额,转账方式,交易密码等,确认转账,检查是否转账成功:转出方页面是否有提示,是否有生成电子回执,回执上信息是否正确,检查转出方余额是否有相应减少,检查与核心系统的交互,检查账户流水。检知,收款方的余额和流水是否正确
关注同行转账,跨行转账是否都能成功
异常:转出方卡类型(信用卡,储蓄卡,活期存折,一类卡,二类卡)
卡状态:(挂失,冻结,销户等)
转账金额:金额只能是两位小数,0,负数,字母,空等
转账余额是否足够,考虑到冻结的金额
转账限额问题,单笔限额,单日限额,单月限额
考虑转账手续费问题,手续费