CN112783769A - 一种自定义的自动化软件测试方法 - Google Patents
一种自定义的自动化软件测试方法 Download PDFInfo
- Publication number
- CN112783769A CN112783769A CN202110069346.7A CN202110069346A CN112783769A CN 112783769 A CN112783769 A CN 112783769A CN 202110069346 A CN202110069346 A CN 202110069346A CN 112783769 A CN112783769 A CN 112783769A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- test case
- tested
- functional 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013522 software testing Methods 0.000 title claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 107
- 238000013515 script Methods 0.000 claims abstract description 16
- 238000004806 packaging method and process Methods 0.000 claims abstract description 11
- 238000011161 development Methods 0.000 abstract description 7
- 238000012384 transportation and delivery Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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
本发明公开了一种自定义的自动化软件测试方法,存储找到和识别各个控件的脚本,封装识别控件的方法,通过配置文件设置软件功能模块测试优先级和需要测试的软件功能模块;存储需要测试的软件功能模块测试用例;把测试用例放在与被测试程序exe的同级目录下;把脚本程序编译成exe,放在被测试软件的同级目录下;调用exe脚本程序,开始执行测试用例;脚本自动读取,同级目录下的测试用例逐条运行,直到测试用例全部运行完成;验证测试用例是否通过。本发明节约成本,可在较短的时间内运行更多的测试,效率高;有效地减少测试时间,缩短开发时间,从而保证软件的按期交付。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种自定义的自动化软件测试方法。
背景技术
自动化测试通常是伴随着迭代式开发过程进行的,迭代式开发过程中测试的重复性导致了自动化测试技术的产生和发展,测试效率高、降低软件开发成本、生产和经济效益高;早期软件开发过程中将测试等同于调试(debug),目的是纠正软件中已经知道的故障,通常由开发人员自己完成这部分的工作,常常是等到形成代码产品已经基本完成时才进行测试。直到1957年,软件测试区别于调试成为一种发现软件缺陷的活动。1972年在北卡罗莱纳大学举行了首届软件测试正式会议。1975年”测试数据选择原理”的文章在IEEE上发表,软件测试才被确定为一种研究方向。1979年,”软件测试艺术”一书定义测试为”测试是为发现错误而执行的一个程序或者系统的过程”,这是测试发展过程的里程碑。
现有软件测试中,当找bug时,需要大量的人工测试。或者购买其它公司的自动化测试工具,成本大,又不利于扩展与维护。因此,现有的技术需要很大的进步空间。
发明内容
本发明目的就是为了弥补已有技术的缺陷,提供一种自定义的自动化软件测试方法。
本发明是通过以下技术方案实现的:
一种自定义的自动化软件测试方法,通过软件测试控件的脚本,利用配置文件设置需要测试的软件功能模块的测试优先级和测试循环执行的次数,自动地进行软件测试。
具体包括以下步骤:
S1、存储找到和识别各个控件的脚本,如(button),(Textbook),(Lable)、(Checkbox)、(Radio)等软件界面控件的唯一标识,并封装识别控件的方法,模拟用户准确找到被测试的控件;
S2、通过配置文件设置软件功能模块测试优先级、测试循环执行的次数和需要测试的软件功能模块;
S3、存储所述需要测试的软件功能模块测试用例;
S4、把测试用例放在与被测试可执行程序的同级目录下,设置相对路径,不能设置绝对路径;把脚本程序编译成可执行脚本程序,放在被测试可执行程序的同级目录下,设置相对路径;
S5、调用可执行脚本程序,开始执行测试用例;可执行脚本程序自动读取同级目录下的测试用例逐条运行,直到测试用例全部运行完成;
S6、验证测试用例是否通过。
步骤(1)所述的封装识别控件的方法是通过控件的属性来封装相应的方法,然后再封装操作的方法。
所述的操作的方法具体包括双击、单击、选中下拉列表和勾选复选框等操作,根据软件需求封装不同的方法。
所述的验证测试用例是否通过,通过的测试用例用绿色表示,失败的用红色表示。
验证测试用例是否通过后,控制台上打印测试用例实际值与期望值。
本发明的优点是:本发明通过使用软件测试脚本,按照预订计划来自动地进行软件测试,从而提高测试效率、覆盖率和可靠性的测试方法或手段,不依赖当前市面上的其它测试工具、测试方法完全由脚本控制,易于扩展与维护。
本发明通用于所有的单机版软件程序(C/S)模式程序,可设置软件脚本的运行次数,测试功能的同时也可测试软件的压力测试,重复点击某个控件软件是否可正常运行,可模拟设置操作的速度。
从经济上来说节约成本,不需要购买其它公司的自动化软件测试工具;从技术上来说可在较短的时间内运行更多的测试,效率高;可以进行手工测试难以或无法完成的测试,如压力、并发、稳定性等非功能性测试,将测试人员从繁琐的测试任务中解放出来,将更多精力投入到更具创造力的测试用例设计中;可重复地执行相同的测试脚本,从而发现程序是否被修改和修改之处,缩小修改程序所带来缺陷的查找范围;有效地减少测试时间,缩短开发时间,从而保证软件的按期交付。
附图说明
图1为本发明的工作流程图。
具体实施方式
如图1所示,一种自定义的自动化软件测试方法,具体步骤如下:
存储找到和识别各个控件的脚本,如(button),(Textbook),(Lable)、(Checkbox)、(Radio)等软件界面控件的唯一标识。封装识别控件的方法,模拟用户准确找到被测试的控件。通过控件的属性如:Id、Name、className、ControlType等属性来封装相应的方法,然后再封装操作的方法:双击、单击、选中下拉列表、勾选复选框等操作,根据软件需求封装不同的方法。
通过配置文件设置软件功能模块测试优先级和需要测试的软件功能模块;
存储需要测试的软件功能模块测试用例;
把测试用例放在与被测试可执行程序的同级目录下,设置相对路径,不能设置绝对路径;
把脚本程序编译成可执行脚本程序,放在被测试可执行程序的同级目录下,设置相对路径;
调用可执行脚本程序,开始执行测试用例;
可执行脚本程序自动读取,同级目录下的测试用例逐条运行,直到测试用例全部运行完成;
验证测试用例是否通过,控制台上打印测试用例实际值与期望值,通过的测试用例用绿色表示,失败的用红色表示。
实施例一:
以下以眼科OCT的软件功能模块测试为例进行说明。OCT软件在量产前一般都需要进行批量软件测试。例如眼科OCT软件功能模块包括:新增病人模块、采集模块模块、分析模块、查询模块、数据管理模块,医生模块,系统设置模块等。通过脚本文件设置OCT软件功能模块测试优先级和需要测试的软件功能模块以及该模板测试用例循环执行的次数。
例如,设置OCT软件功能模块测试优先级顺序为:图像采集模块为优先级一级级别,循环测试用例执行N次验证功能以及性能是否正常。
新增病人模块为优先级二级级别,数据分析模块为优先级三级级别,系统设置模块为优先级四级级别。新建C#脚本工程时,脚本工程自动带出APP.Config配置文件,通过添加键(key)值(Value)对的方式,键(key)为需要测试的模块名称,值(Value)设定为“1”与脚本代码中的值一致,值(Value)也可设定其它值,需要代码中设定的值保持一致就行,根据测试人员的喜好设置。
若不想测试该模块比如:key="用户管理模块测试",那么只需要把APP.Config中的value="0"即可。
那么优先级的设定就更加简单了举例说明比如:
<addkey="采集模块测试"value="1"/>
<addkey="分析模块测试"value="1"/>
<addkey="新增查询模块测试"value="1"/>
<addkey="医生管理模块测试"value="1"/>
<addkey="数据管理模块测试"value="1"/>
<addkey="系统设置模块测试"value="1"/>
<addkey="组合打印模块测试"value="1"/>
<addkey="用户管理模块测试"value="1"/>
以上这些模块的键值对,最前面的最开始执行,依次往下执行模块测试,测试工程师根据软件测试的需求,把优先级第一的放在最前面,以此类推。不需要测试的模块把值(Value)值设定其它值即可。
当脚本文件开始执行测试用例前,可设置,当一条测试用例用例不通过时,可停止执行后面的测试,脚本exe程序暂停执行,待开发人员及时发现解决该问题。也可以设置即使有测试用例不通过时,依然执行后面的所有测试(适合夜间无人值守)。在控制台上打印错误信息,打印该条测试用例不通过的具体信息。当OCT软件不需要进行软件测试时,可以返回到软件默认扫描采集模式。也可以退出被测软件。
这样软件测试人员可以根据测试需求,有针对性的在编写不同模块的测试用例找出bug所在,结合不通过的测试用例输出的log日志的相关测试信息,有助于软件测试人员给软件研发人员提供有针对性的测试,有助于研发人员及时排除bug,减小软件产品开发周期。
本发明通过以上实施例的设计,其有益效果是:通过设置软件功能模块测试优先级,模块功能测试的循环次数,实现软自动化件测试可移植可扩展的自定义框架,测试效率高,方便且能够快速定位出问题所在,适用于所有单机版软件(C/S)模式的软件中。
本发明是根据特定的眼科OCT实例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。
Claims (6)
1.一种自定义的自动化软件测试方法,其特征在于:通过软件测试控件的脚本,利用配置文件设置需要测试的软件功能模块的测试优先级和测试循环执行的次数,自动地进行软件测试。
2.根据权利要求1所述的自定义的自动化软件测试方法,其特征在于:具体包括以下步骤:
S1、存储找到和识别各个控件的脚本,并封装识别控件的方法;
S2、通过配置文件设置软件功能模块测试优先级、测试循环执行的次数和需要测试的软件功能模块;
S3、存储所述需要测试的软件功能模块测试用例;
S4、把测试用例放在与被测试可执行程序的同级目录下,设置相对路径;把脚本程序编译成可执行脚本程序,放在被测试可执行程序的同级目录下,设置相对路径;
S5、调用可执行脚本程序,开始执行测试用例;可执行脚本程序自动读取同级目录下的测试用例逐条运行,直到测试用例全部运行完成;
S6、验证测试用例是否通过。
3.根据权利要求2所述的自定义的自动化软件测试方法,其特征在于:步骤S1所述的封装识别控件的方法是通过控件的属性来封装相应的方法,然后再封装操作的方法。
4.根据权利要求3所述的自定义的自动化软件测试方法,其特征在于:所述的操作的方法具体包括双击、单击、选中下拉列表和勾选复选框。
5.根据权利要求2所述的自定义的自动化软件测试方法,其特征在于:所述的验证测试用例是否通过,通过的测试用例用绿色表示,失败的用红色表示。
6.根据权利要求2所述的自定义的自动化软件测试方法,其特征在于:验证测试用例是否通过后,控制台上打印测试用例实际值与期望值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069346.7A CN112783769A (zh) | 2021-01-19 | 2021-01-19 | 一种自定义的自动化软件测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069346.7A CN112783769A (zh) | 2021-01-19 | 2021-01-19 | 一种自定义的自动化软件测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783769A true CN112783769A (zh) | 2021-05-11 |
Family
ID=75757609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110069346.7A Pending CN112783769A (zh) | 2021-01-19 | 2021-01-19 | 一种自定义的自动化软件测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783769A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254337A (zh) * | 2021-05-24 | 2021-08-13 | 北京创源微致软件有限公司 | 软件功能测试系统、方法及服务器 |
CN113448867A (zh) * | 2021-07-16 | 2021-09-28 | 谢靖 | 一种软件压力测试方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262585A (zh) * | 2010-05-31 | 2011-11-30 | 上海晨兴希姆通电子科技有限公司 | 软件测试模块及软件测试方法 |
CN104102581A (zh) * | 2014-07-10 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现单元测试的方法及装置 |
CN104298595A (zh) * | 2014-09-29 | 2015-01-21 | 百视通网络电视技术发展有限责任公司 | 自动化测试方法及测试系统 |
CN106339312A (zh) * | 2015-07-17 | 2017-01-18 | 腾讯科技(深圳)有限公司 | Api测试方法和系统 |
CN108399122A (zh) * | 2017-02-06 | 2018-08-14 | 北京京东尚科信息技术有限公司 | 测试脚本运行方法与系统 |
CN109800160A (zh) * | 2018-12-27 | 2019-05-24 | 深圳云天励飞技术有限公司 | 机器学习系统中的集群服务器故障测试方法和相关装置 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
CN111953560A (zh) * | 2020-07-17 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种分布式集群故障测试方法及装置 |
-
2021
- 2021-01-19 CN CN202110069346.7A patent/CN112783769A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262585A (zh) * | 2010-05-31 | 2011-11-30 | 上海晨兴希姆通电子科技有限公司 | 软件测试模块及软件测试方法 |
CN104102581A (zh) * | 2014-07-10 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种实现单元测试的方法及装置 |
CN104298595A (zh) * | 2014-09-29 | 2015-01-21 | 百视通网络电视技术发展有限责任公司 | 自动化测试方法及测试系统 |
CN106339312A (zh) * | 2015-07-17 | 2017-01-18 | 腾讯科技(深圳)有限公司 | Api测试方法和系统 |
CN108399122A (zh) * | 2017-02-06 | 2018-08-14 | 北京京东尚科信息技术有限公司 | 测试脚本运行方法与系统 |
CN109800160A (zh) * | 2018-12-27 | 2019-05-24 | 深圳云天励飞技术有限公司 | 机器学习系统中的集群服务器故障测试方法和相关装置 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
CN111953560A (zh) * | 2020-07-17 | 2020-11-17 | 苏州浪潮智能科技有限公司 | 一种分布式集群故障测试方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254337A (zh) * | 2021-05-24 | 2021-08-13 | 北京创源微致软件有限公司 | 软件功能测试系统、方法及服务器 |
CN113448867A (zh) * | 2021-07-16 | 2021-09-28 | 谢靖 | 一种软件压力测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
US8930912B2 (en) | Method and system for performing software verification | |
US9355017B2 (en) | Automated error checking system for a software application and method therefor | |
CN107562969B (zh) | 航空发动机控制系统软件的集成方法和装置 | |
CN107783873B (zh) | 一种烧录器自动化测试平台的实现方法 | |
WO2012022065A1 (zh) | 实现数字信号处理器自动测试的方法及系统 | |
CN103399814B (zh) | 自动化测试的方法及装置 | |
CN112783769A (zh) | 一种自定义的自动化软件测试方法 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
US20150074653A1 (en) | Executing code on a test instrument in response to an event | |
CN111611157B (zh) | Gms持续集成构建自动化测试方法及系统 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN111723009A (zh) | 一种python自动化测试系列产品的框架系统 | |
CN109460359A (zh) | 一种用于嵌入式设备的软件版本测试方法及系统 | |
CN106681877A (zh) | 芯片调试系统及方法与系统芯片 | |
CN113742215B (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
CN107480050B (zh) | 一种自动测试更新包的测试方法 | |
CN111258915B (zh) | 一种针对plc程序进行自动化单元测试的方法 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
CN114647588A (zh) | 接口测试方法及装置 | |
CN109634842B (zh) | 基于qt应用程序的测试方法和系统 | |
CN111814415A (zh) | 用于芯片验证的高效回归测试方法 | |
CN111813665A (zh) | 一种基于python的大数据平台接口数据测试方法和系统 | |
CN111651364B (zh) | 并行开发下的sql检查方法及装置 | |
AU2023201696B2 (en) | Method and device for determining coverage in HIL testing, and storage medium |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210511 |