首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用工具进行软件单元测试是手动的还是自动化的?

使用工具进行软件单元测试是手动的还是自动化的?
EN

Stack Exchange QA用户
提问于 2022-02-06 19:40:33
回答 4查看 116关注 0票数 1

我对软件测试非常陌生。

我正在研究它,我读过测试可以是手动的,也可以是自动化的。

那么,使用工具(例如,python中的unittest或pytest )的单元测试是手动的还是自动化的呢?

我认为自动化测试是当你对测试什么都不做的时候。只需将程序交给测试生成器,它就会产生一些输入并运行它们。

例如:符号执行工具可以生成这样的测试。但是,对于单元测试工具,您实际上是在编写测试。

所以它不是完全自动化的。而且很明显,甲骨文在用工具进行单元测试时是人。所以它是手动的,因为人类决定了预期的输出结果。然而,它是某种程度的自动化。因为您不需要手动运行所有的测试。

EN

回答 4

Stack Exchange QA用户

回答已采纳

发布于 2022-02-07 04:31:20

用最简单的方式(根据我的想法),测试自动化就是编写软件(程序)来测试另一个软件。

说到这里,我对你问题描述中的一些陈述感到有点困惑。

我认为自动化测试是当你对测试什么都不做的时候。只需将程序交给测试生成器,它就会产生一些输入并运行它们。

当你说你什么都不做测试的时候,你到底是什么意思?

测试是谁写的?

如何调用和执行测试?这个过程是谁写的?

这个测试生成器是什么,你给你的程序?

它如何决定什么投入和结果是对还是错?

而且很明显,甲骨文在用工具进行单元测试时是人。所以它是手动的,因为人类决定了预期的输出结果。

无论是编写程序来执行您的测试,还是在没有程序/工具的帮助下自己执行它们,始终是您决定预期的输出。程序/工具没有自己的大脑去思考和决定。

因此,在实际意义上,没有什么叫做自动化或手动测试。

只是简单的测试。是的,有时为了帮助更快的执行或任何其他原因,您可以使用工具和程序来辅助您的测试。这就像你可能会厌倦重复同样的步骤一遍又一遍。所以你会考虑写一个程序来为你执行这些重复。不过,始终是由你来控制可以编程的内容,以及程序将如何执行并列出结果。总是由你来决定给程序输入什么,以及测试软件的正确或错误行为会考虑什么结果。

例如,您还可以编写调用测试程序、生成并向相关人员发送报告的过程。人们通常在CI/Cd管道中这样做。

但是,在一天结束的时候,是你(一个人类)做的。它自己什么都没发生。

所以不要掉进手动和自动化的坑里。专注于测试,只要你认为使用或工具/程序可以增强你的工作,就去做吧。但是,永远不要忘记,这都只是测试而已。

测试愉快!

票数 5
EN

Stack Exchange QA用户

发布于 2022-02-07 10:57:35

我正在研究它,我读过测试可以是手动的,也可以是自动化的。

不幸的是,很多资源都提到了这一点,所以要由您来质疑它并决定它是否真的是真的。

也许一个更好、更准确的观点是,测试可以由工具支持。

通常在下列情况下使用工具:

  • 它可以帮助你获得更多的信息。
  • 它可以帮助你变得更快
  • 它可以帮助您以不同的方式质疑系统。
  • 它为系统或环境提供了更多的可观察性。
  • 它可以帮助提高可测试性。
  • 它有助于一遍又一遍地检查相同的东西。
  • 它可以帮助你将人类不擅长的东西卸载到计算机上--通常会执行一些计算。
  • 也许更多的是这个

我还没有见过一个根本不使用任何工具的测试人员。所以我们每个人都在一定程度上测试自动化。但我也看到,没有多少人以有目的的方式使用工具,有些人只是因为有人让他们这样做,或者因为它现在看起来很流行而进行自动化测试。同样,您作为测试人员的角色是质疑它,并决定什么时候某些自动化是有用的,什么时候不有用。

这可能是因为手动和自动化的划分是(也许是吗?)主要是由非测试人员创建的,因为它将测试简化为一个简单的模型,不需要花费太多的脑力来理解。你通常可以在招聘广告中看到这一点,从各种各样的经理那里听到。有些测试人员也使用它(很遗憾),因为,我认为,与其对其进行质疑和争论,更容易接受它。

票数 2
EN

Stack Exchange QA用户

发布于 2022-02-07 10:11:18

使其简单地理解什么是自动化和单元测试。?

单元测试:

单元/组件测试仅仅意味着测试最小级别的撤销。它可以是一个组件,比如一个单独的包、一个类或一个类中的方法。

在这里,我们测试该单元的功能,并确保它按预期工作,并准备使用(集成)。

自动化

以程序或机械的方式做的事,没有人参与,也没有人参与。

在自动化的情况下,我们已经实现了全自动和半自动

全自动:

在没有人类参与的情况下工作

半自动

需要间歇性的人工参与,如清除机械部分的堵塞,批准弹出,验证下一阶段的执行情况等。

开始回答你的问题:

无论您是使用无代码工具还是使用您自己的编码解决方案,都不重要。不管是什么,自动化都是自动化的。甲骨文等例子是半自动工具。

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

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

复制
相关文章

相似问题

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