当前位置:网站首页>【软件工程之美 - 专栏笔记】33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?
【软件工程之美 - 专栏笔记】33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?
2022-07-31 10:53:00 【if...else...】
专栏信息
专栏作者:宝玉
专栏发布平台:极客时间
主要内容
不知道你有没有仔细想过这个问题,为什么现在不通过 QQ/ 微信 / 邮件报 Bug,又有哪些测试工具可以帮助你更好地发现、报告和跟踪软件中的 Bug 呢?
一、Bug 跟踪工具
1947 年 9 月 9 日,一只小飞蛾钻进了哈佛大学的一台计算机电路里,导致系统无法工作,操作员把飞蛾贴在计算机日志上,写下了“首个发现 Bug 的实际案例”。
软件项目中最早也是通过邮件、即时通讯等原始方式报告 Bug,直到 1992 年才有第一个专业的 Bug 跟踪软件GNATS。
为什么要使用 Bug 跟踪工具?
QQ 或者邮件报 Bug 的这种方式,看起来快捷简单,但是问题很多:
- Bug 不能有效被跟踪,不知道一个 Bug 是不是已经被修复了;
- 效率很低,开发人员频繁的被这样的报 Bug 的消息打断,不得不停下手头的工作去甄别 Bug;
- 不能直观的了解当前项目的 Bug 状态,比如说:修复了多少,还有多少没有修复,近期 Bug 数量是增加了还是减少了。
Bug 跟踪工具,采用结构化的数据来定义 Bug,每一个 Bug 都有一些关键的信息可以对 Bug 进行分类和检索。
一个 Bug 从创建到最后结束,其实是有一个完整的流程的。

使用 Bug 跟踪工具的注意事项
- 首先,所有的 Bug 都应该通过 Bug 跟踪系统管理和跟踪,不应该再通过 QQ/ 微信 / 邮件的方式跟踪 Bug。
- 然后,不能把多条 Bug 合并成一条,一个 Bug 创建一个独立的 Ticket。
- 再有,描述清楚如何重现 Bug 非常重要。
- 最后,不要把 Bug 跟踪系统当成讨论板用。
二、自动化测试工具
这些年自动化测试工具的快速发展,也降低了自动化测试的实现难度,可以方便地搭建自动化测试环境,通过简单的脚本语言就可以模拟人工操作。
当然更多的情况其实是团队不知道该如何实施自动化测试,比如说测试人员不会写程序,开发人员太忙,或者开发人员不会写测试用例,或者不知道该选择什么样的自动化测试工具。
测试人员可以学习一些基本的编程知识,尝试自己实现自动化测试。
从项目的角度,应该加大对自动化测试的投入,让开发人员参与到自动化测试代码的开发中。
三、其他帮助发现 Bug 的测试工具
不同领域的测试,要求也不一样。需要借助工具的帮助才能进行测试,从而发现问题。
应用这些测试工具其实并不难,毕竟都有很成熟的 API,网上也有很多教程,真正需要的是去执行。另外如果想要最大化工具的价值,及时发现问题,还要考虑将测试工具的应用自动化,加入到你的持续集成流程中去。
四、附录
Bug 跟踪工具
Bugzilla,MantisBT,Redmine
自动化测试工具
Selenium,Appium,Macaca
压力测试工具
Apache JMeter,LoadRunner,阿里云性能测试 PTS,WebPageTest
安全性测试工具
HP Fortify On Demand,Sqlmap,IBM Application Security APPScan
浏览器兼容性测试工具
Browsera,Browslering
测试用例管理工具
TestRail,飞蛾
五、其他摘抄
- 而 Bug 跟踪工具,采用结构化的数据来定义 Bug,每一个 Bug 都有一些关键的信息可以对 Bug 进行分类和检索。
- 在软件项目中,要把好的实践流程化,把好的流程工具化。Bug 跟踪工具则很好的贯彻了这一点,将 Bug 的解决过程流程化。
- 你平时在 Bug 跟踪系统中看到的 Bug 状态,看起来只是一个有限的状态列表,但背后其实是一套解决 Bug 的流程。
- 未来自动化测试会占据越来越多的比例,很多手工测试的工作会逐步被自动化测试代替。
总结
Bug 跟踪工具,不仅可以方便的报告 Bug 和跟踪 Bug,更可以帮助开发人员将 Bug 的解决过程流程化。
自动化测试工具是发展趋势,未来自动化测试会占据越来越多的比例,很多手工测试的工作会逐步被自动化测试代替。
如果想要最大化工具的价值,及时发现问题,还要考虑将测试工具的应用自动化,加入到你的持续集成流程中去。
边栏推荐
- windows平台下的mysql启动等基本操作
- Unix知识:shell详细解读
- Qt compile error: C2228: '.key' must have class/struct/union on the left
- 【GORM】存取数组/自定义类型数据
- 《云原生的本手、妙手和俗手》——2022全国新高考I卷作文
- SQL学习笔记——REGEXP运算符
- 蓝牙协议栈开发板 STM32F1 跑蓝牙协议栈 –传统蓝牙搜索演示以及实现原理[通俗易懂]
- 我们能做出来数据库吗?
- Intranet Penetration Learning (IV) Domain Lateral Movement - SMB and WMI Service Utilization
- KVM虚拟化作业
猜你喜欢
随机推荐
sql力扣刷题八
新人学习小熊派华为iot介绍
nodeJs--querystring模块
医院管理系统数据库,课程设计,SQLserver,纯代码设计
湖仓一体电商项目(二):项目使用技术及版本和基础环境准备
redis-enterprise use
《JUC并发编程 - 高级篇》06 - 共享模型之不可变(不可变类的设计 | 不可变类的使用 | 享元模式)
darknet 源码阅读笔记-01-activation_kernels.cu
Dart Log tool class
3D激光SLAM:LeGO-LOAM论文解读---完整篇
SQL存储过程详解
【LeetCode】Day108-和为 K 的子数组
KVM virtualization job
双链表的创建
SQL study notes - REGEXP operator
1161. 最大层内元素和 (二叉树的层序遍历)
2022/7/28
Web系统常见安全漏洞介绍及解决方案-sql注入
Day113. Shangyitong: user authentication, Alibaba Cloud OSS, patient management
透过开发抽奖小程序,体会创新与迭代









![[ 图 论 ]二分图判定及其匹配(基础+提高)](/img/79/56f750e71f558debe3d99404e296e3.png)