干货||快速了解手工测试&自动化测试
本文转自知乎专栏“跟宝哥学IT”,原文链接:https://zhuanlan.zhihu.com/p/55471521
不论是自动化测试还是手工测试都是软件测试方法的一种,都是软件质量保障的手段,不存在low与高大上之说。如何根据各自的优缺点,更高效地完成软件质量保障才是最值得大家关注的。今天就来快速了解一下手工测试&自动化测试。
一、手工测试
通过模拟终端用户的业务流程应用软件系统,检查被测对象实际表现与预期结果间的差异,测试工程师手工运行被测对象,这种模式即为手工测试。
手工测试是最传统的测试方法,也是现在大多数公司普遍采用的测试形式。测试工程师设计、执行测试用例,比较实际结果与预期结果,记录两者的差异,最终输出缺陷报告和测试报告。
手工测试方法可以充分发挥测试工程师的主观能动性,将其智力活动体现于测试工作中,能发现很多的缺陷,但该测试方法有一定的局限性与单调枯燥性。当测试周期变长,业务重复性较大时,手工测试容易变得枯燥乏味。
二、自动化测试
随着软件行业的不断发展,软件测试技术也在不断地更新,出现了众多的自动化功能测试工具,如HP的Quick Test Professional(最新版本名为UFT)及开源的Selenium(见图1)。性能测试工具如LoadRunner、JMeter等。
所谓自动化测试,即利用测试工具,编程实现模拟用户业务使用流程的脚本,设定特定的测试场景,自动寻找缺陷。自动化测试的引入,大大地提高了测试效率和准确性,而且封装性较好的测试脚本,还可应用于其他产品项目。业内通常将自动化功能测试称为自动化,而性能测试单独成体系,不含在自动化测试中。
图1 Selenium工具示例
1、自动化测试优点
自动化测试的优点是快速、可重用,替代人的重复活动。回归测试阶段,可利用自动化测试工具进行,无须大量测试工程师手动重复执行测试用例,极大地提高了工作效率。
有时做压力测试,需要几万甚至几十万个用户同时访问某个站点,以保证网站服务器不会出现死机或崩溃现象。一般来说,模拟几万人同时访问某个系统,通过人工很难实现,但利用测试工具,如LoadRunner,可非常容易地做到。
2、自动化测试缺点
当然,自动化测试的缺点也很明显,它们只能检查一些比较主要的问题,如崩溃、死机,但却无法发现新的错误。另外,在自动测试中编写测试脚本的工作量也很大,有时该工作量甚至超过了手动测试的时间。
在自动化测试活动中,测试工具的应用,可以提高测试质量、测试效率。但在选择和使用测试工具时,也应该看到在测试过程中,并不是所有的测试工具都适合引入。同时,即使有了测试工具,会使用测试工具,也不等于测试工具真正能在测试中发挥作用。
因此,应该根据实际情况选择测试工具,选择使用何种测试工具,千万不可为了使用工具而刻意地使用工具。在目前软件系统研发环境下,自动化测试完全替代手工测试是不可能的。
自动化测试不仅仅运用在系统测试层面,在单元测试、集成测试阶段同样可以使用自动化测试方法进行测试。
相关文章
- HTML5 Audio & Video 属性解析
- [AWS -DA] SAM & CDK
- 备份&添加无线网络配置
- [HTML 5] preventDefault() & defaultPrevented prop
- Python视觉深度学习系列教程 第二卷 第3章 理解rank-1&rank-5精度
- 华为OD机试 - 微服务的集成测试(Java & JS & Python)
- 华为OD机试 - TLV解析 Ⅱ(Java & JS & Python)
- 华为OD机试 - 找出经过特定点的路径长度(Java & JS & Python)
- httpd: Could not reliably determine the server's fully qualified domain name
- Could not resolve view with name 'pcir/del' in servlet with name 'forum'
- CV之NS之CycleGAN:基于apple2orange数据集利用TF框架的CycleGAN算法实现图像风格迁移/图像转换—训练&测试过程图文教程全记录
- ML之DT&RFR&ExtraTR&GBR:基于四种算法(DT、RFR、ExtraTR、GBR)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能
- DL之RNN:人工智能为你写代码——基于TF利用RNN算法实现生成编程语言代码(C++语言)、训练&测试过程全记录
- DL之RNN:人工智能为你写小说——基于TF利用RNN算法训练数据集(William Shakespeare的《Coriolanus》)替代你写英语小说短文、训练&测试过程全记录
- DataGrip设置长sql语句自动换行 & Navicat工具 结构同步 & idea启动maven项目报:'@' that cannot start any token. (Do not use @ for indentation)
- 自动化测试架构设计 &&自动化持续集成测试任务实战[线性测试、模块驱动测试、数据驱动测试、关键字驱动测试]
- ADAS DV&PV 试验测试台架的方案分享
- ❤️熬夜7天爆肝总结5000字的《互联网测试技术体系详解&测试工程师职业发展建议》❤️
- 【书籍&&资料】~ IEEE Standard for SystemVerilog 1800-2017
- 软件测试——测试执行规范&缺陷跟踪处理