CN111290933A - 一种软件自动化软件测试方法及装置 - Google Patents

一种软件自动化软件测试方法及装置 Download PDF

Info

Publication number
CN111290933A
CN111290933A CN201811484735.0A CN201811484735A CN111290933A CN 111290933 A CN111290933 A CN 111290933A CN 201811484735 A CN201811484735 A CN 201811484735A CN 111290933 A CN111290933 A CN 111290933A
Authority
CN
China
Prior art keywords
test
software
script
tested
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201811484735.0A
Other languages
English (en)
Inventor
徐晓锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811484735.0A priority Critical patent/CN111290933A/zh
Publication of CN111290933A publication Critical patent/CN111290933A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种自动化软件测试方法及装置,涉及自动化软件测试领域,所述方法包括:根据测试任务下载包含被测软件的软件测试脚本的测试资源;通过批量运行所述测试资源,得到所述被测软件的测试原始记录;通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。

Description

一种软件自动化软件测试方法及装置
技术领域
本发明涉及自动化软件测试领域,尤其涉及一种自动化软件测试方法及装置。
背景技术
随着计算机软件的规模越来越大,软件测试在项目中成为保障软件质量的重要一环,软件测试自动化成为必然趋势,而目前随着云技术的兴起,传统的C/S(Client/Server,客户/服务器)模式逐渐朝B/S(Browser/Server,浏览器/服务器)模式转变,软件测试也需要顺应时代潮流,构建起自己的web自动化测试方法。
现有的web自动化测试工具有很多,jmeter工具便是其中的一种。Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器,等等。JMeter可以用于为服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序并返回期望的验证结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。最重要的是JMeter是一款免费的开源软件,对于较小的创业公司或小团队,节省了相当大的人力物力成本。
尽管JMeter有如此多的优点,可以完成软件测试的自动化工作,但是现有技术中对JMeter工具的使用却十分原始,将其作为性能测试使用角度,对于其功能测试能力发掘较差,使测试效率低下,浪费人力,其表现为:
1)不能对测试案例进行有效的管理,无法解决触发调度的问题
2)软件测试多为单机或前台运行,影响用户进行其他软件测试活动
3)测试不够灵活,不能够根据不同业务场景灵活调整测试用例集
4)执行效率不高,目前只适用于少量的业务测试,不满于大批量功能测试对时间的要求。
5)缺乏展示平台,对测试结果缺少汇总展示以及分析,无法及时传递给项目组成员
发明内容
本发明的目的是提供一种自动化软件测试方法及装置,用于解决上述现有技术存在的技术问题,完整地实现软件自动化测试工作。
根据本发明第一方面,一种软件自动化测试方法,包括:
根据测试任务下载包含被测软件的软件测试脚本的测试资源;
通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
优选地,通过对所述被测软件的测试原始记录进行分析获得所述被测软件的测试结果包括:
通过对所述被测软件的测试原始记录进行编排整合,生成所述被测软件的测试报表;
通过对所述被测软件的测试表进行分析,得到所述测试结果。
优选地,在根据测试任务下载包含被测软件的软件测试脚本的测试资源之前,还包括:
编写包括软件测试脚本和测试脚本配置文件的测试资源,并将所述测试资源上传至配置库中,以便从所述配置库中下载所述测试资源。
优选地,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
优选地,所述通过批量运行所述测试资源包括:
从所述测试资源中获取软件测试脚本配置文件;
根据所述软件测试脚本配置文件中的所述被测软件模块ID,过滤出用于所述被测软件模块的软件测试脚本的软件测试脚本集;
按照软件测试脚本集顺序批量运行所述被测软件模块的软件测试脚本。
优选地,当有多个被测软件模块时,所述通过批量所述测试资源包括:
从所述测试资源中获取软件测试脚本配置文件;
根据所述软件测试脚本配置文件中每个被测软件模块ID,过滤出用于每个被测软件模块的软件测试脚本的多个软件测试脚本集;
使多个被测软件模块的软件测试脚本按照各自的软件测试脚本集顺序批量运行被测软件的软件测试脚本。
根据本发明第二方面,一种软件自动化测试装置,包括:
调度模块,用于根据测试任务下载包含软件测试脚本的测试资源;
自动化脚本测试执行模块,用于通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
测试分析模块,用于通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
优选地,还包括:
测试脚本编写模块,用于编写包括软件测试脚本和测试脚本配置文件的测试资源,并将所述测试资源上传至配置库中,以便所述调度模块从所述配置库中下载所述测试资源;
其中,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
根据本发明第三方面,一种软件自动化测试的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的软件自动化测试的程序,所述软件自动化测试的程序被所述处理器执行时根据本公开实施例所提供的软件自动化测试的方法。
根据本发明第四方面,一种计算机存储介质,存储有软件自动化测试的程序,所述软件自动化测试的程序被处理器执行时根据本公开实施例所提供的软件自动化测试的方法。
与现有技术相比较,本发明的有益技术效果包括:
1)能够完整地完成自动化测试工作中的需求;
2)对测试脚本进行了有效的管理,最大化利用系统资源完成测试脚本的执行,对凌乱的测试结果进行汇总,输出汇总性测试报表,用户通过测试报表能非常直观的看到测试执行结果。
附图说明
图1是本发明实施例提供的一种软件自动化测试方法的示意图;
图2是本发明实施例提供的一种软件自动化测试装置的示意图;
图3是本发明实施例提供的软件自动化测试流程图。
具体实施方式
图1显示了本发明实施例提供的一种软件自动化测试方法,如图1所示,其包括:
根据测试任务下载包含被测软件的软件测试脚本的测试资源;
通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
其中,所述测试资源还包括测试脚本配置文件。其中,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
软件测试脚本和测试脚本配置文件由本发明的测试脚本编写模块编写,编写后的包括软件测试脚本和测试脚本配置文件的测试资源上传至配置库中,以便从所述配置库中下载所述测试资源。
其中,所述通过对所述被测软件的测试原始记录进行分析获得所述被测软件的测试结果包括:通过对所述被测软件的测试原始记录进行编排整合,生成所述被测软件的测试报表;通过对所述被测软件的测试表进行分析,得到所述测试结果。
在一个实施例中,所述通过批量运行所述测试资源包括:从所述测试资源中获取软件测试脚本配置文件;根据所述软件测试脚本配置文件中的所述被测软件模块ID,过滤出用于所述被测软件模块的软件测试脚本的软件测试脚本集;按照软件测试脚本集顺序批量运行所述被测软件模块的软件测试脚本。
在另一个实施例中,当有多个被测软件模块时,所述通过批量所述测试资源包括:从所述测试资源中获取软件测试脚本配置文件;根据所述软件测试脚本配置文件中每个被测软件模块ID,过滤出用于每个被测软件模块的软件测试脚本的多个软件测试脚本集;使多个被测软件模块的软件测试脚本按照各自的软件测试脚本集顺序批量运行被测软件的软件测试脚本。
图2显示了本发明实施例提供的一种软件自动化测试装置,如图2所示,该软件自动化测试装置包括:调度模块,用于根据测试任务下载包含软件测试脚本的测试资源;
自动化脚本测试执行模块,用于通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
测试分析模块,用于通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
如图2所示,本发明的软件自动化测试装置还包括:测试脚本编写模块,用于编写包括软件测试脚本和测试脚本配置文件的测试资源,并将所述测试资源上传至配置库中,以便所述调度模块从所述配置库中下载所述测试资源;其中,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
根据本发明实施例提供的一种软件自动化测试的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的软件自动化测试的程序,所述软件自动化测试的程序被所述处理器执行时根据本公开实施例所提供的软件自动化测试的方法。
根据本发明实施例提供的一种计算机存储介质,存储有软件自动化测试的程序,所述软件自动化测试的程序被处理器执行时根据本公开实施例所提供的软件自动化测试的方法。
图3显示本发明实施例提供了一个具体的软件自动化测试流程,用于本领域技术人员进一步理解本发明的软件自动化测试过程,而不是用于限定本发明。图3所示的软件自动化测试流程包括:
S101选择jmeter编写测试用例脚本(即软件测试脚本),包含预置测试数据、操作步骤、测试结果比对、清理测试数据内容,使软件测试脚本可以独立运行,与其他脚本互相不干扰;并编写用例脚本配置文件,其包含测试用例脚本名称、所属模块、用例责任人等信息,将所有测试脚本和用例测试脚本配置文件上传至配置库中。
S102调度平台触发器触发自动化测试活动启动,调用自动化脚本执行模块接口,在调度平台监督下运行自动化脚本,记录打印自动化脚本运行的全过程。
S103自动化脚本执行模块首先获取用例测试脚本配置文件,根据所接收到模块ID,过滤出需要执行用例脚本的用例脚本集,按照用例脚本集顺序执行同一模块的自动化脚本。多模块则多次运行该操作,操作间不设置顺序,可并行执行,最大限度的利用上系统计算机资源,输出测试原始记录jtl文件。
S104结果转换模块,采用转换工具对输出测试原始记录jtl文件进行格式化转换,转换为HTML格式,汇总测试结果再生成索引文件,索引文件中包含所有测试用例测试情况(包含测试用例名称、测试用例责任人、执行用例结果(成功或失败)),失败用例和成功用例采用不同的颜色标记以示区分。
S105将测试结果索引文件和单个测试用例结果文件置于web容器中,用户可以通过浏览器进行远程访问索引文件,并根据索引文件查看失败用例责任人和具体失败步骤等信息。
S106对转换后的测试结果文件进行分析,从多维度(包含用例总数、成功用例数、失败用例数、用例执行成功率,失败用例责任人、失败用例步骤、用例所属模块)分析测试情况,将测试情况制作成报告以邮件的形式发送给项目组成员。
本发明能够对测试用例进行有效的管理,增加调度机制,灵活服务项目,满足不同业务需求。测试通过后台运行,不影响用户的其他正常操作。测试流程自动化,无需人工干预。多并发执行,实现测试资源的最大化利用。增加结果分析和展示,及时发现测试的问题。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明还可以有若干种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种软件自动化测试的方法,包括:
根据测试任务下载包含被测软件的软件测试脚本的测试资源;
通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
2.根据权利要求1所述的软件自动化测试方法,其中,通过对所述被测软件的测试原始记录进行分析获得所述被测软件的测试结果包括:
通过对所述被测软件的测试原始记录进行编排整合,生成所述被测软件的测试报表;
通过对所述被测软件的测试表进行分析,得到所述测试结果。
3.根据权利要求1所述的软件自动化测试方法,在根据测试任务下载包含被测软件的软件测试脚本的测试资源之前,还包括:
编写包括软件测试脚本和测试脚本配置文件的测试资源,并将所述测试资源上传至配置库中,以便从所述配置库中下载所述测试资源。
4.根据权利要求3所述的软件自动化测试方法,其中,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
5.根据权利要求4所述的软件自动化测试方法,其中,所述通过批量运行所述测试资源包括:
从所述测试资源中获取软件测试脚本配置文件;
根据所述软件测试脚本配置文件中的所述被测软件模块ID,过滤出用于所述被测软件模块的软件测试脚本的软件测试脚本集;
按照软件测试脚本集顺序批量运行所述被测软件模块的软件测试脚本。
6.根据权利要求4所述的软件自动化测试方法,其中,当有多个被测软件模块时,所述通过批量运行所述测试资源包括:
从所述测试资源中获取软件测试脚本配置文件;
根据所述软件测试脚本配置文件中每个被测软件模块ID,过滤出用于每个被测软件模块的软件测试脚本的多个软件测试脚本集;
使多个被测软件模块的软件测试脚本按照各自的软件测试脚本集顺序批量运行被测软件的软件测试脚本。
7.一种软件自动化测试装置,包括:
调度模块,用于根据测试任务下载包含软件测试脚本的测试资源;
自动化脚本测试执行模块,用于通过批量运行所述测试资源,得到所述被测软件的测试原始记录;
测试分析模块,用于通过对所述被测软件的测试原始记录进行分析,获得所述被测软件的测试结果。
8.根据权利要求7所述的软件自动化测试装置,还包括:
测试脚本编写模块,用于编写包括软件测试脚本和测试脚本配置文件的测试资源,并将所述测试资源上传至配置库中,以便所述调度模块从所述配置库中下载所述测试资源;
其中,所述软件测试脚本包括预置测试数据、操作步骤以及测试结果比对;所述测试脚本配置文件包括软件测试脚本名称和被测软件模块ID。
9.一种软件自动化测试的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的软件自动化测试的程序,所述软件自动化测试的程序被所述处理器执行时实现如权利要求1至6中任一项所述的软件自动化测试的方法的步骤。
10.一种计算机存储介质,存储有软件自动化测试的程序,所述软件自动化测试的程序被处理器执行时实现如权利要求1至6中任一项所述的软件自动化测试的方法的步骤。
CN201811484735.0A 2018-12-06 2018-12-06 一种软件自动化软件测试方法及装置 Withdrawn CN111290933A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811484735.0A CN111290933A (zh) 2018-12-06 2018-12-06 一种软件自动化软件测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811484735.0A CN111290933A (zh) 2018-12-06 2018-12-06 一种软件自动化软件测试方法及装置

Publications (1)

Publication Number Publication Date
CN111290933A true CN111290933A (zh) 2020-06-16

Family

ID=71021109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811484735.0A Withdrawn CN111290933A (zh) 2018-12-06 2018-12-06 一种软件自动化软件测试方法及装置

Country Status (1)

Country Link
CN (1) CN111290933A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286829A (zh) * 2020-12-29 2021-01-29 卡斯柯信号(北京)有限公司 测试脚本生成方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN105354140A (zh) * 2015-11-02 2016-02-24 上海聚力传媒技术有限公司 一种自动化测试的方法及系统
CN107608901A (zh) * 2017-10-20 2018-01-19 北京京东金融科技控股有限公司 基于Jmteter的测试方法及装置、存储介质、电子设备
CN108415847A (zh) * 2018-05-08 2018-08-17 平安普惠企业管理有限公司 性能测试方法、装置、计算机设备及存储介质
CN108415832A (zh) * 2018-02-07 2018-08-17 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及存储介质
CN108595339A (zh) * 2018-05-09 2018-09-28 成都致云科技有限公司 自动化测试方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693183A (zh) * 2012-05-30 2012-09-26 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN105354140A (zh) * 2015-11-02 2016-02-24 上海聚力传媒技术有限公司 一种自动化测试的方法及系统
CN107608901A (zh) * 2017-10-20 2018-01-19 北京京东金融科技控股有限公司 基于Jmteter的测试方法及装置、存储介质、电子设备
CN108415832A (zh) * 2018-02-07 2018-08-17 平安科技(深圳)有限公司 接口自动化测试方法、装置、设备及存储介质
CN108415847A (zh) * 2018-05-08 2018-08-17 平安普惠企业管理有限公司 性能测试方法、装置、计算机设备及存储介质
CN108595339A (zh) * 2018-05-09 2018-09-28 成都致云科技有限公司 自动化测试方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
画雪JIAYOU: "jmeter之jtl文件解析", 《CSDN:HTTPS://BLOG.CSDN.NET/JIAOCHENGJIAYOU_123/ARTICLE/》 *
贺满: "ANT批量执行Jmeter脚本", 《阿里云:HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/304398》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286829A (zh) * 2020-12-29 2021-01-29 卡斯柯信号(北京)有限公司 测试脚本生成方法及装置
CN112286829B (zh) * 2020-12-29 2021-04-13 卡斯柯信号(北京)有限公司 测试脚本生成方法及装置

Similar Documents

Publication Publication Date Title
CN102693183B (zh) 一种实现软件自动化测试的方法及系统
US10372600B2 (en) Systems and methods for automated web performance testing for cloud apps in use-case scenarios
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US8930918B2 (en) System and method for SQL performance assurance services
US9465718B2 (en) Filter generation for load testing managed environments
CN101316185B (zh) 一种基于日志文件的分析结果定位系统资源瓶颈的方法
US20080155338A1 (en) Software testing framework for multiple operating system, hardware, and software configurations
US20130132933A1 (en) Automated compliance testing during application development
CN106933729A (zh) 一种基于云平台的测试方法和系统
CN105094783A (zh) 安卓应用稳定性测试的方法及装置
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN105095059A (zh) 一种自动化测试的方法和装置
CN105760296A (zh) 自动化测试控制方法、装置及终端
CN114818565A (zh) 基于python的仿真环境管理平台、方法、设备及介质
CN102014163B (zh) 一种基于事务驱动的云存储测试方法及系统
CN111966587A (zh) 数据采集方法、装置和设备
CN111459814A (zh) 自动化测试用例生成方法、装置及电子设备
CN111290933A (zh) 一种软件自动化软件测试方法及装置
CN117290250A (zh) 自动化测试框架建立方法、计算机设备及计算机存储介质
Yacoub Performance analysis of component-based applications
CN112148616A (zh) 一种性能测试管理平台
CN116467188A (zh) 一种多环境场景下的通用本地复现系统和方法
Heinrich et al. The palladio-bench for modeling and simulating software architectures
Asthana et al. Maareech: Usability testing tool for voice response system using xml based user models
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20200616

WW01 Invention patent application withdrawn after publication