首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从所有手动测试过渡到自动测试

从所有手动测试过渡到自动测试
EN

Stack Exchange QA用户
提问于 2011-08-24 21:06:07
回答 7查看 3.1K关注 0票数 22

现在我的公司只做手工测试。我们已经讨论过开始一些自动化测试了一段时间,但它还没有起飞。自动化测试似乎是帮助QA人员集中精力解决具有挑战性的问题,并将常规修复和测试留给自动化系统的好方法。有没有人建议我如何:

  1. 鼓励采用自动化测试(主要是在管理方面)
  2. 确定一些容易被自动测试替换的当前测试。
  3. 选择一个好的自动化测试软件(我们显然在任何地方都有自动化,但我不知道这是否是一个好的产品开始自动化测试)
EN

回答 7

Stack Exchange QA用户

回答已采纳

发布于 2011-08-25 16:07:01

我在自动化和手工测试方面做了大量的工作,我对您的三个问题的看法是:

  1. 你对回归有多大的麻烦?这可能是你最大的潜在节省时间/成本。任何需要长时间、枯燥的回归测试的东西都是一个很好的目标--小心不要过度销售。有一个很大的提升成本,以确保您的开始阶段将是较低的效率和更昂贵的正常操作。一旦您有了一个基本的框架和一些简单的测试(最好是简单的、有良好的ROI (这取决于您的应用程序)的测试运行),您就可以保证这个特性在每个版本中都能工作,而不需要做任何其他的事情。
  2. 我在某种程度上提到了当前的测试问题:对于初学者来说,最好的选择是经常使用的东西,有冗长、乏味或耗时的回归测试,可能经常中断,或者是任务关键。作为一般规则,从符合以下两个或更多条件的简单方法开始:如果您的应用程序计算税收,任何带有税务场景的事务都是一个很好的起点。你的基本目标应该(在我看来是非常谦虚的)!要达到80/20规则:自动化您的应用程序的20%,这是您80%的使用。(登录/注销和会话管理是其他好的、容易实现的目标)。
  3. 良好的自动化软件取决于您的应用程序和您的需要。您需要考虑的关键是,您是否在处理web应用程序(有许多免费或低成本的工具可用于web应用程序)、Windows应用程序、移动应用程序、Linux、Mac等。您需要的东西至少足以识别与之交互的各种组件,并调用它们的公共方法。维护称为"SubmitButton.ClickButton()“之类的东西的自动化比根据屏幕上像素位置进行交互要容易得多。

祝你好运,祝你自动驾驶愉快。

票数 15
EN

Stack Exchange QA用户

发布于 2011-09-02 20:07:33

最近,我离开了微软,在那里,我们为一家拥有少量自动化的小公司提供了大量的自动化服务,以帮助我们启动大量测试自动化的过程。幸运的是,这里的管理层已经意识到他们需要加强自动化,然而,即使在承认他们需要更多的自动化之后,实际上提供实现自动化所需的资源却要困难一些。

因为我的公司已经取得了一些自动化的成功,也有一些自动化的失败,所以我知道我需要做的一件事就是在开发人员、管理层以及其他利益相关者之间建立对我们的自动化的信心。出于这个原因,我选择了几个回报很高的简单项目作为要解决的最初几个项目,以显示出一些显著的生产率提高和周转时间。我创建的前两个工具实际上并不一定是自动化的。第一个工具是一个工具,通过将数据插入到日志文件中来帮助手动测试,这将使我们的产品在分析日志并将其插入数据库时更容易处理这些数据。这个工具非常简单,但可以让我们做的更深入的测试,增加我们的信心,同时也加快了进程。第二种方法只是修改一些现有的自动化测试,并添加一些工具来使用单一的机制:( a)启动自动化(mstest),b)日志记录和报告结果,c)在构建上运行构建。第三个工具是我在这个答案中概述的自动部署验证工具:部署测试。总之,当试图说服管理层(以及其他任何人)自动化可以加速测试和提高自信水平时,有一些具体的例子是很好的,因此一些已经增加了价值的快速工具在说服管理层让您做更多的事情时是非常有用的。

我计划解决的下一个问题是UI自动化框架(在当前selenium/webdriver构建的基础上进行抽象),然后深入到HTTP和数据库层进行测试。

我不熟悉任何地方的自动化,但是我知道正确的自动化工具套件在很大程度上取决于您正在测试的内容。您说的只是UI自动化,还是其他额外的自动化?它是什么样的用户界面-网页,windows应用程序,闪光灯,银光等?您需要在什么操作系统/浏览器/环境中运行自动化?通常情况下,自动化的成功将更多地与您的实现有关,而不是在您正在使用的底层框架上。一个常见错误的例子是在没有抽象的情况下直接使用现有的框架,通常使用诸如记录器之类的工具来记录和回放测试用例。虽然这将使您快速上线,但它也将使您的自动化维护和稳定变得困难,甚至不可能。花点时间构建一个适当的抽象,这将使您的自动化测试的开发和维护变得更加简单。

票数 9
EN

Stack Exchange QA用户

发布于 2011-08-24 21:49:49

首先,如果您查看此网页的右上角,您将看到一个白框,标签为“搜索”。如果您单击该框,键入“自动化”并单击“返回”,您将看到许多有关自动化的问题和答案的链接。我相信值得你花时间仔细观察你在那里看到的东西。

这是一个很大的主题,但如果是我,我会首先决定我的主要动机是节省时间,还是找到更多的bug。

如果您的主要动机是节省时间,那么您应该首先自动化一些常见的时间密集型设置任务,例如生成测试数据或自动安装和配置您的产品。这些事情是一个很好的起点,因为它们是可测量的,这对你的管理可能很重要。如果您可以用它报告可量化的成功,那么可能更容易证明其他类型的自动化是正确的。根据我的经验,与自动化测试相比,自动化设置任务还需要更少的编程技能。

如果您现在有严重的质量问题,并且您怀疑自动化测试可能会帮助您找到更多的bug,那么您应该确定一些自动化可以帮助您的特定领域。有许多识别测试自动化的策略,例如特别错误的区域、特别耗时或容易测试的区域,或者具有组合的可能输入集但具有容易预测的输出的区域。

请注意,尽管工具供应商和自动化测试传道者声称,自动化测试并不是一颗神奇的子弹。此外,与所有软件一样,自动化测试需要前期投资,然后是持续的维护。与任何大型项目一样,采用自动化的方法:从小项目开始,对结果诚实,如果你没有达到目标,就准备好改变策略。

票数 8
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/1703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档