QuickTest Pro自动测试

问题描述:

我有三个简单的问题。QuickTest Pro自动测试

有没有人使用QuickTest Pro进行自动测试?

您推荐的其他自动测试应用程序?

自动测试是一个好主意吗?

谢谢

上有SO关于测试自动化多个线程:

我从来没有使用快速测试专业版,但我一直在几个使用不同自动化测试工具的项目; Silk Test,Rational Robot,WinRunner。这些工作中最成功的是使用RRAFS框架的Rational Robot来隔离应用程序更改和测试脚本。我们还使用STAF框架来自动化和管理我们的测试基础架构。

自动化测试是测试应用程序方面的一种很好的技术,但它不能代替人类测试人员。像所有工具一样,您可以使用它,也可以滥用它。只要你测试的是稳定的,重复的,具有可预测或可计算的结果,并且你经常测试它,那么自动化的成本最终会为自己付出代价。

'自动测试'不如听起来那么好。据我所知,测试执行的自动化只是过程的一部分。

哪种自动化测试?

我已经编写了一些脚本,这些脚本是后期构建过程的一部分,通过API比较一些结果,但这不是特别想要的。

在自动化windows用户界面应用程序方面,我已经看到了理性机器人,但不能特别推荐它。

我们没有在我工作的地方使用QuickTest Pro,但我们正在研究自动系统测试的选项。就建议而言,如果不知道你的标准是接受还是拒绝软件工具,那就有点困难。我正在根据这些标准判断自动化系统工具:

  • 它是否允许程序员以外的人创建自动系统测试?
  • 程序员可以编写脚本来定制目的吗?
  • 它支持数据驱动的测试(使用外部文件和/或数据库的测试数据多次运行单个测试)。
  • 你可以配置订单测试吗?
  • 它支持包含在持续集成环境中有多好?

这些只是能力。成本当然是一个因素。另一个因素是该工具是否需要学习专用语言来编写脚本。

自动化测试绝对是一个好主意。自动化测试是continuous integration的关键推动因素之一。

我发现非UI的自动化测试绝对值得。

UI的自动化测试也是值得的,但不是那么多。对于我的项目,用户界面不到10%的代码。 UI的自动化测试还有一系列其他问题,例如时序和线程访问,这使得它比预期更加困难。我使用nunitforms进行UI测试。

我建议如果可能的话,先测试UI背后的逻辑,然后再测试UI。用非UI测试你可以获得更好的效果。

我评估了自动化QA的测试程序,它看起来不错,但我使用了nunitforms,因为它与我在非UI测试中所做的更类似。

我是使用QTP的自动化团队的负责人,我讨厌它。录制/回放功能太糟糕了,它会经常被弄糊涂,导致奇怪的测试结果。记录只能用于构建对象数据库,甚至必须导致各种黑客行为,才能使其可靠地工作。

QTP/QC是基于ActiveX/COM的,只能用VBScript编写脚本,这是另一个火辣的狗狗便袋。为了获得任何可扩展性,我们必须采取所有这些黑客和技巧。我们正在做一些事情,比如运行一个测试,动态地将QTP测试添加到测试套件中,编辑输入参数,更改对象存储库以使其与环境相匹配,保存测试,生成调度程序实例以运行测试。测试完成后,将所有结果复制到父测试,然后从测试集中移除QTP测试。最后,我们最终发布了VBScript调用的自定义COM组件,并使用QTP/Quality Center作为一个半分类的报表引擎,但它并没有提供足够的灵活性来获取我们真正需要的报表类型。

Mercury/HP的另一个问题是,他们将所有技术支持外包给印度,并没有对他们进行培训。在与任何具有关于API的技术知识的人交谈之前,通常会花费2周的时间在较低级别的支持炼狱中,但只有被告知是的,这是一个错误,但我们不会解决它。

对于强大的语言我感到抱歉,但是我发现整个剧集都受到伤害,并且永远不会在项目或再次使用QTP/QC的团队中工作。

+0

记录和重播在QTP等所有工具中浪费时间。正如你所说的,唯一的用法是看看你的工具如何识别给定的对象,但即使这样你也需要调整这个定义。 – yoosiba 2011-02-17 22:08:28

如果任务中有重复,任何任务的自动化应该在那里。在一个模块中,如果您必须为每个构建运行回归测试用例,并在该构建中对产品进行了一些小改进,则可以自动执行回归测试用例运行。在这个例子中,重复性测试用例的自动化将提高生产力&将使测试人员更专注于手动测试。

除了qtp,你也可以探索压扁qt相关项目&测试合作伙伴为Windows C++ & VB项目。

丹,我使用QTP 11进行自动化。

让我知道你的要求,比如你想测试什么样的应用程序等等。很多开源和共享工具可用于几乎所有类型的应用程序。

自动化测试是一个好主意,只要你要自动化不会经常改变。如果不是这样,那么最终会相应地修改测试脚本,而不是在需要时在应用程序上运行测试脚本。