目录
1、如何创建Bug
创建Bug的要素:
- 问题出现的版本:edge 版本 120.0.2210.144 (正式版本) (64 位)
- 问题出现的环境:Windows家庭版10
- 出现的步骤:1、打开edge浏览器,输入网址,2、等待页面渲染完成,发现与预期不符
- 预期结果:二维码与登录界面不会遮挡,都会显示出来
- 实际结果:二维码被遮挡住
- Bug归属:前端问题
- Bug等级:一般
2、Bug的级别
Bug存在着在不同的严重级别,不同Bug级别惩罚机制不一样,不同的Bug等级也跟开发人员的开发质量有直接关系。
常见的级别:一般、次要、崩溃、严重。
3、Bug的生命周期
- New:测试人员创建了一个Bug
- Open:开发人员要去确认是否是Bug,是Bug的话状态就改为Open
- Rejected:不是Bug的话就拒绝
- Fixed:开发人员修复完成之后将Bug的状态改为Fixed
- Delay:确认是Bug之后,如果Bug的优先级比较低且开发人员不能立即修复Bug,状态就改为Delay
- Closed:Bug确认修复完成之后,测试人员将Bug改为Closed
- Reopen:Bug确认修复未完成,测试人员将Bug状态改为Reopen
其状态转换图为:
4、跟开发产生争执怎么办?
- 多反思自己,是不是Bug创建的时候描述的不太清楚,批判性思维
- 开发人员对Bug级别不认可,Bug的定级一定要有理有据(测试人员需要明确企业Bug定级规范,拿着规范去跟开发人员沟通,为什么这样定级)
- 合理有好的进行沟通,站在用户的角度进行反问:如果你是用户,你能接受这样的功能吗(提Bug必然会增加开发人员的工作量,有些小问题不想解决)
- 不接能够发现问题,最好也能提出解决问题的方案(仅供开发参考)
- 如果确实是Bug,友好沟通已经不能解决问题,那么就召开Bug评审,需要有相关的代表来参加:产品代表、开发代表、测试代表:
1)如何解决bug
2)如何预防类似的Bug再发生
5、测试用例
万能公式:功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试
- 功能测试:可能来时需求文档(软件的功能),可能来自生活经验(水杯)
- 性能测试:功能没有问题不代表性能一定是好的,性能往往表现在一些极端的情况下
- 界面测试:颜色、形状、大小、材质、文字、输入框、图片......可以看到的所有元素
- 兼容性测试:浏览器兼容性、版本兼容性、系统兼容性、数据兼容性
- 易用性测试:软件是否具备简单易上手的属性,是否有提示
- 安全测试:密码是否加密、数据库是否对隐私密码加密、是否防止SQL注入
SQL注入:
假如在前端搜索输入的关键词是 1 or 1 = 1
其代码为 :select id , info from where name = 1 or 1 = 1;(1 = 1 恒成立)
导致全表以数据返回
6、测试方法
等价类
- 定义:依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,增容认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
- 等价类分为无效等价类和有效等价类:
无效等价类:针对需求文档的要求是没有意义的集合。
有效等价类:针对需求文档的要求时有异议的集合。
- 步骤:首先确实有效等价类和无效等价类,然后再编写测试用例。
边界值:是指有效边界值和无效边界值
判定表(设计测试用例步骤):
- 确认输入条件和输出条件
- 找出输入条件和输出条件之间的关系
- 画判定表
- 根据判定表编写测试用例
场景设计法:基本事件流和备选事件流(在基本事件流的过程中的意外)
错误猜测法:依赖测试人员的工作经验和积累
7、测试分类
灰盒测试和白盒测试都需要关注代码,一般都是开发人员使用的,但是测试人员也可以使用灰盒测试。
- 问:为什么不能用灰盒测试来取代黑盒测试和白盒测试?
答:因为灰盒测试没有白盒测试那么详尽,也没有黑盒测试广度大,所以不能取代。
- 问:那种测试方法用的多?
答:黑盒测试和白盒测试测试人员都会使用到,在工作根据具体情况来选择使用黑盒测试和白盒测试,通常情况下测试人员使用黑盒测试多一些。
- 问:自动化测试能取代人工吗?
答:不能,自动化测试也是测试人员来写的,是有局限性的,而且自动化测试只是协助测试人员进行测试的一种工具。
- 冒烟测试:
开发人员完成开发任务之后,交给测试人员进行测试的第一步,评估软件/系统是否具备测试的条件。
- 回归测试:
对历史版本、历史功能进行测试,保证功能都是符合要求的,一般用自动化来进行回归测试