1

我的公司即将购买自动化测试工具。我们不是一家大公司,只能负担该工具的单一许可证。我们对测试的操作系统应该是我们的客户最常用的操作系统 (XP) 还是下一代操作系统 (Windows 7) 存在内部争议。无论如何,所有可能的操作系统都将被测试,但规模要小得多。

我们的大部分开发都是使用 PowerBuilder 完成的,所有的开发机器都运行 XP。因此,我们不使用 Vista 或 7 提供的任何新功能。这意味着如果我们的软件在 7 上运行,它在 XP 上运行应该没有问题。反之则不同,因此必须进行适当的测试。OTOH,主要测试环境是主要生产环境是有道理的。

鉴于资源如此有限,您会将测试重点放在哪个操作系统上?

4

6 回答 6

7

绝对是主要环境。

如果您的主要用户群是 XP,为什么还要浪费时间在 Windows 7 上进行测试。是的,一旦你在 XP 上进行了测试,你肯定也应该在 vista 和 7 上进行测试,但是如果你只有资源来自动化测试一个,你应该专注于主要平台。

于 2009-06-10T10:20:47.680 回答
3

您不应该假设因为您的应用程序在 Windows 7 上运行良好,就可以在 XP 上运行。两个操作系统版本之间存在无限数量的变化,可能会中断。理想情况下,您应该在您支持的每个操作系统上进行测试,这可能是不可能的,但主要是要保证它适用于您的主要目标。

于 2009-06-10T10:24:19.327 回答
2

测试你支持什么。之后,测试您在不久的将来需要支持的内容,最后,让开发人员测试“尖端”/beta/rtm/alpha OS。

例如,如果您支持 XP,那么它是用于测试的主要操作系统,如果做得好,测试该操作系统的资源应该是最少的,如果您的下一个版本支持 Vista,那么,将 Vista 带入测试循环并使其成为优先事项。

如果您需要支持 Windows 7,则让开发人员首先在其上运行,无论如何它可能需要一些“编码”并且可能会破坏自动化测试;一旦达到可接受的质量水平,就将其带入测试循环。

于 2009-06-10T11:24:49.893 回答
2

是时候尘埃落定旧的“PowerBuilder 1 和 Windows beta”故事了。记住:我不在那里,这是口述历史,而且我已经足够大,我的记忆开始修饰我自己的故事,更不用说别人的了。

Powersoft 获得了这个主要的营销分数。他们与 Microsoft 合作,在新版本 Windows (3.0) 的同一天发布他们的新产品 PowerBuilder。微软试图证明他们构建的这个平台适用于定制的业务线应用程序,而不仅仅是图形程序和扫雷。因此,Powersoft 从 Microsoft 获得了最后一个候选版本,并且彻底击败了 PowerBuilder。他们很满意。在发布当天,商务人士走出电脑商店时,一只胳膊下夹着 Windows,另一只胳膊下夹着 PowerBuilder。然后电话开始打进来。PowerBuilder 严重损坏,而且很明显。微软在候选版本和通用版本之间做了一些改变(可能是为了修复一个错误),这让 PowerBuilder 屈服了。Powersoft 迅速做出了修复,但在之后的很多天里都有很多红脸。

故事的寓意:针对 beta 进行测试几乎没有任何意义。除非您正在制定 10 月 22 日之后的计划,否则您不应该计划在 Windows 7 上进行粗略的测试,因为当真正的Windows 7 发布时,您需要重新进行测试。

祝你好运,

特里。

于 2009-06-19T04:34:58.517 回答
0

在第一个服务包发布之前,Windows 版本通常不稳定。现在开始意味着您不仅在测试您的软件,而且还在未经测试的系统上进行测试。如果有错误,你怎么知道是你的程序还是新的操作系统?

您的客户将在未来一段时间内使用 XP(感谢 Vista,它仍然很受欢迎)。跟着你知道的走。

此外,您可能会节省 1-2 GB 的 RAM,这些 RAM 可以更好地用于您的编译器和工具,而不是用于窗口糖果和通常的膨胀。

于 2009-06-10T10:59:20.163 回答
0

冒着听起来油嘴滑舌的风险,测试两者。忍受我。

首先有一个自动化的构建过程,它可以从源代码控制中干净地构建你的软件(你有源代码控制,对吧?)。添加自动化测试。这包括从低级单元测试到集成测试再到使用TestCompleteSmarteScript 之类的无人值守功能测试的所有内容。现在,由于您现在可以在没有任何人工交互的情况下测试整个产品(或至少是关键部分),因此您可以根据需要随时运行这些测试。

创建一个干净的虚拟机来代表典型的客户端 PC。您的开发箱可能不是一个很好的例子。作为自动化构建过程的一部分,您可以编写虚拟机(至少是 VMWare 和 VPC)脚本以从已知良好的快照开始,安装软件的最新构建,运行自动化测试并发布结果。

那是困难的部分。现在,只需使用操作系统/服务包/内存/等的任意组合创建一个新的虚拟机,并在每个虚拟机上重复自动化测试。

听起来您正在添加大量流程。你实际上在做的是把所有可以(因此应该)自动化的东西从你手中拿走,让你有更多的时间去做更有趣的事情(如何把它卖给自己)和有利可图的东西(如何把它卖给你的老板)的东西。

否则,只需针对大多数客户使用的操作系统进行测试并包含免责声明。

于 2009-07-31T14:05:34.257 回答