现在自动化软件测试工具逐渐深入软件测试领域,但是关于自动化测试与手动测试的争议一直存在,各有各的优点,很难一分高下。对于专业的测试人员来说,两者都是软件测试过程中常用到的,那么今天就来讲讲的自动化软件测试和手动化测试的区别有哪些。
一、软件测试是什么?
首先,在了解测试工具前,我们先了解下软件测试的定义。软件测试是伴随软件开发而产生的,用于度量软件质量。通过对测试环境下的程序进行操作,发现软件缺陷,评估产品质量。
早期很多公司都选择开发人员进行调试,随着人们对软件质量的要求提高,第三方软件测试机构应运而生。
二、自动化测试与手动测试
从软件测试执行时使用的工具角度分类,测试可以分为手工测试和自动化测试。目前自动化测试工具的不断完善,手动测试在测试过程中也不可或缺,两者在软件测试过程中各有优点。
自动化测试
-
它使用自动化工具来执行测试用例。
-
与手动方法相比,它速度很快。
-
它不允许进行随机测试。
-
初期投资高。
-
从长远来看,投资回报更好。
-
这是可靠的。
-
它由工具和脚本执行。
-
没有测试疲劳。
-
即使是微不足道的更改,也必须修改自动化测试脚本。
-
它是昂贵的。
-
所有利益相关者都可以登录自动化系统并检查执行结果。
-
它不涉及人类;因此它不能保证用户友好或提供积极的客户体验。
-
负载测试、压力测试、尖峰测试等性能测试必须通过自动化工具进行测试。
-
它可以在不同的操作平台上并行完成。
-
如果并行完成,它会减少测试执行时间。
-
多个测试脚本可以在一个批次中组合在一起。
-
自动化测试需要编程知识。
-
它需要一个不太复杂的测试设置。
-
在执行同一组测试用例时很有用。
-
它在使用构建验证测试 (BVT) 时很有用。
-
错过预先决定的测试的风险为零。
-
它使用数据驱动器、关键字、混合等框架来提高自动化过程的速度。
-
这些测试的行为就像一个文档,并为自动化单元测试用例提供培训价值。
-
新开发人员可以查看这些单元测试用例并快速理解代码库。
-
这样做是为了强制执行测试驱动开发 (TDD)。
-
它是 DevOps Cycle 的重要组成部分。
-
它最适合回归测试、性能测试、负载测试或高度可重复的功能测试用例。
手动测试
-
测试用例由人和软件执行。
-
这很耗时。
-
它使用人力资源。
-
探索性测试可以使用手动测试来完成。
-
与自动化测试相比,初始投资较少。
-
与自动化测试相比,投资回报较低。
-
它不准确,因为它可能会导致人为错误。
-
诸如 id、class 之类的小更改不会妨碍手动测试器的执行。
-
人力资源需要投资。
-
它不符合成本效益。
-
手动测试记录在 Excel 或 Word 文档中。
-
测试结果并不容易获得。
-
它允许人类观察;因此它可能是用户友好的。
-
这是不可行的。
-
它们可以并行进行,但需要更多的人力资源,这将是昂贵的。
-
不能分批。
-
无需具备编程知识。
-
它需要一个简单的测试执行设置。
-
它可能很无聊且容易出错。
-
当测试用例需要运行一次或两次时,它很有用。
-
很难执行构建验证测试 (BVT)。
-
这也很耗时。
-
错过预先确定的截止日期的风险更高。
-
它不使用任何框架。
-
他们可能会使用指南、检查表、严格的流程来起草特定的测试用例。
-
它们不提供培训价值。
-
他们不强制执行测试驱动开发。
-
它可以与探索性、可用性和临时测试一起使用。
-
它可以用于 AUT 频繁变化的地方。
标签:手动,测试用例,测试,自动化,执行,软件测试 来源: https://blog.csdn.net/CSGO55678/article/details/121178101
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。