• 【软件工程之美 - 专栏笔记】33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?



    专栏信息

    1. 专栏作者:宝玉

    2. 专栏发布平台:极客时间


    主要内容

    不知道你有没有仔细想过这个问题,为什么现在不通过 QQ/ 微信 / 邮件报 Bug,又有哪些测试工具可以帮助你更好地发现、报告和跟踪软件中的 Bug 呢?


    一、Bug 跟踪工具

    1947 年 9 月 9 日,一只小飞蛾钻进了哈佛大学的一台计算机电路里,导致系统无法工作,操作员把飞蛾贴在计算机日志上,写下了“首个发现 Bug 的实际案例”。
    在这里插入图片描述
    软件项目中最早也是通过邮件、即时通讯等原始方式报告 Bug,直到 1992 年才有第一个专业的 Bug 跟踪软件GNATS

    1. 为什么要使用 Bug 跟踪工具?

      QQ 或者邮件报 Bug 的这种方式,看起来快捷简单,但是问题很多:

      1. Bug 不能有效被跟踪,不知道一个 Bug 是不是已经被修复了;
      2. 效率很低,开发人员频繁的被这样的报 Bug 的消息打断,不得不停下手头的工作去甄别 Bug;
      3. 不能直观的了解当前项目的 Bug 状态,比如说:修复了多少,还有多少没有修复,近期 Bug 数量是增加了还是减少了。

      Bug 跟踪工具,采用结构化的数据来定义 Bug,每一个 Bug 都有一些关键的信息可以对 Bug 进行分类和检索。

      一个 Bug 从创建到最后结束,其实是有一个完整的流程的。
      在这里插入图片描述

    2. 使用 Bug 跟踪工具的注意事项

      1. 首先,所有的 Bug 都应该通过 Bug 跟踪系统管理和跟踪,不应该再通过 QQ/ 微信 / 邮件的方式跟踪 Bug。
      2. 然后,不能把多条 Bug 合并成一条,一个 Bug 创建一个独立的 Ticket。
      3. 再有,描述清楚如何重现 Bug 非常重要。
      4. 最后,不要把 Bug 跟踪系统当成讨论板用。

    二、自动化测试工具

    这些年自动化测试工具的快速发展,也降低了自动化测试的实现难度,可以方便地搭建自动化测试环境,通过简单的脚本语言就可以模拟人工操作。

    当然更多的情况其实是团队不知道该如何实施自动化测试,比如说测试人员不会写程序,开发人员太忙,或者开发人员不会写测试用例,或者不知道该选择什么样的自动化测试工具。

    测试人员可以学习一些基本的编程知识,尝试自己实现自动化测试。

    从项目的角度,应该加大对自动化测试的投入,让开发人员参与到自动化测试代码的开发中。


    三、其他帮助发现 Bug 的测试工具

    不同领域的测试,要求也不一样。需要借助工具的帮助才能进行测试,从而发现问题。

    应用这些测试工具其实并不难,毕竟都有很成熟的 API,网上也有很多教程,真正需要的是去执行。另外如果想要最大化工具的价值,及时发现问题,还要考虑将测试工具的应用自动化,加入到你的持续集成流程中去。


    四、附录

    1. Bug 跟踪工具

      Bugzilla,MantisBT,Redmine

    2. 自动化测试工具

      Selenium,Appium,Macaca

    3. 压力测试工具

      Apache JMeter,LoadRunner,阿里云性能测试 PTS,WebPageTest

    4. 安全性测试工具

      HP Fortify On Demand,Sqlmap,IBM Application Security APPScan

    5. 浏览器兼容性测试工具

      Browsera,Browslering

    6. 测试用例管理工具

      TestRail,飞蛾


    五、其他摘抄

    • 而 Bug 跟踪工具,采用结构化的数据来定义 Bug,每一个 Bug 都有一些关键的信息可以对 Bug 进行分类和检索。
    • 在软件项目中,要把好的实践流程化,把好的流程工具化。Bug 跟踪工具则很好的贯彻了这一点,将 Bug 的解决过程流程化。
    • 你平时在 Bug 跟踪系统中看到的 Bug 状态,看起来只是一个有限的状态列表,但背后其实是一套解决 Bug 的流程。
    • 未来自动化测试会占据越来越多的比例,很多手工测试的工作会逐步被自动化测试代替。

    总结

    Bug 跟踪工具,不仅可以方便的报告 Bug 和跟踪 Bug,更可以帮助开发人员将 Bug 的解决过程流程化。

    自动化测试工具是发展趋势,未来自动化测试会占据越来越多的比例,很多手工测试的工作会逐步被自动化测试代替。

    如果想要最大化工具的价值,及时发现问题,还要考虑将测试工具的应用自动化加入到你的持续集成流程中去

  • 相关阅读:
    Bazzite:专为 Steam Deck 和 PC 上的 Linux 游戏打造的发行版
    【git】gitee的上传文件与报错
    掌握 R 软件在 Windows 及 Mac 上的下载安装流程
    大二C#实现酒店管理系统(C端展示、前台操作、登记入住、入住管理、职位管理、公告系统等)
    微信小程序 java健康评估系统springboot
    LeetCode每日一题:面试题 01.08. 零矩阵(中等)
    计算机防勒索病毒之主机加固核心要点
    【读书笔记】《软技能》
    Centos7安装MySQL5.7全部流程
    智慧路灯远程智能控制
  • 原文地址:https://blog.csdn.net/mek1986/article/details/126082084