第一次接触自动化测试就像拿到了法拉利的钥匙。YouTube上充斥着关于当有人在法拉利中过早感到舒适时会发生什么的视频。
自动化测试很快,但仅限于您指定的方向。并且拥有大量它们很容易导致交通拥堵,因此首先确保它们以正确的方式应用在正确的区域很重要。
“我想要达到的不是越来越多的测试。我真正想要的是尽可能少的测试,因为这将最大限度地减少维护工作,并且仍然可以获得我正在寻找的那种风险覆盖范围,”Gartner高级总监JoachimHerschmann说道,他是应用程序设计和开发团队。
相关内容:这些解决方案提供商如何支持自动化测试自动化测试工具指南
要开始使用自动化测试,组织需要首先查看他们的测试将在哪里提供最大的价值,以避免测试蔓延并防止高昂的维护成本。
Parasoft的首席布道者ArthurHicken说:“从基于风险的测试的风险角度来看,每周进行一千次自动化测试的温暖、模糊的感觉并不能真正告诉你任何事情。”“所以我认为这种价值驱动自动化的方法对于什么是最有价值的,我们需要什么样的信心,我们需要什么样的覆盖面很重要。”
组织需要考虑创建测试的成本和维护测试的成本,因为通常维护成本比创建成本高得多。
还必须考虑在时间方面执行测试的成本。随着BigBang一年发布几次,创建测试并不是什么大问题,但如果一家公司习惯于推出每周更新,例如移动应用程序,那么能够缩小自动化范围并将其集中在准确正确的测试集。
借助价值驱动的测试自动化策略,组织可以识别仅涵盖后端业务逻辑并且可以通过API级集成(甚至单元)测试更有效地进行测试的全栈测试。根据博通在一篇博文中的说法,他们还可以识别具有依赖关系的瓶颈,这些依赖关系可以被虚拟化以实现更有效的测试和自动化。
测试人员可能决定不自动化一些他们认为非常适合自动化的测试,因为让测试人员执行这些测试结果证明效率更高。
在API级别进行测试
根据Hicken的说法,解决自动化测试带来的复杂性的一种方法是在API级别而不是UI上进行测试。
众所周知,从用户角度确保应用程序以正确方式执行的UI测试非常脆弱。
“[UI测试]无疑是最简单的入门方法,因为它很容易查看UI并了解您需要做什么,例如开始戳东西,但在某些时候,这变得非常难以继续,”Hicken说。“很难让边界情况发生或模拟错误条件。此外,从根本上说,UI测试是最难调试的,因为你有太多的上下文,而且它最难维护。”
同时在单元级别,自动化测试的执行和创建速度非常快,并且易于理解和维护。在单元测试之后,可以添加他们拥有的最简单的功能测试,然后使用UI进行回填。现在,他们可以确保发生实际的业务案例和用户故事,并且他们可以针对业务逻辑实施这些测试,以获得适当的测试组合,Hicken解释说。
“如果我看到一个系统并自动化该系统,这实际上并不是那种自上而下的方法,它实际上是现在从自下而上的焦点,人们正在以企业规模接近自动化,并询问我们的蓝图或模式是什么是德科技测试自动化的首席技术布道者乔纳森·赖特(JonathonWright)说。“这是令人难以置信的复杂状态,而且魔鬼在细节中……他们在问你如何用真实的数据而不是一条快乐的道路来测试这些东西?”
Wright解释说,快乐路径测试将不再适用,因为人们正在使用所有相同类型的数据测试上游和下游系统,而这一切都在快乐路径类型的场景中发挥作用。即使人们在进行合同测试,从API的角度对每个系统进行端到端测试,人们也只是使用一个用户和一个帐户,然后,当然,它可以工作。但赖特认为,这种方法没有抓住重点。
“因为人们是在孤立地进行测试,所以他们也在使用Wireshark测试他们的shim或stub或他们的服务虚拟化组件,因此他们实际上并没有针对真正的API进行测试。因此,他们只是通过将它们锁定来排除很多东西,”赖特补充道。
专注于真实用户交互设置自动化测试的一个好方法是
转载请注明:http://www.0431gb208.com/sjsbszl/6644.html