每日一练

99 阅读7分钟

一、给你一个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,负数,字母,空等

转账余额是否足够,考虑到冻结的金额

转账限额问题,单笔限额,单日限额,单月限额

考虑转账手续费问题,手续费