公开/公告号CN112783769A
专利类型发明专利
公开/公告日2021-05-11
原文格式PDF
申请/专利权人 深圳市莫廷影像技术有限公司;
申请/专利号CN202110069346.7
申请日2021-01-19
分类号G06F11/36(20060101);
代理机构44223 深圳新创友知识产权代理有限公司;
代理人江耀纯
地址 518000 广东省深圳市龙岗区布吉街道布澜路137号赛兔数码科技园2期2栋C座5楼502
入库时间 2023-06-19 10:57:17
技术领域
本发明涉及软件测试技术领域,尤其涉及一种自定义的自动化软件测试方法。
背景技术
自动化测试通常是伴随着迭代式开发过程进行的,迭代式开发过程中测试的重复性导致了自动化测试技术的产生和发展,测试效率高、降低软件开发成本、生产和经济效益高;早期软件开发过程中将测试等同于调试(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"即可。
那么优先级的设定就更加简单了举例说明比如:
以上这些模块的键值对,最前面的最开始执行,依次往下执行模块测试,测试工程师根据软件测试的需求,把优先级第一的放在最前面,以此类推。不需要测试的模块把值(Value)值设定其它值即可。
当脚本文件开始执行测试用例前,可设置,当一条测试用例用例不通过时,可停止执行后面的测试,脚本exe程序暂停执行,待开发人员及时发现解决该问题。也可以设置即使有测试用例不通过时,依然执行后面的所有测试(适合夜间无人值守)。在控制台上打印错误信息,打印该条测试用例不通过的具体信息。当OCT软件不需要进行软件测试时,可以返回到软件默认扫描采集模式。也可以退出被测软件。
这样软件测试人员可以根据测试需求,有针对性的在编写不同模块的测试用例找出bug所在,结合不通过的测试用例输出的log日志的相关测试信息,有助于软件测试人员给软件研发人员提供有针对性的测试,有助于研发人员及时排除bug,减小软件产品开发周期。
本发明通过以上实施例的设计,其有益效果是:通过设置软件功能模块测试优先级,模块功能测试的循环次数,实现软自动化件测试可移植可扩展的自定义框架,测试效率高,方便且能够快速定位出问题所在,适用于所有单机版软件(C/S)模式的软件中。
本发明是根据特定的眼科OCT实例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。
机译: 一种在另一种之上叠加图像的方法,一种使用图像叠加方法自定义数据载体的方法以及一种自定义数据载体
机译: 自动化软件测试方法和系统
机译: 一种用于自动化软件应用程序测试过程的方法和系统