代码之家  ›  专栏  ›  技术社区  ›  madcolor

去测试还是不去测试……这就是问题[结束]

  •  5
  • madcolor  · 技术社区  · 15 年前

    我正在寻找一个或另一个的共识

    • beta;发布软件- 对有限的受众起作用,并让用户引导 处理直到应用程序 完成。

    • 无测试版;定义所有功能 基于以前的用户反馈 和/或业务逻辑,构建 软件,用任何东西测试它 你给自己(或被给予)的时间。

    10 回复  |  直到 14 年前
        1
  •  8
  •   Itay Moav -Malimovka    15 年前

    嗯……贝塔是一种产品 你认为结束了 …直到你让beta用户玩它,而他们用你没有想到的方式破坏它。
    所以,是的,使用beta,除非你想把你的产品烧掉给很多用户。

        2
  •  2
  •   John Saunders    15 年前

    我不同意你的两个案件。

    内部质量保证怎么样?你知道,他们也会发现虫子。只有在您没有已知的严重错误时才向客户发布测试版。

    此外,一定要充分测试。如果时间紧迫,而且你还没有完成所有的测试,那就很难了。完成测试,不管你有没有时间。

        3
  •  2
  •   JB King    15 年前

    我的答案是,有许多因素可以决定哪个更有意义:

    1)错误的后果-如果错误会导致人死亡,那么我认为测试版是个坏主意。你能想象在核反应堆或导弹系统上运行beta软件吗?另一方面,如果结果相当小,比如一些幻想体育网站暂时中断,那么在beta版本中发布可能就不那么糟糕了。

    2)用户期望。想想应用程序的用户,他们对使用“测试版”的东西有什么感觉?如果这会使他们害怕实际使用软件,并且害怕软件会经常爆炸并被错误所困扰,那么这也会起到一定的作用。

    3)应用程序的大小。如果你要建立一些非常大的东西,比如说一个ERP来处理101个国家的法律要求,并且包含数百个附加模块,那么测试版可能比试图完成所有的工作更为合理,而且永远不会到达你有客户的地方。

    4)部署。如果您设置的代码运行在您自己的机器上,并且可以很容易地升级和修补,那么测试版可能比一开始就把它做好要好。

    5)开发方法。如果您采用瀑布式方法,那么没有测试版可能是更好的选择,而在敏捷场景中,测试版更为合理。后者的原因是,在敏捷的情况下,会有多个版本随着时间的推移而改进产品。

    我会记住一些事情,因为在某些情况下,我很容易想象使用betas,而在其他情况下,我会尽量避免使用betas。

        4
  •  1
  •   jbritten    15 年前

    毫无疑问是贝塔!

    运行测试期的一些好处…

    • 提高产品质量、可用性和性能
    • 揭开虫子
    • 深入了解客户如何使用您的产品
    • 测量对新功能的响应
    • 收集新功能请求
    • 估计产品支持需求
    • 识别客户
    • 赢得客户评价
    • 准备最终发布
    • 为产品发布制造轰动

    快速启动并经常迭代。

        5
  •  0
  •   TwentyMiles    15 年前

    我不知道这个应用程序是什么,它的观众是什么,我认为这将是一个艰难的选择。然而,如果它是一个开源项目,那么看起来共识通常是“提前发布,经常发布”。

        6
  •  0
  •   Matthew James Taylor    15 年前

    这个 真实的 问题是:你知道吗 确切地 什么是你的用户什么?

    如果你回答是的话,那么设计并构建所有东西,然后在没有测试版的情况下启动它。

    如果你回答“不”,那么测试版就是你的选择——你的用户将帮助你定义你的软件,他们会感觉更多的是这个过程的一部分,并且拥有一些所有权。

        7
  •  0
  •   Jeremy    15 年前

    我说贝塔。但我不同意你的前提。你不应该发布半任何软件。作为测试版发布的软件至少应该是功能完整的。这样,您的用户就知道他们正在进入什么。

    就发现虫子而言。内部测试是最好的。然而,任何发布过软件的人都知道,不管用户用什么方法都会找到一种新的、有趣的方法来打破它。

    所以测试直到你的心满意。

        8
  •  0
  •   James Black    15 年前

    我建议先对一个选定的组进行阿尔法测试,这并不是功能完整的,因此它们可以帮助您查找错误并确定需要哪些功能。

    一旦你得到了被认为是功能完整的东西,那么就把它发布到一个更大的组中,主要是为了发现错误,并得到关于功能更改的评论,但是除非有一些关键的东西,否则你不能进行功能更改。

    此时,您已经准备好发布了,然后返回到下一个版本的步骤(1)。

        9
  •  0
  •   Tian Bo    15 年前

    在完成(你认为)你的软件,并且相信没有严重的错误之后,进行alpha测试。使软件在公司的测试人员中可用,修复报告的错误。

    接下来,将软件作为测试版发布给客户,收集评论,修复错误并改进功能。

    只有当你准备好释放。

        10
  •  0
  •   Marc Bernier    15 年前

    两者都不。

    在你觉得产品没有缺陷之前,你不应该发布测试版。在这一点上,测试版用户 会找到 漏洞。他们会的,相信我。至于让测试版用户“指导设计”,这可能不是一个好主意——你最终会得到一个软件,它看起来就像是荷马·辛普森设计的汽车。测试版用户不是软件设计师是有原因的。

    至于第二个选项——除非你是一个非常出色的测试人员,否则你将无法测试它以及最终用户(他们会对你的软件做最愚蠢的事情)。如果你“用你给自己(或被给予)的任何时间来测试它”,你将没有足够的时间。