测试跟上研发的步伐

目录

翻译内容

关于作者

About Jenna Sargent

原链接


翻译内容

With the emphasis on ever-faster software release cycles, organizations are turning to automated testing to ensure they can keep up with that speed while simultaneously ensuring they are releasing quality products.

随着对更快的软件发布周期的重视,组织正在转向自动化测试,以确保他们能够跟上这一速度,同时确保他们发布优质产品。

Though people have been talking about automated testing for a while now, many testing efforts are still manual, said Jeff Scheaffer, general manager of continuous delivery at CA Technologies. According to Scheaffer, the most recent estimates are that 70 percent of testing is still done manually.

CA Technologies持续交付总经理Jeff Scheaffer表示,尽管人们一直在讨论自动化测试,但许多测试工作仍然是手动的。 根据Scheaffer的说法,最近的估计是70%的测试仍然是人工完成的。

Mark Lambert, vice president of products at Parasoft, explained that automated testing is not just about having the right tooling, but about automating regression testing as well, which is what allows organizations to deliver quality at speed.

Parasoft产品副总裁Mark Lambert解释说,自动化测试不仅仅是拥有合适的工具,还包括自动化回归测试,这使组织能够快速提供质量。

A guide to automated testing tools 自动化测试工具指南

ps:https://sdtimes.com/test/a-guide-to-automated-testing-tools/

Without automation, the overhead of tests “grinds delivery to a halt” and becomes a bottleneck in the process, Lambert explained.

Lambert解释说,如果没有自动化,测试的开销会“使交付停止”并成为流程中的瓶颈。

“There is a fundamental need for testing to not only no longer be a bottleneck to innovation, but to able to keep pace with development, to reduce maintenance overhead, and to be able to optimize your test suite to reduce bloat,” said Wayne Ariola, chief marketing officer at Tricentis. “The ‘right’ testing tools cannot fail to deliver on these requirements for quality at speed.”

“测试的基本需求不再是创新的瓶颈,而且能够跟上开发的步伐,降低维护成本,并能够优化测试套件以减少膨胀,”Wayne Ariola说道。 Tricentis的首席营销官。 “'正确'的测试工具能够快速满足这些质量要求。”

Organizations need to seamlessly integrate testing into the software delivery pipeline so it can become a bridge between development and delivery, said Lambert of Parasoft. “Without that bridge your development gets done, but then you’re not able to validate the quality and do the delivery and push it out the door.”

Parasoft的Lambert表示,组织需要将测试无缝集成到软件交付管道中,以便它可以成为开发和交付之间的桥梁。 “如果没有这个桥梁,你的开发工作就会完成,但是你无法验证质量,完成交付,并将其推向市场。”

According to Scheaffer, even though many organizations are still doing manual testing, they will soon be forced to implement automation into their software development life cycles in order to stay competitive in their industry. “One only needs to look at other industries to see what happens to those who don’t embrace automation,” Scheaffer said. “Nearly every major industry relies on automated factories to produce goods. There is no reason to think the production and testing of software should be any different. Those who don’t embrace automation will not be able to keep pace with competitors due to the cost, speed and quality benefits of automation.”

根据Scheaffer的说法,尽管许多组织仍在进行手动测试,但他们很快就会被迫在自己的软件开发生命周期中实施自动化,以保持其行业的竞争力。 “只需要看看其他行业,看看那些不接受自动化的人会发生什么,”Scheaffer说。 “几乎每个主要行业都依靠自动化工厂来生产商品。 没有理由认为软件的生产和测试应该有所不同。 由于自动化的成本,速度和质量优势,那些不接受自动化的人将无法与竞争对手保持同步。“

There are two shifts that testing tools should accommodate, according to Tricentis’ Ariola. The first is that assessing the risk for a release candidate should be the primary objective of test case design and execution. The second is that testing tools should take the input of various stakeholders into account during each stage of the release cycle.

根据Tricentis的Ariola,测试工具应该容纳两个阶段。 首先,评估候选发布版的风险,候选发布版是测试用例设计和执行的主要目标。 第二,测试工具应该在发布周期的每个阶段考虑各种利益相关者的意见。

“Not all test information is relevant at the same time,” Ariola explained. “It must be delivered when stakeholders can take action on it—and those actions must be measurable.”

“并非所有的测试信息都是同时相关的,”Ariola解释道。 “当利益相关者可以对其采取行动时必须提供 - 而这些行动必须是可衡量的。”

Ariola said that there are three major components of choosing the right testing solution. First, organizations need to fully be on board with automation. He stressed that while manual efforts can complement automation, to achieve the consistent release cadence organizations need these days, automation is a necessity.

Ariola说,选择正确的测试解决方案有三个主要组成。 首先,组织需要充分利用自动化。 他强调,虽然手动工作可以补充自动化,但为了实现组织目前所需的一致的发布节奏,自动化是必需的。

Second, organizations need to anticipate the demands of tomorrow to avoid disruption. “These organizations must also come to the realization that legacy tools were not built to meet today’s demands of Agile and DevOps, much less tomorrow’s,” Ariola said.

其次,组织需要预测明天的需求,以避免中断。 “这些组织还必须认识到,传统工具的构建不能为了满足当今敏捷和DevOps的需求,更不用说明天了,”Ariola说。

Finally, testing should be able to keep up with the pace of development, reduce maintenance overhead, and optimize the testing suite in order to reduce bloat, Ariola explained.

最后,测试应该能够跟上开发的步伐,减少维护开销,并优化测试套件以减少膨胀,Ariola解释说。

Ariola also believes that removing the need for scripting can be a useful feature for automated testing tools. “Accelerating testing to where it can keep pace with development requires features that remove arguably the biggest pain point in legacy testing solutions—the requirement of scripting,” he said. “A model-based solution eliminates the need for coding expertise, while also reducing maintenance overhead that prevents organizations from reaching automation rates they never thought were possible—90 percent or greater.”

Ariola还认为,去脚本话可以成为自动化测试工具的有用功能。 “将测试加速到能够跟上开发的步伐,需要能够消除传统测试解决方案中最大的痛点 - 脚本编写的要求,”他说。 “基于模型的解决方案消除了对编码专业知识的需求,同时还减少了维护成本,高维护成本使组织无法达到他们从未想过的自动化率--90%或更高。”

Ariola also said that organizations should look for a testing platform that will give them access to the entire suite of development technologies used, and allow them to access everything through a single interface. Having this sort of end-to-end platform will enable organizations to update testing in real-time and in parallel with the evolution of the applications, he explained.

Ariola还表示,组织应该寻找一个测试平台,让他们可以访问所使用的整套开发技术,并允许他们通过单一界面访问所有内容。 他解释说,拥有这种端到端平台将使组织能够实时更新测试,并与应用程序的发展同步。

Gil Sever, co-founder and CEO of Applitools, said it’s important to pick a tool that can integrate with your existing tools and provide robust reporting capabilities. Your organization should also consider whether or not it will be able to integrate with other tools in the delivery process, such as continuous integration tools, like Jenkins, or collaboration tools, like Slack.

Applitools的联合创始人兼首席执行官Gil Sever表示,选择一种可以与现有工具集成,并提供强大报告功能的工具非常重要。 您的组织还应考虑是否能够与交付流程中的其他工具集成,例如Jenkins等持续集成工具或Slack等协作工具。

On the reporting side, the tool should be able to provide a visual representation of test results. It is also important to show which tests have passed, which tests have failed, and what the status of the application is after running the tests, Sever explained.

在报告方面,该工具应该能够提供测试结果的直观表示。 Sever解释说,显示哪些测试已通过,哪些测试失败,以及运行测试后应用程序的状态,这是是很重要的。

For example, Applitools has a dashboard that shows what percentage of tests passed or failed and if they failed on specific browsers or specific devices. This allows users to isolate the root cause or source of the problem and quickly fix it, Sever said.

例如,Applitools有一个仪表板,显示测试通过或失败的百分比,以及它们是否在特定浏览器或特定设备上失败。 Sever说,这允许用户隔离问题的根本原因或来源,并快速修复它。

Robust reporting capabilities also give organizations a better idea of how far away they are from being able to release a reliable application, Sever noted.

Sever指出,强大的报告功能还可以使组织更好地了解到,他们距离能够发布可靠应用程序还有多远。

Parasoft’s Lambert stressed that organizations should not be looking specifically for certain features, but rather looking at their current and future needs, and finding a solution that can satisfy both of those needs.

Parasoft的Lambert强调,组织不应该专注于某些功能,而应该关注他们当前和未来的需求,并找到能够满足这两种需求的解决方案。

It all comes down to the total cost of ownership, Lambert said. “What might be quick and cheap now may not be maintainable or scalable in the future,” he explained. Organizations need to find a balance between satisfying the needs they currently have, but also thinking about how that tool can scale in the future to suit future needs and requirements, he said.

Lambert说,这一切都取决于总体成本。 “现在可能快速、便宜的东西将来可能无法维护或扩展,”他解释道。 他说,组织需要在满足他们目前的需求之间找到平衡点,同时也需要考虑该工具如何在未来扩展以适应未来的需要和需求。

CA’s Scheaffer said he believes that in order to find the right automated testing tools, organizations should start by identifying a business driver. “Everyone wants to deliver quality software faster, with reduced risk and at lower costs, but usually an organization will have a specific, acute need that is leading them to evaluate testing solutions,” he said.

CA的Scheaffer说,他认为,为了找到合适的自动化测试工具,组织应该首先通过确认业务驱动因素开始。 “每个人都希望更快地提供高质量的软件,降低风险并降低成本,但通常组织会有一个特定的,急需的需求,他们会根据这些评估测试解决方案,”他说。

Once that driving factor is identified, organizations need to see where the gaps in their existing tools or processes are preventing them from achieving that objective, Scheaffer said.

一旦确定了这一驱动因素,组织需要了解现有工具的差距在哪,还是流程在阻碍他们实现这一目标,Scheaffer说。

“From there, it’s easy to identify which testing tools are right for your organization,” Scheaffer said. “If your biggest challenge is managing test data, the logical place to start is with a test data management solution. If mapping requirements to test cases is a challenge, you should look at solutions that offer model-based test case design. Organizations that have an issue accessing test environments can look at service virtualization solutions as a first step. And so on.”

“从那里,很容易确定哪些测试工具适合您的组织,”Scheaffer说。 “如果您最大的挑战是管理测试数据,那么合乎逻辑的起点就是一种测试数据管理方案。 如果将需求映射为测试用例是一项挑战,那么您应该考虑提供基于模型的测试用例设计的方案。 访问测试环境时遇到问题的组织可以将服务虚拟化方案作为第一步。 等等。”

Service virtualization gives you control over the dependencies in an application, so tests that would normally be created and executed at the end of the cycle can be executed earlier in the process, Lambert noted.

Lambert指出,服务虚拟化使您可以控制应用程序中的依赖关系,因此,在周期结束时将要被创建和执行的测试,可以在流程的早期执行。

Hurdles to automated testing自动化测试的阻碍
Organizations face many challenges when it comes into implementing automated testing.

在实施自动化测试时,组织面临许多挑战。
Among them are(其中包括):

  • Automated testing requires a cultural shift. According to CA Technologies’ Jeff Scheaffer, even though the benefits of automated testing have been proven, many individuals or teams have difficulty with giving up the control that is associated with manual testing. He said that it is important to strike a balance between automation and human control and checkpoints. 自动化测试需要文化转变。 根据CA Technologies的Jeff Scheaffer的说法,尽管自动化测试的好处已经得到证实,但许多个人或团队在放弃与手动测试相关的方面存在困难。 他说,在自动化与人为控制和检查点之间取得平衡非常重要。
  • “The maintenance trap.” Ariola of Tricentis referred to as “the maintenance trap.” Organizations get started with automation and have all of the tests up and running, but over time their environment changes and their applications change, and suddenly their automated tooling becomes unstable, explained Wayne Ariola of Tricentis. When this happens, teams need to spend more time on maintenance rather than defining the proper test scenarios, he noted. To overcome this, organizations will have to eliminate the need for scripting, such as by implementing model-based testing, Scheaffer said. “维护陷阱。”Tricentis的Ariola称为“维护陷阱”。组织开始使用自动化,并运行所有测试,但随着时间的推移,他们的环境发生变化并且他们的应用程序发生变化,突然他们的自动化工具变为不稳定,Tricentis的Wayne Ariola解释道。 他指出,当发生这种情况时,团队需要花费更多时间进行维护,而不是定义正确的测试场景。 为了解决这个问题,组织将不得不消除对脚本的需求,例如通过实施基于模型的测试,Scheaffer说。
  • Having the right stateful data at hand. Ariola said once that has been solved, the next challenge becomes making suring that the right systems and services are in place to be able to perform tests. “These two challenges require test data management that overcomes tough demands in terms of time-dynamics, data fluctuation, and consumption, and orchestrated service virtualization that helps you stabilize access to dependent systems,” Ariola said. 随时拥有正确的、有状态的数据。 Ariola说,一旦解决了这个问题,下一个挑战就是确保正确的系统和服务能够进行测试。 “这两项挑战要求测试数据管理能够克服时间动态,数据波动和消耗方面的严苛要求,以及协助服务虚拟化,帮助您稳定地对依赖系统进行访问,”Ariola说。
  • Skill and manpower. “In organizations that use manual testing, when they want to move to automation, it’s not just buying the tools,” said Applitools CEO Gil Sever. Organizations buy the new tool, but then they also probably need to hire a software engineer or software developer to build and maintain the scripts. Sever cites this need for resources as the main reason why not everyone has fully embraced automation. Companies can stick with manual testing and get away with cheaper manpower to do manual quality assurance, and some of them do, Sever explained. “I think visual validation joins that trend as well because instead of writing 50 or 100 lines of code to validate all the different fields, and all the different numbers, and all the different images that appear on the screen, with visual testing you actually tell the tool: validate that this image is correct and this screen is correct,” Sever said. “In the best case scenario, you only need to write one line of code. We actually take the screenshot, analyze it, and give you the result without needing you to write any specific code for it.” 技能和人力。 Applitools首席执行官Gil Sever说:“在使用手动测试的组织中,当他们想要转向自动化时,不仅仅是购买工具。”组织购买新工具,但他们也可能需要聘请软件工程师或软件开发人员来构建和维护脚本。 Sever认为这种资源需求导致不是每个人都完全接受自动化。 Sever解释说,公司可以坚持进行人工测试,并以更便宜的人力来完成手工质量保证,其中一些人会这样做。 “我认为视觉验证也加入了这种趋势,因为它不是编写50或100行代码来验证所有不同的字段,所有不同的数字,以及屏幕上出现的所有不同图像,而是通过视觉测试实际告诉您该工具:验证此图像是否正确,此屏幕是否正确,“Sever说。 “在最好的情况下,你只需要编写一行代码。我们实际上截取屏幕截图,分析它,并给你结果,而不需要你为它编写任何特定的代码。“
  • Scaling test practices with skills and knowledge. “You need to find something that’s easy to use, and can help translate the technical details of what you’re trying to implement into something that’s consumable by non-experts,” Parasoft’s Mark Lambert. 利用技能和知识扩展测试实践。 “你需要找到一些易于使用的东西,并且可以帮助将你想要实现的东西的技术细节转化为非专家可以使用的东西,”Parasoft的Mark Lambert说。

All of that presents the problem of maintaining a stable test automation suite, Lambert explained. He said that when organizations build a large suite of test cases, it can be difficult to not only identify the impact of changes, but to then take those changes into account and be able to refactor the test suite accordingly, he said.

Lambert解释说,所有这些都带来了维护一个稳定的测试自动化套件的问题。 他说,当组织构建一大套测试用例时,不仅难以识别变更的影响,而且要考虑这些变化,并能够相应地重构测试套件,他说。

RELATED CONTENT: How these companies can help you automate your testing process

相关内容:这些公司如何帮助您自动化测试过程

“Being able to have tooling that can help you with that impact assessment and with the refactoring will help streamline the maintenance of the practice so that you’re not spending all of your time rebuilding test automation,” Lambert said. “You’re able to just kind of rely on the test automation working as part of a regression and focus on expanding the overall test coverage on new functionality.”

“能够拥有可以帮助您进行影响评估和重构的工具,将有助于简化实践的维护,这样您就不会花费所有时间来重建测试自动化,”Lambert说。 “你可以只依靠测试自动化作为回归的一部分,并专注于扩展新功能的整体测试覆盖范围。”

According to Scheaffer, enabling continuous testing is the ultimate goal of test automation. “Rather than testing being an event that happens at a point in time (or in the SDLC), testing is done constantly,” he said. “With continuous testing, test cases are generated automatically from the business requirements, and then test cases are executed automatically as the code is being written. This results in tests that are both more comprehensive, and more efficient—enabling quality software to be delivered faster, at lower costs.”

根据Scheaffer的说法,实现连续测试是测试自动化的最终目标。 “而不是测试是在某个时间点(或在SDLC中)发生的事件,测试是经常进行的,”他说。 “通过持续测试,可以根据业务需求自动生成测试用例,然后在编写代码时自动执行测试用例。 这使得测试更加全面,更高效,使得质量更高的软件能够以更低的成本,更快速度进行交付。“

Lambert said he believes the future of test automation lies with the advance of artificial intelligence and machine learning. “Artificial intelligence and machine learning work better the more data you give it,” he said. “What I see is AI and machine learning really becoming powerful when it’s trained. So that training can take the form of human interactions within an application and an engine watching to see what the human does, and then trying to variate on that. It can take the form of a human providing some kind of tests and saying this test validates some functionality and using that to train the engine. That’s the direction that I see tests going.”

Lambert表示,他相信,测试自动化的未来取决于人工智能和机器学习的进步。 “人工智能和机器学习能够更好地为您提供更多数据,”他说。 “我所看到的是AI和机器学习在训练时真正变得强大。 因此,培训可以采取应用程序中的人工交互和引擎观察以查看人类所做的事情,然后尝试对其进行变化。 它可以采取人类提供某种测试的形式,并说该测试验证了一些功能并使用它来训练引擎。 这是我看到测试的方向。“

关于作者

About Jenna Sargent

Jenna Sargent is an Online and Social Media Editor for SD Times. She covers Agile, ALM, Java, microservices/containers, testing/QA, application performance monitoring/management, and security. Follow her on Twitter at @jsargey!

Jenna Sargent是SD Times的在线和社交媒体编辑。 她介绍了Agile,ALM,Java,微服务/容器,测试/ QA,应用程序性能监控/管理和安全性。 在Twitter上关注她@jsargey!

原链接

https://sdtimes.com/test/testing-strives-to-keep-pace-with-development/

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/88092092