手动测试与自动测试

发布于 2024-09-05 08:28:15 字数 437 浏览 6 评论 0原文

测试主要分为手动测试和自动化测试。关于这一点,我想到了一些问题。

它们包括:

  • 两种类型的测试之间的基本区别是什么?

  • 手动和自动测试中涉及的挑战元素是什么?

  • 软件测试人员进行手动测试和自动测试分别需要哪些不同的技能组合

  • 从事手动测试自动化测试的软件测试人员分别有哪些不同的工作前景成长机会

  • 与自动化测试相比,手动测试是否被低估?如果是,怎么办?

  • 与企业界的自动测试人员相比,手动测试人员的待遇有何不同? (如果他们确实在任何方面都存在差异)

Testing can be mainly classified into manual and automated testing. With regard to this certain questions come to mind.

They include:

  • What is the basic difference between the two types of testing?

  • What are the elements of challenges involved in both manual and automated testing?

  • What are the different skill sets required by a software tester for manual and automated testing respectively?

  • What are the different job prospects and growth opportunities among software testers who do manual testing automated testing respectively?

  • Is manual testing under rated to automated testing in anyway(s)? If yes, how?

  • How differently are the manual testers treated in comparison to automated testers in the corporate world? (If they truly are differentiated in any terms as such)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

无声静候 2024-09-12 08:28:15

自动化测试是使用一段代码/程序来测试另一段代码/程序的任何类型的测试。这可以是如上所述的单元测试,也可以通过特定的自动化工具进行,例如 TestComplete、QTP、Selenium 等。单元测试往往由相关代码的开发人员创建和执行,而 GUI 自动化更有可能由软件 QA 专家来执行。某些类型的测试(例如性能和回归测试)非常适合自动化,而其他类型的测试(例如可用性测试)则不适合。

手动测试是一个人直接测试软件的过程,通常通过执行最终用户可能执行的操作类型。许多专业测试人员(例如参与探索性测试的测试人员)会建议您,虽然单元测试具有成本效益,但手动测试同样重要且具有成本效益。

要深入了解自动化测试的陷阱,您应该阅读 Linda Wilkinsons 最近的博客。其他值得阅读的好资源包括来自软件测试俱乐部的讨论,以及SQAForums 的自动化测试部分

如果您还没有这样做,SQAforums 非常值得加入,询问与测试相关的任何问题,以及就业前景。

Automated testing is any type of testing where you are using one piece of code / program to test another piece of code / program. This can be unit testing as described above, or it can be via a specific automation tool, such as TestComplete, QTP, Selenium, etc.. Unit tests tend to be created and executed by the developer of the code in question, whereas GUI automation will more probably be carried out by a software QA specialist. Certain types of testing, such as performance and regression testing, are well suited to automation, whereas others, such as usability testing, are not.

Manual testing is a process where a person directly tests a piece of software, often by carrying out the type of actions and end user might carry out. Many professional testers, such as those involved in exploratory testing, would suggest that you while unit testing is cost effective, manual testing is similarly important and cost effective.

For some wonderful insight into the pitfalls of automated testing, you should read Linda Wilkinsons recent blog. Other good resources to read include discussions from the software testing club, and the automated testing part of SQAForums.

If you haven't already done so, SQAforums is well worth joining to ask any questions relating to what's involved in testing, as well as for job prospects.

我的影子我的梦 2024-09-12 08:28:15

好吧,我只能谈谈我的观点和经验,我只是一个与测试人员和 QA 工程师一起工作过很多次的开发人员。反正我的2c:

最基本的区别手动是手工完成的,自动是电脑完成的:)
因此,手动测试过程可能比全自动测试过程慢几个数量级。另一方面,自动化测试只能检测它们应该检测的问题,而无法检测系统的全新行为。这基本上意味着,当众所周知应该做什么、如何做以及输出应该是什么时,自动化测试是回归测试的理想选择。

至于技能组合,手动测试基本上可以由任何具有正确心态的人进行,而自动化测试必须由至少具有一定开发经验的人进行。例如,有些框架可以轻松记录自动化 Web 测试,但是通常需要调整记录的场景以更好地满足测试的需求。当然,任何想要从事 QA 工作的人都必须具备测试所需的基本技能,比如耐心、对细节的关注、良好的组织能力、良好的沟通能力等等……

最后,我不认为手动测试被低估了,如果有的话,我认为自动化测试在我见过的大多数企业环境中都没有得到充分利用。但是,是的,有些人(老实说,主要是经理)确实将我的上一段解释为“任何人都可以进行手动测试”。

Well, I can only speak of my opinions and experiences, and I'm just a developer who has worked quite a bit with testers and QA engineers. Anyway, my 2c:

The most basic difference manual is done by hand, and automatic is done by computer :)
As a consequence, the manual test process can be orders of magnitude slower than an fully automated one. On the other hand, automated tests can only detect issues they were meant to detect, and cannot detect fundamentally new behaviour of a system. That basically means that automated tests are ideal for regression testing, when it is well known what should be done, how, and what the outputs should be.

As to the skill sets, manual tests can be basically made by anyone in the right mindset, while automated tests must be made by someone with at least some developer experience. There are frameworks that enable easy recording of a automated web tests, for example, but, it's often necessary to tweak the recorded scenarios to better suit the needs of the testing. Of course, the necessary basic skills for testing must also be present in anyone wanting a work in QA, like patience, attention to detail, great organizational abilities, great communication abilities, etc...

And last, I don't thinks manual testing is underrated, if anything, I think automated testing is underused in most corporate environments I've seen. But, yes, some people (mostly managers, to be honest) do interpret my previous paragraph as "anyone can do manual tests".

洋洋洒洒 2024-09-12 08:28:15

自动化测试(尤其是自动化单元测试)很好,因为这意味着您可以在开发周期的早期进行测试,并且可以保持定期进行测试;它允许开发人员在参与 QA 团队之前确定他们在哪里犯了错误。但这并不意味着质量检查是不必要的。除了确保自动化测试本身合适之外,还需要确定应用程序是否正在执行其应该执行的操作;完全理解这一点是非常罕见的。

自动测试用户界面也很困难。例如,评估一个图标是否具有适当的意义和位置是否合适是人的事,而不是计算机的事,因为计算机不关心,但用户关心。

Automated testing (especially automated unit testing) is good because it means that you can test earlier in the development cycle and you can keep testing regularly; it allows the developers to identify where they have made errors before involving the QA team. But that doesn't mean that QA is unnecessary. Apart from the matter of ensuring that the automated tests are themselves suitable, there's also the matter of working out whether the application is doing what it should; it's pretty rare for that to be understood entirely.

It's also difficult to automatically test user interfaces. For example, assessing whether an icon is suitably meaningful and positioned nicely is a matter for people not computers, because the computer doesn't care but the user does.

夏见 2024-09-12 08:28:15
  • 自动化测试的主要优点是您可以快速进行回归测试。开发人员可以在向系统添加新功能后验证以前的功能是否正常工作。
  • 因此,当您的截止日期很紧时,通过使用自动化工具,您可以减少测试工作量。因此,那时您必须仅检查那些尚未为其创建自动化测试脚本的功能。 (如电子邮件/短信通知测试、浏览器兼容性/UI 等)
  • 如今,许多公司都使用开源自动化工具(如 Selenium、OpenSTA、JMeter 等)进行正常测试工作。因此,如果您知道如何使用这些免费软件工具而不是付费工具来测试应用程序,那就更好了。
  • The Main Advantage with Automated Testing is that you can do regression testing quickly.. Developer can verify previous functionality, if it is working fine or not after adding new functionalities into the System.
  • So when you are working with a tight deadline then by using Automation tools you can reduce you testing effort.. so at that time you have to check only those functionality for which you haven't created automated test scripts. ( Like Email/SMS notifications Testing, Browser Compatibility/UI etc etc.)
  • Today many companies are using Open Source Automation Tools (Like Selenium, OpenSTA, JMeter etc) for their normal testing efforts. So it's better if you know how to test an application using these freeware tools instead of paid tools.
梦里泪两行 2024-09-12 08:28:15

最基本的区别在于测试的验证方式。是通过程序检查完成还是人工检查?

自动化测试的一大挑战是使手动测试自动化,并确保不需要人工解释结果,例如,如果程序涉及音频或视频输出,则可能很难准确验证。

两者都需要注重细节、耐心和组织能力,才能可信地说“是的,这是高质量的产品/服务”。当自动化测试通常使用特殊软件时,就会出现差异。

手动测试的成本可能很高,因为有人监视正在运行的测试,而自动化测试通常可以在没有人监视的情况下运行。然而,当涉及到那些非常主观的领域时,手动测试可能会被低估,例如网页样式,或者如果我们对其进行这些更改,这首歌听起来有多好?在这些方面我会看到人类比机器更受青睐。

至于职业道路和工作机会,这在某种程度上是一个悬而未决的问题。由于并不是每个地方都会聘请测试人员,有时测试人员只是根据项目需要才引入的,因此对于测试有不同的看法。这并没有涉及开发人员应该编写多少自己的测试的问题,这是否也使开发人员成为测试人员?我想这并没有回答你的问题,因为我正在更大范围地考虑谁在进行测试,因为这是这里需要考虑的其他问题。

The most basic difference is how the test is verified. Is it done via a programatic check or is there a human inspection done?

The big challenge with automated testing is getting the manual tests to be automated and ensuring that there isn't the need for a human interpretation of the result,e.g. if a program involves an audio or video output this may be very hard to verify exactly.

Both require an attention to detail, patience and organization skills to have credibility in saying, "Yes, this is a high quality product/service." The differences can come where automated testing uses special software usually.

Manual testing can be costly as there is someone watching the tests being run while the automated tests can generally be run without someone watching it. However, manual testing can be underrated when it comes to those areas where things can be very subjective such as styling of web pages or how well does this song sound if we make these changes to it? Those would be where I'd see a human being preferred over a machine.

As for career paths and job opportunities, this is to some degree an open question. As not every place hires testers and sometimes testers are just brought in as needed for projects, there are different perspectives on testing. This is without getting into the question of how much should developers write their own tests and does this make a developer a tester as well? I suppose this isn't answering your question because I'm looking at this in the bigger scale of just who is doing the testing as that is something else to consider here.

梦萦几度 2024-09-12 08:28:15

客观地编写所有测试的唯一方法是省略实际确保软件适合用途所需的大部分细节。结果几乎总是你必须向某人支付每小时费用才能使用的软件。

这可能并不总是一个问题,但出现这种情况的案例在软件行业中占了很大一部分。

The only way to write all tests objectively is to leave out a significant fraction of the details required to actually ensure the software is fit for purpose. The result is pretty much always software that you have to pay someone an hourly rate to use.

This may not always be a problem, but the set of cases where it is is a pretty large chunk of the software industry.

你是我的挚爱i 2024-09-12 08:28:15

回答您的第一个问题:基本区别在于手动测试看起来像测试,而自动化测试(通常)是测试。如果您无法编写要运行的测试的完整且详细的规范,那么您就不是真正的测试。如果可以的话,您可以进行自动化测试。无论您的测试脚本是由程序执行还是由严格遵循它的碳基生命形式执行,都是如此。

我将让你根据我提出的基本前提来推测我对其余问题的答案。

To answer just the first of your questions: the basic difference is that manual testing just looks like testing, whereas automated testing (usually) is testing. If you can't write a complete and detailed specification of the tests to be run then you aren't really testing. And if you can you can do automated testing. This is true whether your test script is executed by a program or a carbon-based life form following it rigidly.

I'll leave you to divine my answers to the rest of the questions from the basic premise I have set out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文