2021-04-06
作者:互联网
1.用图画出产品研发周期中软件测试的不同阶段,并加以适当描述,画出自己所在公司/上一家公司的项目流程。
测试流程:
产品提出需求→开立项会讨论需求→制定需求文档→开发根据需求进行编码→测试人员根据需求文档进行编写测试计划→测试用例编写→用例编写结束后→进行用例评审→开发提交代码→执行冒烟测试→执行过程中出现bug进行提交bug→对bug进行追踪→bug关闭后做测试总结→提交测试报告
2.请阐述bug的生命周期,请阐述所在公司所用的bug管理工具,阐述大致流程。
软件测试的生命周期
需求分析→测试计划→测试设计→测试开发→测试执行→测试评估
Bug的生命周期
每个公司对bug生命周期的定义都是不一致的,大致为:
新建-提交-分配-确认-修复-检验-关闭
测试人员应该跟踪一个Bug的整个生命周期,从Open到Closed
Bug的级别
bug的定义每个公司标准不一样,在定义级别之前需要查看公司规范
举个例子:
1.Blocker(崩溃)
2.Critical(严重)
3.Major(一般)
4.Minor(次要)
bug管理工具有很多的工具,如:禅道,BugZilla等等,运用这些工具其目的都是为了更好的管理bug,流程化;方便开发以及测试人员处理这些bug。以及整个bug。
bug管理工具的跟踪过程
(以BugZilla为例子):
(1)测试人员发现了BUG,提交到Bugzilla中,状态为new,BUG的接受者为开发接口人员
(2)开发接口将BUG分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG,如果是本人的BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个BUG,然后测试人员关闭此问题。
(3)如果开发人员接受了BUG,并修改好以后,将BUG状态修改为已修复,并告知测试在哪个版本中可以测试。
(4)测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。
3.测试接口应从那几个方面考虑。请写出接口测试用例的框架。
模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素:
1.输入的实际参数与形式参数的个数是否相同;
2.输入的实际参数与形式参数的属性是否匹配;
3.输入的实际参数与形式参数的量纲是否一致;
4.调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
5.调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
6.调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
7.调用预定义函数时所用参数的个数、属性和次序是否正确;
8.是否存在与当前入口点无关的参数引用;
9.是否修改了只读型参数;
10.对全程变量的定义各模块是否一致;
11.是否把某些约束作为参数传递。
12.如果模块内包括外部输入输出,还应该考虑下列因素:
文件属性是否正确;
OPEN/CLOSE语句是否正确;
格式说明与输入输出语句是否匹配;
缓冲区大小与记录长度是否匹配;
文件使用前是否已经打开;
是否处理了文件尾;
是否处理了输入/输出错误;
输出信息中是否有文字性错误;
测试用例的设计框架
测试用例设计不仅仅需要从需求文档出发,我们也是要关注设计,关注实现,从用户角度出发,去看产品是否合理,是否具有核心竞争力,设计是否合理,这里小编总结了以下几个维度,帮助大家建立测试用例设计框架,协助大家更全面的去测试产品
UI方面
更多的是关注设计与需求的原型是否相符,是否与用户习惯行为相符,主要可以从 图标/文本/样式/长/宽/高/颜色等等方面去考虑设计
功能方面
从需求出发,关注需求的核心功能点,这里可以从 需求的状态、不同大小、不同位置、不同类型、不同参数等等方面去考虑设计
容错方面
更偏重于异常场景的case,可以从边界、异常、无效等价类等方面去考虑设计
易用性方面
从用户角度出发,关注需求和设计是否符合用户行为习惯,可以从是否好用、好操作、提示是否明确等方面去考虑设计
安全性方面
从用户角度出发,关注设计是否安全,是否会造成信息泄露,硬件损坏,对人体、环境等是否有危害,可以从敏感数据是否加密处理、xss攻击、sql注入式攻击、用户权限、备份与恢复情况、系统是否分布式部署、是否有毒材料、小零件是否容易掉等方面去考虑
性能方面
主要关注系统的最大容量,在一些极端条件下是否能够正常运行和使用,具体的可以从速度、响应、处理、最大量、最多人、根据不同类型考虑不同指标[cpu、网络传输、内存、磁盘]、耗电、耗网、温度、湿度等方面去考虑
兼容性方面
主要关注系统是否适应多系统,多版本,多网络,多平台,具体可以从系统方面(类型、版本、补丁)、防火墙、防病毒、网络(wifi/有线(移动|联通|电信|局域网)、信号(2g/3g/4g/5g)不同版本、不同端(PC/app/web/m)等方面去考虑
国际化方面
主要关注系统软件是否适应多国,可以从多语言(英文版装在中文的系统上)、输入信息(使用本地化、国际化信息)、设定的时间区域、不同语言分隔符、是否符合当地法律条文等方面考虑
文档方面
主要关注系统软件的文档是否齐全、易懂、多语言、查看入口是否好找、是否有错字等方面考虑
提示语言方面
主要关注系统软件对应提示语的信息是否语言风格统一、明确、易懂、友好等方面考虑
稳定性方面
主要关注系统是否可以稳定运行使用,可以从运行7*24小时连续执行,长时间读写查等方面考虑
冲突方面
主要关注系统软件是否和其他软件存在冲突,比如接电话时是否可以和别人微信语音视频等等
配置方面
针对不同环境进行不同配置参数设置,校验配置项是否设置生效且合理比如测试系统在线下环境和线上环境的配置参数就应该不一样,如果环境隔离,调用的数据等相关配置信息应该都是一样的才行
可维护性方面
关注产品是否好维护,可以从维护成本、零件是否好找,数据是否好恢复,系统是否支持快速升级等方面去考虑
竞品方面
从需求出发,关注当前产品是否有相类似的产品,我们的系统产品优势是什么,校验产品的竞争力
4.三个随机数,用熟悉的面向对象语言对他们进行排序
public class RN {
public static void main(String[] args) {
System.out.println(“随机数是:”);
int i = 0;
int j = 0;
int[] num = new int[3];
for(i = 0;i < num.length;i++) {
num[i] = (int) (Math.random()*1000);
System.out.println(“num[” + i +"]" + num[i]);
}
5.请简单阐述下列语句的结果
1.我认为输出结果错误,字符串a未赋值和0进行equles比较内容是否一致错误。
2.输出结果为0。
6.Delete,drop,truncate 区别
在速度上,一般来说,drop> truncate > delete。
在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。
如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;
如果想删除表,当然用drop;
如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;
如果和事务有关,或者想触发trigger,还是用delete;
标签:06,模块,04,是否,方面,BUG,2021,测试,bug 来源: https://blog.csdn.net/ssl_husband/article/details/115459868