CN111177014A - 软件自动测试方法、系统及存储介质 - Google Patents

软件自动测试方法、系统及存储介质 Download PDF

Info

Publication number
CN111177014A
CN111177014A CN202010112822.4A CN202010112822A CN111177014A CN 111177014 A CN111177014 A CN 111177014A CN 202010112822 A CN202010112822 A CN 202010112822A CN 111177014 A CN111177014 A CN 111177014A
Authority
CN
China
Prior art keywords
test
test case
result
expected
case
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.)
Granted
Application number
CN202010112822.4A
Other languages
English (en)
Other versions
CN111177014B (zh
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.)
Deep Blue Automotive Technology Co ltd
Original Assignee
Chongqing Changan New Energy Automobile Technology Co Ltd
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 Chongqing Changan New Energy Automobile Technology Co Ltd filed Critical Chongqing Changan New Energy Automobile Technology Co Ltd
Priority to CN202010112822.4A priority Critical patent/CN111177014B/zh
Publication of CN111177014A publication Critical patent/CN111177014A/zh
Application granted granted Critical
Publication of CN111177014B publication Critical patent/CN111177014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/3688Test 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)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种软件自动测试方法、系统及存储介质,包括:A.加载被测软件的测试用例表单;B.执行第一条测试用例;C.判断本条测试用例的预期结果是否为空值,如不为空值,进入步骤D;如为空值,进入步骤E;D.将被测软件的实际输出结果和预期结果进行对比,若完全相同,则本条测试用例测试通过;否则本条测试用例测试未通过,进入步骤F;E.非首轮测试时,读取上一轮次的测试相关数据;寻找与本条测试用例完全相同的测试用例;将预期用例的实际输出结果作为预期结果,并进入步骤D;F.判断所有测试用例是否执行完毕,若未执行完毕,则进入步骤G,并进入步骤C;若执行完毕,则进入步骤H。本发明提高了自动化测试效果。

Description

软件自动测试方法、系统及存储介质
技术领域
本发明属于软件测试技术领域,具体涉及一种软件自动测试方法、系统及存储介质。
背景技术
随着科技的发展,控制器软件迭代的速率越来越高,控制器软件迭代速率的提高带来的一个风险问题:如何在高频次的产品迭代的过程中,保证控制控制器软件的质量。软件测试技术的重要性日益凸显。
模型在环测试(MIL)、软件在环测试(SIL)、硬件在环测试(HIL)是控制器软件测试的三大重要方法,MIL/SIL/HIL的自动化测试需要编写测试用例,一个项目的测试用例可以达到上万条甚至更多,如果采用人工手动执行测试用例,费时费力且容易出错,因此开发一种软件自动化测试方法尤为重要。另外,在编写测试用例时,需要给定精确的预期结果,当软件测试的实际输出结果和预期结果完全相同时才表明本条测试用例通过,但有些测试用例无法给定精确的预期结果,比如测试整车控制器时对扭矩需求的预期,因扭矩需求为连续变化的值,很难对测试过程中每个时间点给定预期值。对于这种无预期结果的测试用例,只能通过测试人员人工分析测试是否通过,这严重影响了测试效率,不利于实现软化自动化测试。
因此,有必要开发一种软件自动测试方法。
发明内容
本发明的目的是提供一种软件自动测试方法,能实现被测软件的自动测试,同时能对无预期结果的测试用例进行自动化测试。
第一方面,本发明所述的一种软件自动测试方法,包括以下步骤:
步骤A.使用上位机软件加载被测软件的测试用例表单,测试用例表单中的每条测试用例至少包括以下测试要素:测试编号、输入变量、输入时间、输入变量值、输出时间和预期结果,并将测试要素存放;待所有测试用例加载完毕后进入步骤B;
步骤B.执行第一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C;
步骤C.判断本条测试用例的预期结果是否为空值,如果预期结果不为空值,则表示本条测试用例存在预期结果,进入步骤D;如果预期结果为空值,则表示本条测试用例不存在预期结果,进入步骤E;
步骤D.将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,并存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果,进入步骤F;
步骤E. 若为首轮测试且本测试用例无预期结果时,设定预期结果为空值,并进入步骤D;
若为非首轮测试,则读取上一轮次的测试相关数据,寻找与本条测试用例完全相同的测试用例,若找到完全相同的测试用例,则作为本条测试用例的预期用例,将预期用例的实际输出结果作为预期结果,并进入步骤D;否则,设定预期结果为空值,并进入步骤D;
步骤F.判断所有测试用例是否执行完毕,若未执行完毕,则进入步骤G;若执行完毕,则进入步骤H;
步骤G.执行下一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C;
步骤H.测试结束。
进一步,读取上一轮次的测试相关数据,并将上一轮次的测试相关数据中的测试用例编号相同的测试用例作为目标测试用例;
对比本条测试用例与目标测试用例;
若本条测试用例与目标测试用例相同,则将目标测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果;
若本条测试用例与目标测试用例存在不同,则以上一轮次的测试相关数据中的测试用例编号相同的测试用例为中心,在其周围寻找与本条测试用例相同的测试用例,并不断扩大查找范围,若找到完全相同的测试用例,则将该测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试测试结果为通过,存放测试结果;若不完全相同,则表示本条测试测试结果为未通过,存放测试结果。
进一步,判断本条测试用例与目标测试用例是否相同的方法如下:
判断本条测试用例的输入变量、输入时间和输入变量值与目标测试用例的输入变量、输入时间和驶入变量值是否均相同,若是,则表示本条测试用例与目标测试用例相同;否则表示本条测试用例与目标测试用例存在不同。
进一步,所述上位机软件为Matalb软件。
第二方面,本发明所述的一种软件自动测试系统,包括存储器和处理器,所述存储器内存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个处理器调用执行时,能实现如本发明所述的软件自动测试方法的步骤。
第三方面,一种存储介质,其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如本发明所述的软件自动测试方法的步骤。
本发明具有以下优点:它能够实现被测软件的自动测试,同时能够对无预期结果的测试用例进行自动化测试,提高了自动化测试效果。
附图说明
图1是本发明的测试网图;
图2是本发明测试流程示意图。
具体实施方式
以下结合附图对本发明作进一步说明。
如图1所示,是本实施例的测试网图,首先使用上位机软件(Matalb)加载已经编写好的测试用例,加载的过程中存储期望测试输出数据到本机目录中;然后上位机软件将加载的测试数据导入到被测对象(即被测软件)中并启动测试,并将被测对象的实际测试输出数据存储到本机目录中;最后上位机软件读取测试数据,对比实际测试输出数据和期望测试输出数据并给出测试结果。
如图2所示,本实施例中,一种软件自动测试方法,包括以下步骤:
步骤A.使用上位机软件加载被测软件(本实施例中,被测软件为汽车的控制器软件)的测试用例表单,测试用例表单中的每条测试用例至少包括以下测试要素:测试编号、输入变量、输入时间、输入变量值、输出时间和预期结果,并将测试要素存放;待所有测试用例加载完毕后进入步骤B。
步骤B.执行第一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C。
步骤C.判断本条测试用例的预期结果是否为空值,如果预期结果不为空值,则表示本条测试用例存在预期结果,进入步骤D;如果预期结果为空值,则表示本条测试用例不存在预期结果,进入步骤E。
步骤D.将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,并存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果,进入步骤F。
步骤E. 若为首轮测试且本测试用例无预期结果时,则设定预期结果为空值,并进入步骤D。
本实施例中,在首轮测试时,若本条测试用例无预期结果,则设定预期结果为空值,对比实际输出结果和预期结果必为不通过,此时,存放本测试用例的测试结果,然后继续执行下一条测试用例。
若为非首轮测试,则读取上一轮次的测试相关数据,寻找与本条测试用例完全相同的测试用例,若找到完全相同的测试用例,则作为本条测试用例的预期用例,将预期用例的实际输出结果作为预期结果,并进入步骤D;否则,设定预期结果为空值,并进入步骤D。
本实施例中,在本轮测试时,若在原来测试用例的基础上新建了一条全新的测试用例,这种情况下必然找不到完全相同的测试用例,此时,则设定预期结果为空值,对比实际输出结果和预期结果必为不通过,存放本测试用例的测试结果,然后继续执行下一条测试用例。
步骤F.判断所有测试用例是否执行完毕,若未执行完毕,则进入步骤G;若执行完毕,则进入步骤H;
步骤G.执行下一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C;
步骤H.测试结束。
本实施例中,读取上一轮次的测试相关数据,并将上一轮次的测试相关数据中的测试用例编号相同的测试用例作为目标测试用例;
对比本条测试用例与目标测试用例;
若本条测试用例与目标测试用例相同,则将目标测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果;
若本条测试用例与目标测试用例存在不同,则以上一轮次的测试相关数据中的测试用例编号相同的测试用例为中心,在其周围寻找与本条测试用例相同的测试用例,并不断扩大查找范围,若找到完全相同的测试用例,则将该测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试测试结果为通过,存放测试结果;若不完全相同,则表示本条测试测试结果为未通过,存放测试结果。
本实施例中,判断本条测试用例与目标测试用例是否相同的方法如下:
判断本条测试用例的输入变量、输入时间和输入变量值与目标测试用例的输入变量、输入时间和驶入变量值是否均相同,若是,则表示本条测试用例与目标测试用例相同;否则表示本条测试用例与目标测试用例存在不同。
本实施例中,所述上位机软件为Matalb软件。
本实施例中,一种软件自动测试系统,包括存储器和处理器,所述存储器内存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个处理器调用执行时,能实现如本实施例中所述的软件自动测试方法的步骤。
本实施例中,一种存储介质,其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如本实施例中所述的软件自动测试方法的步骤。

Claims (6)

1.一种软件自动测试方法,其特征在于,包括以下步骤:
步骤A.使用上位机软件加载被测软件的测试用例表单,测试用例表单中的每条测试用例至少包括以下测试要素:测试编号、输入变量、输入时间、输入变量值、输出时间和预期结果,并将测试要素存放;待所有测试用例加载完毕后进入步骤B;
步骤B.执行第一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C;
步骤C.判断本条测试用例的预期结果是否为空值,如果预期结果不为空值,则表示本条测试用例存在预期结果,进入步骤D;如果预期结果为空值,则表示本条测试用例不存在预期结果,进入步骤E;
步骤D.将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,并存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果,进入步骤F;
步骤E.若为首轮测试且本测试用例无预期结果时,设定预期结果为空值,并进入步骤D;
若为非首轮测试,则读取上一轮次的测试相关数据,寻找与本条测试用例完全相同的测试用例,若找到完全相同的测试用例,则作为本条测试用例的预期用例,将预期用例的实际输出结果作为预期结果,并进入步骤D;否则,设定预期结果为空值,并进入步骤D;
步骤F.判断所有测试用例是否执行完毕,若未执行完毕,则进入步骤G;若执行完毕,则进入步骤H;
步骤G.执行下一条测试用例,执行完成后存放被测软件的实际输出结果,并进入步骤C;
步骤H.测试结束。
2.根据权利要求1所述的软件自动测试方法,其特征在于:读取上一轮次的测试相关数据,并将上一轮次的测试相关数据中的测试用例编号相同的测试用例作为目标测试用例;
对比本条测试用例与目标测试用例;
若本条测试用例与目标测试用例相同,则将目标测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试用例的测试结果为通过,存放测试结果;若不完全相同,则表示本条测试用例的测试结果为未通过,存放测试结果;
若本条测试用例与目标测试用例存在不同,则以上一轮次的测试相关数据中的测试用例编号相同的测试用例为中心,在其周围寻找与本条测试用例相同的测试用例,并不断扩大查找范围,若找到完全相同的测试用例,则将该测试用例作为预期用例,读取预期用例的实际输出结果作为本条测试用例的预期结果;将被测软件的实际输出结果和预期结果进行对比,若完全相同,则表示本条测试测试结果为通过,存放测试结果;若不完全相同,则表示本条测试测试结果为未通过,存放测试结果。
3.根据权利要求2所述的软件自动测试方法,其特征在于:判断本条测试用例与目标测试用例是否相同的方法如下:
判断本条测试用例的输入变量、输入时间和输入变量值与目标测试用例的输入变量、输入时间和驶入变量值是否均相同,若是,则表示本条测试用例与目标测试用例相同;否则表示本条测试用例与目标测试用例存在不同。
4.根据权利要求1至3任一所述的软件自动测试方法,其特征在于:所述上位机软件为Matalb软件。
5.一种软件自动测试系统,包括存储器和处理器,其特征在于:所述存储器内存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个处理器调用执行时,能实现如权利要求1至4任一所述的软件自动测试方法的步骤。
6.一种存储介质,其特征在于:其存储有一个或多个计算机可读程序,所述计算机可读程序被一个或多个控制器调用执行时,能实现如权利要求1至4任一所述的软件自动测试方法的步骤。
CN202010112822.4A 2020-02-24 2020-02-24 软件自动测试方法、系统及存储介质 Active CN111177014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010112822.4A CN111177014B (zh) 2020-02-24 2020-02-24 软件自动测试方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010112822.4A CN111177014B (zh) 2020-02-24 2020-02-24 软件自动测试方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111177014A true CN111177014A (zh) 2020-05-19
CN111177014B CN111177014B (zh) 2023-02-24

Family

ID=70625098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010112822.4A Active CN111177014B (zh) 2020-02-24 2020-02-24 软件自动测试方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111177014B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114460925A (zh) * 2022-01-29 2022-05-10 重庆长安新能源汽车科技有限公司 一种电动汽车控制器can接口hil自动化测试方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009117691A2 (en) * 2008-03-21 2009-09-24 Caustic Graphics, Inc Architectures for parallelized intersection testing and shading for ray-tracing rendering
WO2016040506A1 (en) * 2014-09-13 2016-03-17 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
CN105487966A (zh) * 2014-09-17 2016-04-13 腾讯科技(深圳)有限公司 程序测试方法、装置及系统
CN106569951A (zh) * 2016-11-04 2017-04-19 杭州顺网科技股份有限公司 一种脱离页面的Web测试方法
US20180067845A1 (en) * 2016-09-08 2018-03-08 Fmr Llc Automated quality assurance testing of browser-based applications
CN108170608A (zh) * 2018-01-10 2018-06-15 上海展扬通信技术有限公司 兼容性测试方法、测试终端及存储介质
CN109902016A (zh) * 2019-03-04 2019-06-18 网易(杭州)网络有限公司 一种Web的测试方法及测试平台
CN110297767A (zh) * 2019-06-03 2019-10-01 平安科技(深圳)有限公司 测试用例自动执行方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009117691A2 (en) * 2008-03-21 2009-09-24 Caustic Graphics, Inc Architectures for parallelized intersection testing and shading for ray-tracing rendering
WO2016040506A1 (en) * 2014-09-13 2016-03-17 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing
CN105487966A (zh) * 2014-09-17 2016-04-13 腾讯科技(深圳)有限公司 程序测试方法、装置及系统
US20180067845A1 (en) * 2016-09-08 2018-03-08 Fmr Llc Automated quality assurance testing of browser-based applications
CN106569951A (zh) * 2016-11-04 2017-04-19 杭州顺网科技股份有限公司 一种脱离页面的Web测试方法
CN108170608A (zh) * 2018-01-10 2018-06-15 上海展扬通信技术有限公司 兼容性测试方法、测试终端及存储介质
CN109902016A (zh) * 2019-03-04 2019-06-18 网易(杭州)网络有限公司 一种Web的测试方法及测试平台
CN110297767A (zh) * 2019-06-03 2019-10-01 平安科技(深圳)有限公司 测试用例自动执行方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANTONY已经被占用: ""测试框架之-断言与预期结果"", 《HTTPS://WWW.JIANSHU.COM/P/88DD5D1A21EE》 *
JEONG SEOK KANG: ""Automatic generation algorithm of expected results for testing of component-based software system"", 《INFORMATION AND SOFTWARE TECHNOLOGY》 *
李玉燕: ""基于不变量的回归测试用例集约简方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114460925A (zh) * 2022-01-29 2022-05-10 重庆长安新能源汽车科技有限公司 一种电动汽车控制器can接口hil自动化测试方法
CN114460925B (zh) * 2022-01-29 2023-05-23 重庆长安新能源汽车科技有限公司 一种电动汽车控制器can接口hil自动化测试方法

Also Published As

Publication number Publication date
CN111177014B (zh) 2023-02-24

Similar Documents

Publication Publication Date Title
CN111950212B (zh) 高效的多模式验证平台及方法
EP2960799A1 (en) Defect localization in software integration tests
US9760073B2 (en) Technique and tool for efficient testing of controllers in development
US7873890B2 (en) Techniques for performing a Logic Built-In Self-Test in an integrated circuit device
WO2019056720A1 (zh) 自动化测试用例管理方法、装置、设备及存储介质
CN111737154A (zh) 基于uft的车联网自动化测试方法及装置
CN111177014B (zh) 软件自动测试方法、系统及存储介质
CN113127331B (zh) 一种基于故障注入的测试方法、装置及计算机设备
CN112486811A (zh) 一种接口测试方法、装置、设备及介质
CN115827636B (zh) 存储及从波形数据库读取逻辑系统设计的仿真数据的方法
CN114661615B (zh) 一种fpga软件测试方法和设备
CN107818051B (zh) 一种测试用例的跳转分析方法、装置及服务器
US6708143B1 (en) Verification coverage method
CN114647588A (zh) 接口测试方法及装置
CN114168399A (zh) 一种信号处理单元测试方法及系统
CN109634842B (zh) 基于qt应用程序的测试方法和系统
US10733345B1 (en) Method and system for generating a validation test
CN111124904A (zh) 一种应用软件的回归测试方法及装置
CN114253780A (zh) 一种基于amd处理器的硬盘性能测试方法和系统
CN112597717B (zh) Ip核验证方法、装置及电子设备
CN111367816B (zh) 移动测试方法、装置、计算机设备及存储介质
JP2953029B2 (ja) 論理集積回路の試験方法
CN115808612B (zh) 一种芯片物理ip测试系统、方法及电子设备
CN109240933B (zh) 一种数据表操作结果断言方法
CN117591394A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 401133 room 208, 2 house, 39 Yonghe Road, Yu Zui Town, Jiangbei District, Chongqing

Patentee after: Deep Blue Automotive Technology Co.,Ltd.

Address before: 401133 room 208, 2 house, 39 Yonghe Road, Yu Zui Town, Jiangbei District, Chongqing

Patentee before: CHONGQING CHANGAN NEW ENERGY AUTOMOBILE TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder