内容导航:
什么是自动化测试?
Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。
什么是自动化测试
自动化测试可分为1.自动化性能测试;2.自动化功能测试。
-
性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。
-
自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。
自动化测试的优缺点你真的了解吗?
1、说说自动化测试的优势。如下:
(1)回归测试更方便、可靠;
(2)可运行更多、更繁琐的测试,且快速、高效;
(3)可执行一些对于手工测试来说相当困难或做不到的测试;
(4)更好地利用资源,使资源的使用更有价值;
(5)具有一致性和可重复性特点;
(6)自动化测试脚本完全具有复用性;
(7)使软件更有信任度;
(8)多环境下测试。
2、再说说自动化测试无法做到的事以及劣势。如下:
(1)不可能完全取代手工测试;
(2)无法完全保证测试的正确性;
(3)手工测试能发现的缺陷远比自动化测试多;
(4)对测试质量的依赖性极大;
(5)测试自动化可能会制约软件开发;
(6)自动化测试工具本身是死的,它没有任何想象力;
(7)成本投入高,风险大;
(8)自动化测试对测试人员的技术要求较高,对测试工具同样有一定要求。
3、那么,什么时候适合引入自动化测试呢?
(1)项目周期长,系统版本不断;
(2)需求变更不频繁;
(3)系统中的测试对象基本可以正常识别;
(4)系统中不存在大批量第三方控件;
(5)需要反复测试,如可靠性测试需要进行上千次的系统测试;
4、该在什么时候避免展开自动化测试呢?
(1)项目周期短,需求变更频繁;
(2)在软件版本还没有稳定的情况下;
(3)没有明确的项目测试自动化计划、措施和管理;
(4)领导不支持;
(5)多数对象无法识别以及脚本维护频繁与艰难,二者有其一,自动化测试注定失败。
最后
作为测试工程师,不断提升自己工作能力是提高薪资待遇最重要的基础。另外也要注重学习, IT 行业是个不断发展、更新迭代相对较快的行业,技术具有明显的时代特征,所以紧跟时代技术的发展才能让自己不掉队,在职场当中具有足够的竞争力。
手工测试和自动化测试如何进行有效的结合,试举出适当的例子阐述
手工测试和自动化测试的有效结合:
自动化脚本首先在重复执行操作和固定流程操作方面占优,而有经验的测试人员在灵光乍现的时候发现的一些稀奇古怪但是却影响很大的bug,是无法用自动化脚本来发现的。最好的方案是自动化测试与人工测试结合,自动化脚本来干脏活累活,测试人员来做有创造性的充满乐趣的测试工作。
举例论证:
在一个实时的项目监控的系统中,客户通过手机或固定电话拨号完成数据的输入,当接收到的号码一旦与已知设定不符合的时候,触发报警系统,在打印该输入号码同时还要将它转存到磁带上。
测试分析:在该项目中,需要对客户号码、报警器、还有输出设备(打印机和磁带机)这三个方面进行测试。
对于电话号码而言可能有好多的形式,但是无论如何,它们的值一定是数字组成的,对接收方来说,只有两种情况,收到了合法的数据和收到和非法的数据。所以它适合使用程序来模拟输入数据和根据输入判断预期的输出结果。可以使用自动化的方式来实现。
对报警器而言,它只有两种状态报警或不报警。所以同样可以用合法的数据来触发报警和使用非法数据来测试来判断其是不是不报警。所以同样可以实现自动化。
再看第三个测试对象,输出设备的测试,对于这种物理设备的测试只能使用手工测试。
手工测试特点:
1、测试人员要负责大量文档、报表的制订和整理工作,会变得力不从心。
2、受软件分发日期、开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试。
3、如果修正缺陷所需时间稍长,那么想将手工测试应用于回归测试将变得异常困难。这是因为需要测试的测试用例太多。
4、对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含混不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率。这样往往会导致最后的汇总报表数据不准确。
5、反复测试带来的倦怠情绪及其它人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低。
6、难以对不可视对象或对象的不可视属性进行测试。
自动化测试的特点:
1、可以运行更多更频繁的测试。
2、可以执行一些手工测试困难或者不可能做的测试。如对不可视对象的测试,利用面向对象的自动化测试脚本就很容易实现。
3、可以更好地利用资源。在夜间执行自动测试。
4、测试具有移植性和可重复性。好的测试脚本往往具有较好的平台移植性。
5、可以更快地将软件推向市场。因为自动测试节省了大量的时间。 但是自动化测试要求的前期投入比较大,而且要求人员必须经过严格的培训。
扩展资料:
手工测试和自动化测试各自适用的场合如下:
1、测试很少执行的项目中。当测试用例执行频度太小时(一年一次),我们可以直接使用手工测试就可以了。
2、软件运行仍然不稳定时,适合使用手工测试。
3、测试结果很容易通过人验证的测试项目适合手工测试。
4、测试项目中涉及物理交互比较多的时候适合手工测试。如需要经常查看打印机,绘图仪的输出时。
5、软件维护时使用的回归测试适合自动化测试。
6、执行压力测试时适合自动化测试。例如测试服务器的最大访问上限等。
7、配置和兼容性测试等项目适合自动化测试。
参考资料来源:百度百科-手工测试
百度百科-自动化测试
什么是自动化测试?
在生活中,机器代替人工是自动化,而自动化测试就是用程序代替人工来进行测试,自动化测试需要掌握Python基础,想学可以看黑马程序员软件测试教程,自动化测试就可以了解了!
自动化测试的意义是什么?
实施自动测试的目标和意义1)对于功能已经完整和成熟的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试, 从而可以让测试达到测试每个特征的目的。2)每日测试的高效率。DCC版本的发布周期往往比较短,也就是开发周期只有短短的几个月,而在测试期间是每天/每2天都要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,人工测试是非常的耗时和繁琐,这样必然会使测试效率低下。3)具有一致性和可重复性。由于每次自动化测试运行的脚本是相同的, 所以每次执行的测试具有一致性, 人是很难做到的. 由于自动化测试的一致性,很容易发现被测软件的任何改变。4)更好的利用资源--周未/晚上。理想的自动化测试能够按计划完全自动的运行, 在开发人员和测试人员不可能实行三班倒的情况下, 自动化测试可以胜任这个任务, 完全可以在周末和晚上执行测试. 这样充分的利用了公司的资源,也避免了开发和测试之间的等待。5)解决测试与开发之间的矛盾。通常在开发的末期,进入集成测试阶段, 由于每发布一个版本的初期,测试系统的错误比较少,这时开发人员有等待测试人员测试出错误的时间. 事实上在叠代周期很短的开发模式中,存在更多的矛盾, 但自动化测试可以解决其中的主要矛盾。6)将烦琐的任务转化为自动化测试。大量重复的测试是非常繁琐的,并且需要消耗大量的人力才能够完成。自动测试能够很好的解决这个问题,不需要繁琐的劳动,不需要大量的人员。7)增加软件信任度。只有经过大量测试案例测试过的版本才是可靠的,而只有使用自动测试才能够保证在段时间内完成大量的测试案例。