CN107480056B - 一种软件测试方法和装置 - Google Patents

一种软件测试方法和装置 Download PDF

Info

Publication number
CN107480056B
CN107480056B CN201710642485.8A CN201710642485A CN107480056B CN 107480056 B CN107480056 B CN 107480056B CN 201710642485 A CN201710642485 A CN 201710642485A CN 107480056 B CN107480056 B CN 107480056B
Authority
CN
China
Prior art keywords
functional module
version
target software
test script
testing
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.)
Active
Application number
CN201710642485.8A
Other languages
English (en)
Other versions
CN107480056A (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.)
Beijing Testin Information Technology Co Ltd
Original Assignee
Beijing Testin Information 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 Beijing Testin Information Technology Co Ltd filed Critical Beijing Testin Information Technology Co Ltd
Priority to CN201710642485.8A priority Critical patent/CN107480056B/zh
Publication of CN107480056A publication Critical patent/CN107480056A/zh
Application granted granted Critical
Publication of CN107480056B publication Critical patent/CN107480056B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

一种软件测试方法和装置
技术领域
本申请涉及软件测试技术领域,尤其涉及一种软件测试方法和装置。
背景技术
软件开发是根据用户要求建造出软件系统或者系统中软件部分的过程,通常涉及到软件需求设计,软件模型设计,软件代码编写,软件测试等阶段。
目前,典型的软件开发模式可参见图1,研发部门研发出软件后,发送至测试部门,测试部门基于拿到的软件包编写/录制脚本,然后进行软件测试。基于此开发模式,研发作业和测试作业属于“串联”的关系,所要花费的开发周期较长,导致开发效率较低。
如何提高软件开发效率是本申请所要解决的技术问题。
发明内容
本申请实施例提供的一种软件测试方法和装置用于解决现有技术提供的软件开发方法效率较低的问题。
本申请实施例提供一种软件测试方法,包括:
在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
可选的,确定与所述第一功能模块对应的操作逻辑包括:
确定所述第一功能模块的标识;
基于所述第一功能模块的标识从所述第一版本的目标软件的产品需求文档中获取对应的操作逻辑;
其中,所述产品需求文档包括所述第一版本的目标软件的功能模块的操作逻辑。
可选的,确定所述第一功能模块的标识包括:
确定研发所述第一版本的目标软件的过程中构建的软件管理库,所述版本管理库中包括所述第一版本的目标软件的功能模块的标识信息;
对所述版本管理库进行抓取处理,获取所述第一功能模块的标识。
可选的,基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试包括:
接收研发完成的第一功能模块,并基于所述测试脚本对所述第一功能模块进行测试。
可选的,基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试包括:
判断是否完成所述第一版本的目标软件的研发,若否,则重复执行编写步骤,直至获取到所述第一版本的目标软件对应的第一测试脚本组,所述第一测试脚本组包括所述第一版本的目标软件中需要测试的功能模块对应的测试脚本,所述编写步骤用于确定研发所述第一版本的目标软件的过程中完成的功能模块和对应的操作逻辑,并接收基于对应的操作逻辑编写的对应的功能模块的测试脚本;
接收研发完成的所述第一版本的目标软件,并基于所述第一测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试。
可选的,在基于所述测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试之后,还包括:
若测试结果为未通过,则重复执行调整步骤,直至获取到测试结果为通过的第二版本的目标软件;其中,所述调整步骤用于构建调整后的第一版本的目标软件对应的第二测试脚本组并对所述调整后的第一版本的目标软件进行测试,所述调整后的第一版本的目标软件是根据所述测试结果对所述第一版本的目标软件进行调整处理获取的,所述第二测试脚本组包括所述调整后的第一版本的目标软件中需要测试的功能模块对应的测试脚本。
可选的,所述调整处理包括消除bug处理和/或代码优化处理。
可选的,所述调整步骤包括:
在调整所述第一版本的目标软件的过程中确定新增的第二功能模块以及与所述第二功能模块对应的操作逻辑;
接收基于对应的操作逻辑编写的所述第二功能模块的测试脚本,并将所述第二功能模块的测试脚本添加至所述第二测试脚本组。
本申请实施例一种软件测试方法,包括:
在研发目标软件的过程中,确定基于研发完成的第一功能模块构建的apk文件以及所述第一功能模块对应的操作逻辑;
接收基于所述操作逻辑录制的所述第一功能模对应的测试脚本;
基于所述测试脚本对所述apk文件进行测试。
本申请实施例一种软件测试装置,包括:
确定单元,用于在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收单元,用于接收基于对应的操作逻辑编写的所述第一功能模块的测试脚本;
测试单元,用于基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例在研发目标软件的过程中,确定研发人员研发完成的第一功能模块及其操作逻辑并将其操作逻辑发送给测试人员,由测试人员基于操作逻辑编写第一功能模块的测试脚本,以达到研发功能模块与编写对应测试脚本几乎同步的目的,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,具有提高测试效率的优点。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术提供的软件开发模式的流程示意图;
图2为本申请实施例1提供的软件测试方法的流程示意图;
图3为本申请实施例2提供的软件测试方法的流程示意图;
图4为本申请实施例3提供的软件测试方法的流程示意图;
图5为本申请实施例4提供的软件测试方法的流程示意图;
图6为本申请实施例5提供的软件测试装置的结构示意图;
图7为本申请实施例6提供的电子设备的结构示意图;
图8为本申请实施例8提供的软件测试装置的结构示意图;
图9为本申请实施例9提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本领域技术人员不难理解的是,下文中出现的软件可以是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。另外,软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。软件开发平台为用于开发软件的平台,包括客户端和服务器端,研发人员可登陆第一客户端进行研发作业,并上传至服务器端,然后,测试人员可登陆第二客户端对研发人员研发的软件进行测试工作。
其中,功能模块是指数据说明、可执行语句等程序元素的集合,它是指单独命名的可通过名字来访问的过程、函数、子程序或宏调用。功能模块化是将软件对应的程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图2为本申请实施例1提供的软件测试方法的流程示意图,参见图2,该方法具体包括如下步骤:
步骤22、在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
需要说明的是,本步骤的一种实现方式为:
研发人员在基于第一客户端完成第一功能模块的研发工作后,向服务器上传研发完成的消息以通知服务器,或者,服务器监控目标软件的研发进度,以获知第一功能模块的研发工作已完成。
然后,基于确定的第一功能模块的名称、标识等相关信息,结合第一功能模块所要达到的功能和/或性能确定对应的操作逻辑。
其中,操作逻辑可以具体为:操作第一功能模块的步骤、以及每个步骤对应的执行结果。
步骤24、接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
需要说明的是,本步骤的一种实现方式为:
服务器将第一功能模块的操作逻辑发送至第二客户端,以供测试人员查看。由测试人员基于操作逻辑编写测试脚本,并上传至服务器。
其中,执行测试脚本后可实现第一功能模块期望的功能,例如:对于“更多”选项的功能模块,在执行完对应的测试脚本后,操作界面上显示“更多”的字样,或者“更多”对应的选择列表。
步骤26、基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
需要说明的是,本步骤的一种实现方式可以为:
服务器接收第二客户端上传的测试脚本,并基于测试脚本对第一版本的目标软件的第一功能模块进行测试。
可见,本申请实施例在研发目标软件的过程中,确定研发人员研发完成的第一功能模块的操作逻辑,并将其发送给测试人员,由测试人员基于操作逻辑编写第一功能模块的测试脚本,以达到研发功能模块与编写对应测试脚本几乎同步的目的,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,具有提高测试效率的优点。
实施例2
图3为本申请实施例2提供的软件测试方法的流程示意图,参见图3,该方法具体包括如下步骤:
步骤32、在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
步骤34、接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
不难理解的是,步骤32和步骤34与实施例1中的步骤22和步骤24相对应,由于其实施方式相似,故,此处不再赘述,具体请参照实施例1中的相关描述。
步骤36、接收研发完成的第一功能模块;
步骤38、基于所述测试脚本对所述第一功能模块进行测试。
需要说明的是,本实施例在实施例1的基础上,进一步地提出了一种测试第一功能模块的可行实施方式:
在第一客户端完成第一功能模块的研发工作后,将第一功能模块的标识等信息以及第一功能模块上传至服务器,服务器基于第二客户端上传的第一功能模块对应的测试脚本对第一功能模块进行测试。
另外,若测试结果为未通过,则服务器向第一客户端返回测试报告,也是研发人员基于测试报告对第一功能模块进行调整处理,然后,重复进行测试-调整-再测试的过程,直至获取到测试结果为通过的第一功能模块。其中,调整处理包括消除bug处理和/或代码优化处理。
同理,对第一版本的目标软件的其他功能模块进行类似测试-调整-再测试的操作,直至获取到每个功能模块都是通过的版本的目标软件,或者功能模块的通过率达到设计要求的版本的目标软件。
可见,本申请实施例在研发目标软件的过程中,确定研发人员研发完成的第一功能模块及其操作逻辑,并将其操作逻辑发送给测试人员,由测试人员基于操作逻辑编写第一功能模块的测试脚本,进而服务器基于测试脚本对第一功能模块进行测试,达到研发功能模块、编写对应测试脚本和测试功能模块几乎并行进行的目的,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,整个开发流程存在大量并行处理的过程,能有效地缩短开发周期,具有提高测试效率的优点。
实施例3
图4为本申请实施例3提供的软件测试方法的流程示意图,参见图4,该方法具体包括如下步骤:
步骤42、在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
步骤44、接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
不难理解的是,步骤42和步骤44与实施例1中的步骤22和步骤24相对应,由于其实施方式相似,故,此处不再赘述,具体请参照实施例1中的相关描述。
步骤46、判断是否完成所述第一版本的目标软件的研发,若否,则重复执行步骤42;即重复执行编写步骤,直至获取到所述第一版本的目标软件对应的第一测试脚本组,所述第一测试脚本组包括所述第一版本的目标软件中需要测试的功能模块对应的测试脚本,所述编写步骤用于确定研发所述第一版本的目标软件的过程中完成的功能模块和对应的操作逻辑,并接收基于对应的操作逻辑编写的对应的功能模块的测试脚本;
若是,则执行步骤48;
步骤48、基于重复循环步骤42-46获取的功能模块的测试脚本,构建第一版本的目标软件的第一测试脚本组;
步骤410、接收研发完成的所述第一版本的目标软件;
步骤412、基于所述第一测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试。
需要说明的是,本实施例在实施例1的基础上,进一步地提出了另一种测试第一功能模块的可行实施方式:
服务器在确定研发人员已经研发完成第一功能模块后,判断研发工作是否完成,若否,则继续进行测试工作,直至获取到第一版本的目标软件对应的所有功能模块,或者,由在研发人员通过第一客户端告知服务器研发工作已完成后,基于第二客户端上传的所有已完成功能模块对应的测试脚本对第一版本的目标软件进行测试。
另外,若测试结果为未通过,则重复执行调整步骤,直至获取到测试结果为通过的第二版本的目标软件;其中,所述调整步骤用于构建调整后的第一版本的目标软件对应的第二测试脚本组并对所述调整后的第一版本的目标软件进行测试,所述调整后的第一版本的目标软件是根据所述测试结果对所述第一版本的目标软件进行调整处理获取的,所述第二测试脚本组包括所述调整后的第一版本的目标软件中需要测试的功能模块对应的测试脚本。其中,调整处理包括消除bug处理和/或代码优化处理。
其中,调整步骤包括:
在调整所述第一版本的目标软件的过程中确定新增的第二功能模块以及与所述第二功能模块对应的操作逻辑;
接收基于对应的操作逻辑编写的所述第二功能模块的测试脚本,并将所述第二功能模块的测试脚本添加至所述第二测试脚本组。
可见,本申请实施例通过在研发目标软件的过程中,确定研发人员研发完成的功能模块及其操作逻辑,并将其操作逻辑发送给测试人员,由测试人员基于操作逻辑编写功能模块的测试脚本。进而在研发人员完成研发作业后,测试人员也几乎同步完成测试脚本的编写。由此,在第一客户端将第一版本的目标软件上传至服务器后,服务器可几乎无缝连接的对第一版本的目标软件进行测试,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,具有提高测试效率的优点。
实施例4
图5为本申请实施例4提供的软件测试方法的流程示意图,参见图5,方法具体可以包括如下步骤:
步骤52、在研发目标软件的过程中,确定基于研发完成的第一功能模块构建的apk文件以及所述第一功能模块对应的操作逻辑;
步骤54、接收基于所述操作逻辑录制的所述第一功能模对应的测试脚本;
步骤56、基于所述测试脚本对所述apk文件进行测试。
需要说明的是,本申请实施例的一种实现方式可以为:
服务器确定研发人员在研发完成第一功能模块后,确定其操作逻辑,并将其操作逻辑发送至第二客户端,以使测试人员基于第一功能模块的操作逻辑编写测试脚本,并将编写完成的测试脚本上传至服务器。
同步地,研发人员在研发完成第一功能模块后,将第一功能模块发送至其他部门的人员进行相关操作,直至得到第一功能模块对应的apk文件,并将其上传至服务器;
然后,服务器基于测试脚本对第一功能模块对应的apk文件进行测试。
本申请实施例的另一种实现方式可以为:
第一客户端上传第一功能模块对应的apk文件,然后服务器将其转发至第二客户端,测试人员基于apk文件录制第一功能模块的测试脚本并上传至服务器。服务器基于录制的测试脚本对apk文件进行测试。
不难理解的是,第一功能模块可以为一个或者多个功能模块。
另外,本实施例与实施例1-3存在关联关系,故,描述的较为简洁,相似之处请参照实施例1-3中的相关陈述。
可见,本申请实施例在完成一个或功能模块后,即构建对应的apk,并发送给测试人员执行录制测试脚本的作业,然,服务器基于录制的测试脚本对apk进行测试。进而实现软件研发与软件测试的能部分同步进行,达到缩短开发周期、提高开发效率的目的。
需要说明的是,对于上述方法实施方式1-4,同一实施例中的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤22和步骤24的执行主体可以为设备1,步骤26的执行主体可以为设备2;又比如,步骤22的执行主体可以为设备1,步骤24和步骤26的执行主体可以为设备2;还比如,步骤22-步骤26的执行主体均为软件开发平台;等等。
为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
实施例5
图6为本申请实施例5提供的软件测试装置的结构示意图,参见图6,该装置具体可以包括:确定单元61、接收单元62和测试单元63,其中:
确定单元61,用于在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收单元62,用于接收基于对应的操作逻辑编写的所述第一功能模块的测试脚本;
测试单元63,用于基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
需要说明的是,本装置的一种实现方式为:
研发人员在基于第一客户端完成第一功能模块的研发作业后,确定单元61确定研发完成的第一功能模块及其操作逻辑,并通过通信装置转发至第二客户端。然后,接收单元62接收第二客户端基于操作逻辑编写的测试脚本,并将测试脚本发送至测试单元63。测试单元63基于测试脚本对第一版本的目标软件的第一功能模块进行测试。
下面对本装置中功能模块的工作原理进行实例说明:
确定单元61的工作原理可以为:
确定所述第一功能模块的标识;
基于所述第一功能模块的标识从所述第一版本的目标软件的产品需求文档中获取对应的操作逻辑;
其中,所述产品需求文档包括所述第一版本的目标软件的功能模块的操作逻辑。
其中,确定第一功能模块的标识的实现方案可以为:
研发人员在上传研发进度时,已将第一功能模块的标识上传至确定单元61;
或者,
确定单元61还需要确定研发所述第一版本的目标软件的过程中构建的软件管理库,所述版本管理库中包括所述第一版本的目标软件的功能模块的标识信息;对所述版本管理库进行抓取处理,获取所述第一功能模块的标识。
测试单元63的工作原理可以为:
接收研发完成的第一功能模块,并基于所述测试脚本对所述第一功能模块进行测试。
或者,
判断是否完成所述第一版本的目标软件的研发,若否,则重复执行编写步骤,直至获取到所述第一版本的目标软件对应的第一测试脚本组,所述第一测试脚本组包括所述第一版本的目标软件中需要测试的功能模块对应的测试脚本,所述编写步骤用于确定研发所述第一版本的目标软件的过程中完成的功能模块和对应的操作逻辑,并接收基于对应的操作逻辑编写的对应的功能模块的测试脚本;
接收研发完成的所述第一版本的目标软件,并基于所述第一测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试。
另外,在测试结果为未通过时,则测试单元63与确定单元61以及接收单元62共同执行调整步骤,直至获取到测试结果为通过的第二版本的目标软件。
其中,所述调整步骤用于构建调整后的第一版本的目标软件对应的第二测试脚本组并对所述调整后的第一版本的目标软件进行测试,所述调整后的第一版本的目标软件是根据所述测试结果对所述第一版本的目标软件进行调整处理获取的,所述第二测试脚本组包括所述调整后的第一版本的目标软件中需要测试的功能模块对应的测试脚本。
其中,调整步骤具体可以包括如下步骤:
在调整所述第一版本的目标软件的过程中确定新增的第二功能模块以及与所述第二功能模块对应的操作逻辑;
接收基于对应的操作逻辑编写的所述第二功能模块的测试脚本,并将所述第二功能模块的测试脚本添加至所述第二测试脚本组。
可见,本申请实施例在研发目标软件的过程中,确定研发人员研发完成的第一功能模块的操作逻辑,并将其发送给测试人员,由测试人员基于操作逻辑编写第一功能模块的测试脚本,以达到研发功能模块与编写对应测试脚本几乎同步的目的,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,具有提高测试效率的优点。
对于上述装置实施方式而言,由于其与方法实施例1-3基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
实施例6
图7为本申请实施例6提供的一种电子设备的结构示意图,参见图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成软件测试装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
上述如本申请图2-4和图6所示实施例揭示的软件测试装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
软件测试装置还可执行图2的方法,并实现管理者节点执行的方法。
实施例7
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行实施例1-3提供的软件测试方法。
实施例8
图8为本申请实施例8提供的软件测试装置的结构示意图,参见图8,该装置具体可以包括:确定单元81、接收单元82和测试单元83,其中:
确定单元81,用于在研发目标软件的过程中,确定基于研发完成的第一功能模块构建的apk文件以及所述第一功能模块对应的操作逻辑;
接收单元82,用于接收基于所述操作逻辑录制的所述第一功能模对应的测试脚本;
测试单元83,用于基于所述测试脚本对所述apk文件进行测试。
需要说明的是,本申请实施例的一种实现方式可以为:
研发人员在基于第一客户端完成第一功能模块的研发工作后,将其发送对其他部门进行处理,直至得到对应apk文件,确定单元81确定该apk文件以及第一功能模块对应的操作逻辑,并将apk文件发送至测试单元83,第一功能模块的操作逻辑发送至第二客户端。
接收单元82接收测试人员基于操作逻辑在第二客户端录制的测试脚本,并转发至测试单元83。测试单元基于第一功能模块对应的测试脚本对第一功能模块对应apk文件进行测试。
对于上述装置实施方式而言,由于其与方法实施例5基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
可见,本申请实施例在研发目标软件的过程中,确定研发人员研发完成的第一功能模块的操作逻辑,并将其发送给测试人员,由测试人员基于操作逻辑编写第一功能模块的测试脚本,以达到研发功能模块与编写对应测试脚本几乎同步的目的,与现有技术中完成目标软件的研发工作后再进行录制测试脚本的方案相比,具有提高测试效率的优点。
实施例9
图9为本申请实施例9提供的电子设备的结构示意图,参见图9,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成软件测试装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试。
上述如本申请图5和图8所示实施例揭示的软件测试装置或管理者(Master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
软件测试装置还可执行图5的方法,并实现管理者节点执行的方法。
实施例10
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行实施例5提供的软件测试方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种软件测试方法,其特征在于,包括:
在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收基于所述对应的操作逻辑编写的所述第一功能模块的测试脚本;
基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试;
其中,基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试包括:
判断是否完成所述第一版本的目标软件的研发,若否,则重复执行编写步骤,直至获取到所述第一版本的目标软件对应的第一测试脚本组,所述第一测试脚本组包括所述第一版本的目标软件中需要测试的功能模块对应的测试脚本,所述编写步骤用于确定研发所述第一版本的目标软件的过程中完成的功能模块和对应的操作逻辑,并接收基于对应的操作逻辑编写的对应的功能模块的测试脚本;
接收研发完成的所述第一版本的目标软件,并基于所述第一测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试。
2.根据权利要求1所述的方法,其特征在于,确定与所述第一功能模块对应的操作逻辑包括:
确定所述第一功能模块的标识;
基于所述第一功能模块的标识从所述第一版本的目标软件的产品需求文档中获取对应的操作逻辑;
其中,所述产品需求文档包括所述第一版本的目标软件的功能模块的操作逻辑。
3.根据权利要求2所述的方法,其特征在于,确定所述第一功能模块的标识包括:
确定研发所述第一版本的目标软件的过程中构建的软件管理库,所述版本管理库中包括所述第一版本的目标软件的功能模块的标识信息;
对所述版本管理库进行抓取处理,获取所述第一功能模块的标识。
4.根据权利要求1所述的方法,其特征在于,基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试包括:
接收研发完成的第一功能模块,并基于所述测试脚本对所述第一功能模块进行测试。
5.根据权利要求1所述的方法,其特征在于,在基于所述测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试之后,还包括:
若测试结果为未通过,则重复执行调整步骤,直至获取到测试结果为通过的第二版本的目标软件;其中,所述调整步骤用于构建调整后的第一版本的目标软件对应的第二测试脚本组并对所述调整后的第一版本的目标软件进行测试,所述调整后的第一版本的目标软件是根据所述测试结果对所述第一版本的目标软件进行调整处理获取的,所述第二测试脚本组包括所述调整后的第一版本的目标软件中需要测试的功能模块对应的测试脚本。
6.根据权利要求5所述的方法,其特征在于,所述调整处理包括消除bug处理和/或代码优化处理。
7.根据权利要求5所述的方法,其特征在于,所述调整步骤包括:
在调整所述第一版本的目标软件的过程中确定新增的第二功能模块以及与所述第二功能模块对应的操作逻辑;
接收基于对应的操作逻辑编写的所述第二功能模块的测试脚本,并将所述第二功能模块的测试脚本添加至所述第二测试脚本组。
8.一种软件测试装置,其特征在于,包括:
确定单元,用于在研发第一版本的目标软件的过程中确定研发完成的第一功能模块以及与所述第一功能模块对应的操作逻辑;
接收单元,用于接收基于对应的操作逻辑编写的所述第一功能模块的测试脚本;
测试单元,用于基于所述测试脚本对所述第一版本的目标软件的第一功能模块进行测试;其中,判断是否完成所述第一版本的目标软件的研发,若否,则重复执行编写步骤,直至获取到所述第一版本的目标软件对应的第一测试脚本组,所述第一测试脚本组包括所述第一版本的目标软件中需要测试的功能模块对应的测试脚本,所述编写步骤用于确定研发所述第一版本的目标软件的过程中完成的功能模块和对应的操作逻辑,并接收基于对应的操作逻辑编写的对应的功能模块的测试脚本;接收研发完成的所述第一版本的目标软件,并基于所述第一测试脚本组对所述第一版本的目标软件中需要测试的功能模块进行测试。
CN201710642485.8A 2017-07-31 2017-07-31 一种软件测试方法和装置 Active CN107480056B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710642485.8A CN107480056B (zh) 2017-07-31 2017-07-31 一种软件测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710642485.8A CN107480056B (zh) 2017-07-31 2017-07-31 一种软件测试方法和装置

Publications (2)

Publication Number Publication Date
CN107480056A CN107480056A (zh) 2017-12-15
CN107480056B true CN107480056B (zh) 2023-04-07

Family

ID=60598110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710642485.8A Active CN107480056B (zh) 2017-07-31 2017-07-31 一种软件测试方法和装置

Country Status (1)

Country Link
CN (1) CN107480056B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776640A (zh) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 分布式测试方法、装置、计算机设备和存储介质
CN108959089A (zh) * 2018-07-04 2018-12-07 沈文策 一种测试用例生成方法及装置
CN109324961B (zh) * 2018-08-14 2024-05-17 中国平安人寿保险股份有限公司 系统自动测试方法、装置、计算机设备及存储介质
CN112380138B (zh) * 2020-12-07 2021-11-09 深圳开源互联网安全技术有限公司 一种测试用例的编写方法、装置及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102654A (ja) * 2005-10-07 2007-04-19 Hitachi Software Eng Co Ltd テストスクリプト処理プログラム
CN101339534B (zh) * 2008-06-17 2010-10-13 金蝶软件(中国)有限公司 一种软件测试的方法及装置
CN101876942A (zh) * 2009-04-30 2010-11-03 卓望数码技术(深圳)有限公司 一种终端软件的测试方法及装置
CN102262585A (zh) * 2010-05-31 2011-11-30 上海晨兴希姆通电子科技有限公司 软件测试模块及软件测试方法
CN105787352A (zh) * 2014-12-18 2016-07-20 中兴通讯股份有限公司 一种可执行模块的提供、加载方法及终端
CN106294097B (zh) * 2015-05-13 2020-06-02 腾讯科技(深圳)有限公司 一种应用程序测试方法及设备
CN106681924B (zh) * 2016-12-30 2019-12-03 深圳市麦游互动科技有限公司 一种软件测试方法及系统
CN106959925B (zh) * 2017-04-25 2020-06-30 北京云测信息技术有限公司 一种版本测试方法及装置

Also Published As

Publication number Publication date
CN107480056A (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN107480056B (zh) 一种软件测试方法和装置
CN109614324B (zh) 一种测试用例生成方法和装置
CN109299015B (zh) 一种软件测试方法、装置及系统
JP5689400B2 (ja) アクセス要求に対する予期せぬ応答に関するコンピュータ・プログラムの検証
US9081892B2 (en) Software verification
CN107451058B (zh) 一种软件开发方法和装置
JP6363152B2 (ja) データフロー分析のための装置、方法、コンピュータプログラム及び記憶媒体
CN107704369B (zh) 一种操作日志的记录方法、电子设备、存储介质、系统
CN111767226A (zh) 一种云计算平台资源的测试方法、系统及设备
US9122805B2 (en) Resilient mock object creation for unit testing
CN114116505A (zh) 代码测试方法及装置
JP6771413B2 (ja) ソフトウェア検証装置およびソフトウェア検証プログラム
CN108268369B (zh) 测试数据获取方法及装置
US8601418B1 (en) Instruction-by-instruction checking on acceleration platforms
CN112256984A (zh) 一种网页对应的接口托底截图的获取方法及设备
US11074153B2 (en) Collecting application state in a runtime environment for reversible debugging
CN116756037A (zh) 异常代码定位系统、方法、设备及计算机可读存储介质
CN116483888A (zh) 程序评估方法及装置、电子设备和计算机可读存储介质
CN116701208A (zh) 一种芯片中内核模块的验证方法、系统、芯片和设备
CN111338864A (zh) 内存问题检测方法、装置、计算机设备及存储介质
CN115080426A (zh) 程序文件的检测方法及装置、存储介质和电子设备
CN106708721B (zh) 代码覆盖测试的实现方法和装置
CN109857665B (zh) 一种测试用例的测试执行方法及装置
CN111367796B (zh) 应用程序调试方法及装置
US20220019522A1 (en) Automated sequencing of software tests using dependency information

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