0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

2017秋季在线测试大会(Fall)上,如何正确认识测试自动化

发表时间:2023-09-07 21:00:52

文章来源:炫佑科技

浏览次数:158

菏泽炫佑科技

2017秋季在线测试大会(Fall)上,如何正确认识测试自动化

自动化测试需要一些时间和精力。 但如果方法正确,投资是值得的。 正如 Kolli 建议的那样,自动化不应过度,而应关注需求和要求。 编写干净且可读的代码对于保持测试套件的可维护性非常重要。

Kolli 是一名软件开发工程师。 在2017年秋季在线测试大会(Fall)上,Kolli的报告重点是如何正确理解测试自动化。 InfoQ 通过问答、摘要和文章对会议进行了报道。

InfoQ 采访了 Kolli,内容涉及测试工具和技能、测试自动化以及测试自动化领域一些值得注意的发展。

InfoQ:对于选择合适的测试工具,您有什么建议? 我们应该遵循哪些原则?

Kolli:选择测试工具的过程主要是根据您的业务或测试需求。 例如,对于某些应用程序来说,主要关注的是性能,但对于其他应用程序来说,性能可能不是主要关注点。 有效负载、UI 等也是如此。

测试取决于目标内容和业务影响。

技能集的可用性、预算和时间因素在确定测试工具时也起着次要作用。 软件工作总是有时间表和截止日期的。 如果我们的时间紧迫,那么我们可以选择更简单的东西,甚至使用商业工具。

InfoQ:不同类型的测试需要不同的工具。 我们如何管理不同的工具和测试技能集?

科利:非常简单。 一旦我们能够了解并洞察不同测试工具的需求,那么工具管理就不是问题。 既然我们可以管理多种开发工具和技能集,那么各种测试工具和技能集的管理也类似。

在“我对在敏捷项目中实施自动化测试的想法”中,Namta 解释了为什么我们应该仔细决定要自动化哪些测试:

不要为了自动化而自动化。 在添加新测试之前适当考虑可维护性和执行时间。 添加到自动化测试套件中的每个测试都会成为产品基线的一部分,并且需要像其他基线一样在整个应用程序生命周期中进行维护。 添加复杂且难以维护的测试*终会减慢团队内的反馈循环,应该避免。

InfoQ:团队应该在测试自动化上投入多少时间? 我们如何知道我们投入了足够的时间而不是太多?

Kolli:一开始,测试自动化会占用更多时间。 但是一旦框架准备好了,我们就不必在上面投入太多时间。 通常,如果一个团队有一到两名手动 QA 人员,那么一名 SDET(软件测试开发人员)应该能够处理所有自动化需求。 当然,根据自动处理的测试数量和应用类型的不同,人员也会相应变化。

如果 UI 上的一切都是自动化的,那么就会花费更多的时间。

在《将自动化验收测试支持引入持续交付》一文中,Dave 建议我们不要使用“UI 记录和回放”(-and-)系统:

本质上自动化软件开发,在UI录放系统中,测试的重点是UI,而不是用户期望的系统行为。 这意味着UI录放系统的测试重点是技术本身,而不是系统行为。 这导致此类测试用例总是脆弱的,并且由于目标测试系统中相对较小的变化而更有可能失败。 我会避免使用这种测试,因为从长远来看它会产生很多额外的工作。

InfoQ:您对于在测试中使用 UI 录制和回放系统有何看法?

Kolli:就我个人而言,我不太喜欢录音回放。 对于我们大多数人来说,这和“一招”方法一样,在现实中效果并不好。 录制简历并不能解决我们的修剪需求。 它们是*片面的测试,会让我们对自动化测试套件失去信心。

InfoQ:您在测试自动化方面学到的主要经验教训是什么?

Kolli:多年来我意识到人们很容易沉迷于自动化并且自动化程度过高。

关注需求和要求很重要。

例如,如果我们的要求是测试一些对客户至关重要的领域,那么在这种情况下我们就不必在只有 2% 用户使用的功能上投入时间。

如果我们需要支持 10,000 个并发用户,那么我们就不必测试 11,000 个用户。

维护自动化套件听起来似乎是理所当然的事情,但随着代码量的不断增长,更新和维护代码变得越来越复杂。 因此2017秋季在线测试大会(Fall)上,如何正确认识测试自动化,编写干净、可读的代码非常重要。

我们往往会忽视报告和配置等微小细节,但如果我们给予这些微小细节适当的关注,它们可以变成宝贵的资产。

InfoQ:您认为测试自动化领域有哪些值得关注的进展? 您期望测试自动化在不久的将来会是什么样子?

Kolli:每天都有越来越多的公司意识到自动化测试的重要性。 测试自动化已经从在个人本地计算机上记录和回放发展到在云上运行整个自定义测试套件。

随着人工智能的发展,测试自动化将更加可靠和有效。 一个熟悉的例子是 Siri 和 . 通过学习和进化,它们实现了识别语音差异等功能。 在软件开发中,人工智能可以使用相同的方法来识别代码模式、常见错误区域等。

在人工智能的帮助下,测试自动化将成为开发不可或缺的一部分。

查看英文原文: How Do We ?

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多