V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChrisFreeMan
V2EX  ›  程序员

请问怎么保证自己的项目不会每次更改一个地方就埋下数个新的 bug。

  •  1
     
  •   ChrisFreeMan · 13 小时 36 分钟前 · 751 次点击

    业余时间写了个个人项目(一个桌面 GUI 应用),代码量是自己个人项目中最大的,但目前没有多少用户,主要是自己在抽空开发和测试,经常因为功能改动或者优化导致出现一些难以发现的 bug ,很多时候 bug 要过好久才发现,绝大部分的用户宁愿直接卸载应用也懒得发一封反馈邮件。导致很多用户默默流失。

    现在也做了一些补救措施,比如延长自行测试的时间,极大地简化反馈的流程并主动无打扰的情况下邀请反馈,尽可能的减少破坏性的更改,并且在考虑给予终身免费会员来邀请一些朋友来作为活跃用户。

    我个人实在是认知有限,想恳请各位经验开发人士能够慷慨的指点一二。

    15 条回复    2024-12-04 19:16:56 +08:00
    h1298841903
        1
    h1298841903  
       13 小时 9 分钟前   ❤️ 1
    1. 是个单机应用,无法联网吗? 正常来说,会对每个操作路径都进行埋点,看哪一步操作中间断掉了,数据有异常,可以及时发现。
    2. 另外,还是要完善自动化测试,编写 UI 点击脚本。
    3. 此外,可以增加不同版本,比如:内测版、先遣版、稳定版。
    ChrisFreeMan
        2
    ChrisFreeMan  
    OP
       13 小时 3 分钟前
    @h1298841903 感谢回复,应用是本地应用加可选的联网功能,我没有写过 UI 自动化测试脚步,因为处于早期频繁开发状态,担心工作量太大难以维护。应用是上架在 app store ,目前的话有 testFlight 版本,但是未邀请任何其他人参加,不知道怎么找到意愿测试用户。
    fenglirookie
        3
    fenglirookie  
       13 小时 1 分钟前
    Mac 软件呀
    ChrisFreeMan
        4
    ChrisFreeMan  
    OP
       13 小时 0 分钟前
    @fenglirookie 是的
    hdfg159
        5
    hdfg159  
       12 小时 51 分钟前
    单元测试全覆盖了吗
    lambdaq
        6
    lambdaq  
       12 小时 48 分钟前   ❤️ 1
    你是否在寻找:

    全链路、全界面免埋点事件跟踪还原监控系统。
    Configuration
        7
    Configuration  
       12 小时 47 分钟前   ❤️ 1
    无法绝对避免的,只能是多测试;也可以上 TestFlight 让用户帮你测
    jeesk
        8
    jeesk  
       12 小时 42 分钟前 via Android   ❤️ 1
    让 反馈更加容易呗, 增加一个按钮,可以直接上传日志,或者发送邮件,邮件中携带附件。
    jeesk
        9
    jeesk  
       12 小时 38 分钟前 via Android
    按钮旁边的文字最好温柔点:

    如果您有什么建议和反馈亲随时联系我们, 然后弹出界面,发送邮件或者反馈文字框。


    别忘了表达感谢,xx 应用离不开用户的支持。
    反馈让应用变得更加好用。
    ChrisFreeMan
        10
    ChrisFreeMan  
    OP
       12 小时 15 分钟前 via iPhone
    @jeesk 感谢回复🙏目前的话反馈按钮隐藏在 macOS 顶部菜单栏的帮助栏里面,为了不影响界面整洁,我在考虑怎么引入到更合适免打扰的位置,我会加上那些感谢信息的。
    skydcnmana
        11
    skydcnmana  
       12 小时 14 分钟前   ❤️ 1
    单元测试啊,高覆盖的单元测试,每次修改时都跑一遍,就行了
    importmeta
        12
    importmeta  
       12 小时 5 分钟前   ❤️ 1
    学过软件工程这门课吗? 可以选择适合自己的软件工程测试阶段常用的测试方法和覆盖标准, 可以找找软件工程书籍看看, 大致看看就行了. 然后再结合 AI 与你的项目代码实践一下, 估计学个几天就差不多了.
    importmeta
        13
    importmeta  
       12 小时 3 分钟前   ❤️ 1
    一定要找一个适合你的覆盖标准来写或者生成测试用例, 我也在开发自己的项目, 我也写了好多测试, 我用的路径覆盖, 但是花了我大量的时间
    donaldturinglee
        14
    donaldturinglee  
       12 小时 2 分钟前   ❤️ 1
    可以去了解一下 TDD
    ChrisFreeMan
        15
    ChrisFreeMan  
    OP
       10 小时 18 分钟前
    @importmeta 感谢回复,这方面知识确实薄弱,非科班,我主要也是怕写测试太花时间,本来能专注写代码时间不多,我会了解一下,希望能找到平衡的方法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:35 · PVG 05:35 · LAX 13:35 · JFK 16:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.