CN111984537B - 一种基于WebIDE的软件测试方法、存储介质、装置 - Google Patents

一种基于WebIDE的软件测试方法、存储介质、装置 Download PDF

Info

Publication number
CN111984537B
CN111984537B CN202010855260.2A CN202010855260A CN111984537B CN 111984537 B CN111984537 B CN 111984537B CN 202010855260 A CN202010855260 A CN 202010855260A CN 111984537 B CN111984537 B CN 111984537B
Authority
CN
China
Prior art keywords
test
development environment
integrated development
test server
code
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
CN202010855260.2A
Other languages
English (en)
Other versions
CN111984537A (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.)
Shanghai Ruicheng Software Co ltd
Original Assignee
Shanghai Ruicheng Software 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 Shanghai Ruicheng Software Co ltd filed Critical Shanghai Ruicheng Software Co ltd
Priority to CN202010855260.2A priority Critical patent/CN111984537B/zh
Publication of CN111984537A publication Critical patent/CN111984537A/zh
Application granted granted Critical
Publication of CN111984537B publication Critical patent/CN111984537B/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/3664Environments for testing or debugging software
    • 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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于WebIDE的软件测试方法,包括:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;所述测试服务器发送所述代码运行报告给所述集成开发环境。本发明通过将测试运行的过程放到测试服务器上,实现了在B/S架构下的集成开发环境的快速排错,同时由于代码的测试运行过程完全在服务器上,故其也可以实现快速的代码测试运行,同时极大的减少了开发过程中由于搭建测试运行的环境所带来的成本,提高了项目的开发效率。

Description

一种基于WebIDE的软件测试方法、存储介质、装置
技术领域
本发明涉及软件开发,特别涉及一种基于WebIDE的软件测试方法、存储介质、装置。
背景技术
在传统的可视化窗体开发中,由于本地机器上的集成开发环境可以调用本地的各种依赖库,故一般通过在本地机器上的集成开发环境实现可视化窗体的开发,但是该种方法存在着一个严重的问题,随着窗体不断地精细,很多的老式电脑的计算能力已经完全无法满足现有的窗体开发的需求。
为了解决上述技术问题,出现了在浏览器上进行窗体开发的技术方案,但是本方案同样存在着严重的问题,集中体现在基于浏览器进行窗体开发由于无法使用Debug功能进行服务器运行代码调试,从而导致查错效率低下,无法实现高效率的开发。
发明内容
为解决现有的技术中在B/S架构下的集成开发环境无法进行Debug的问题,本发明提供一种基于WebIDE的软件测试方法,包括:
集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;
所述测试服务器发送所述代码运行报告给所述集成开发环境。
在本技术方案中,通过将测试运行的过程放到测试服务器上,实现了在B/S架构下的集成开发环境的快速排错,同时由于代码的测试运行过程完全在服务器上,故其也可以实现快速的代码测试运行,同时极大的减少了开发过程中由于搭建测试运行的环境所带来的成本,提高了项目的开发效率。
优选地,还包括:所述测试服务器发送窗体运行数据给所述集成开发环境;
所述集成开发环境解析所述窗体运行数据并产生运行窗体;
所述集成开发环境显示所述运行窗体。
进一步优选地,还包括:所述集成开发环境向所述测试服务器发送窗体参数;
所述测试服务器根据所述窗体参数运行所述窗体;
所述测试服务器产生窗体运行报告并发送所述窗体运行报告给所述集成开发环境;
所述集成开发环境显示所述窗体运行报告。
在本优选的技术方案中,通过测试服务器对软件项目进行运行,然后将代码运行结果传输给集成开发环境进行显示,然后再通过集成开发环境对运行结果,也就是运行所产生的窗体的控件进行操作,向控件内输入参数,然后测试服务器再根据该参数进行运行,再生成相应的新的代码运行报告,克服了在B/S架构下的集成开发环境因为无法调用如Java标准库等依赖项,从而无法在集成开发环境查看代码运行结果的技术问题,,实现了在B/S架构下的窗体程序的交互式运行调试。
优选地,所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告包括:
所述测试服务器解析所述软件项目并产生事件列表;
所述测试服务器根据所述事件列表产生测试用例集;
所述测试服务器执行所述测试用例集以产生代码运行报告。
在本优选的技术方案中,
优选地,还包括:所述集成开发环境建立事件选择列表;
所述集成开发环境向所述测试服务器发送所述事件选择列表;
所述测试服务器测试运行所述测试运行请求所对应的软件项目以产生代码运行报告包括:
所述测试服务器根据所述事件选择列表生成测试选择用例集;
所述测试服务器执行所述测试选择用例集以产生所述代码运行报告。
在本优选的技术方案中,通过在集成开发环境上仅对部分事件进行执行而不是全部事件,一方面减少了对于测试服务器的计算能力负担,另一方面通过对于事件运行的排列,可以有效地对由于事件的排列对窗体运行的影响作出准确的判断
优选地,还包括:所述集成开发环境选择所述事件选择列表中的窗体事件生成事件断点请求;
所述集成开发环境向所述测试服务器发送事件断点请求;
所述测试服务器根据所述断点请求判断设置事件断点。
优选地,所述测试运行所述测试运行请求所对应的软件项目以产生代码运行报告还包括:
当所述窗体运行到所述事件断点时,所述测试服务器采集所述窗体的运行状态并发送给所述集成开发环境;
所述集成开发环境显示所述运行状态。
在本优选的技术方案中,通过集成开发环境调用测试服务器的Debug功能,然后再将Debug的结果即软件项目的运行状态传输回集成开发环境,从而告知开发者当运行到指定的事件时软件项目的运行情况。
优选地,还包括:所述测试服务器将代码错误日志发送给所述集成开发环境;
当所述测试运行过程出现错误时,所述测试服务器生成代码错误日志;所述代码错误日志包括错误代码位置和错误代码类型。
在本优选的技术方案中,当代码在编译过程中出现错误时,测试服务器会产生相应的代码错误日志并发送给集成开发环境,从而告知开发者存在哪些错误,错误的类型是什么等,克服了B/S架构下由于不能使用Java运行环境而无法对代码编写错误实现快速查找,快速排除的问题,实现了快速排错,提高了开发效率的技术效果。
本发明还提供一种基于WebIDE的软件测试装置,包括存储器和处理器以及存储在所述存储器上的计算机程序;
所述计算机程序被配置为由处理器调用时,实现所述的一种基于WebIDE的软件测试方法的步骤。
本发明还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被配置为由处理器调用时,实现一种基于WebIDE的软件测试方法的步骤。
本发明至少包括以下一项技术效果:
(1)通过将测试运行的过程放到测试服务器上,实现了在B/S架构下的集成开发环境的快速排错,同时由于代码的测试运行过程完全在服务器上,故其也可以实现快速的代码测试运行,同时极大的减少了开发过程中由于搭建测试运行的环境所带来的成本,提高了项目的开发效率;
(2)通过测试服务器对软件项目进行运行,然后将代码运行结果传输给集成开发环境进行显示,然后再通过集成开发环境对运行结果,也就是运行所产生的窗体的控件进行操作,向控件内输入参数,然后测试服务器再根据该参数进行运行,再生成相应的新的代码运行报告,克服了在B/S架构下的集成开发环境因为无法调用如Java标准库等依赖项,从而无法在集成开发环境查看代码运行结果的技术问题,,实现了在B/S架构下的窗体程序的交互式运行调试;
(3)通过在集成开发环境上仅对部分事件进行执行而不是全部事件,一方面减少了对于测试服务器的计算能力负担,另一方面通过对于事件运行的排列,可以有效地对由于事件的排列对窗体运行的影响作出准确的判断;
(4)通过集成开发环境调用测试服务器的Debug功能,然后再将Debug的结果即软件项目的运行状态传输回集成开发环境进行展示运行结果,从而告知开发者当运行到指定的事件时软件项目的运行情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的流程示意图;
图2为本发明实施例7的流程示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例1:
如图1所示,本实施例提供一种基于WebIDE的软件测试方法,包括:
S1:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
S2:所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境。
在本实施例中,包括运行在浏览器上的集成开发环境和运行在测试服务器上的测试系统,二者之间构成B/S架构,所述测试系统用于对由集成开发环境上的开发的代码进行版本管理,浏览器可以为市面上常见的浏览器,可以是包括Chrome、Edge、Safari、IE中的任意一种。
在传统技术中,一般测试运行的过程都在本机上进行,测试运行的结果也在本机上进行展示,而一方面在多人协作的场景下,由于不同人所使用的本机不同,从而导致有些人的电脑所需要的测试运行时间则相对较短,而有些人的电脑所需要的测试运行时间极长,尤其是针对那些年代较为久远的电脑,测试运行所需要的时间极长,而由于本实施例中,所有的编译和运行过程都在服务器上实现,一方面由于服务器的计算运行速度一般要远好于本机,另一方面由于需要进行编译的只有一台设备,故对其进行编译速度的针对性优化也要远远比对于多台服务器容易,可以实现快速的测试运行。
在传统的集成开发环境运行在本机的集成开发环境的使用过程中,往往会通过调用开发工具本身的Debug功能来进行开发调试,排除错误,但是前述方法却不适用于B/S架构下的集成开发环境,因为在B/S架构下的集成开发环境无法调用开发工具的Debug功能,故为了实现在B/S架构下的集成开发环境的快速排错,首先由运行在B端的集成开发环境向向S端的测试服务器发送测试运行请求,让代码在测试服务器上进行完整的测试运行之后,生成代码运行结果产生报告,在代码运行报告中描述代码运行过程中入参出参之间的变化过程,开发者可通过阅读代码运行报告从而实现在B/S架构下开发调试,快速排错,而不需要人工在代码中撰写通过print语句将所需要的变量print出来,相对而言速度较快。
本实施例通过将测试运行的过程放到测试服务器上,实现了在B/S架构下的集成开发环境的快速排错,同时由于代码的测试运行过程完全在服务器上,故其也可以实现快速的代码测试运行,同时极大的减少了开发过程中由于开发机器编译效率低运行速度慢所带来的开发成本,提高了项目的开发效率。
实施例2:
本实施例包括:
S1:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
S2:所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境;
S4:所述测试服务器发送窗体运行数据给所述集成开发环境;
S5:所述集成开发环境解析所述窗体运行数据并产生运行窗体;
S6:所述集成开发环境显示所述运行窗体;
S7:所述集成开发环境向所述测试服务器发送窗体参数;
S8:所述测试服务器根据所述窗体参数运行所述窗体;
S9:所述测试服务器产生窗体运行报告并发送所述窗体运行报告给所述集成开发环境;
S10:所述集成开发环境显示所述窗体运行报告。
在本实施例中,测试服务器不仅仅要将代码运行报告发送给集成开发环境,同时也要把在测试服务器上运行生成的窗体结构发送给集成开发环境,从而告诉开发者其开发出来的窗体运行出来之后,实际上跟他想要的那个窗体是不是一样的,其原因在于在B端的集成开发环境上,由于缺少相应的运行环境,以Java开发为例,其无法使用Java虚拟机进行工作,所以在实际的运行过程中,在B端的集成开发环境上是不能查看到实际的窗体形状的,故需要将真正经过S端使用Java库运行之后的窗体发送给B端;当开发者看到窗体之后,可以通过在浏览器上显示的窗体控件输入参数,然后集成开发环境再将该输入参数传输给测试服务器,最后由测试服务器根据该参数运行之后生成新的代码运行报告并发送给浏览器。
本实施例通过测试服务器对软件项目进行运行,然后将代码运行结果传输给集成开发环境进行显示,然后再通过集成开发环境对运行结果,也就是运行所产生的窗体的控件进行操作,向控件内输入参数,然后测试服务器再根据该参数进行运行,再生成相应的新的代码运行报告,克服了在B/S架构下的集成开发环境因为无法调用如Java标准库等依赖项,从而无法在集成开发环境查看代码运行结果的技术问题,实现了在B/S架构下的窗体程序的交互式运行调试。
实施例3:
在本实施例中,包括:S1:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
S2-1:所述测试服务器解析所述软件项目并产生事件列表;
S2-2:所述测试服务器根据所述事件列表产生测试用例集;
S2-3:所述测试服务器执行所述测试用例集以产生代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境。
本实施例适用于对已经产生的代码的整体进行运行测试,首先,由测试服务器对软件项目进行解析,将测试运行请求所对应的软件项目的所有的事件都解析出来,并根据每一个事件产生测试用例以形成测试用例集,然后对该测试用例集中每一个测试用例都执行一遍,也就是说把每一个事件都触发一遍,进而根据执行过程中的参数变化生成代码运行报告,然后将该代码运行报告传输给集成开发环境,从而完成了整个过程。
实施例4:
在本实施例中,包括:
S1-1:所述集成开发环境建立事件选择列表;
S1-2:所述集成开发环境向所述测试服务器发送所述事件选择列表;
S2-4:所述测试服务器根据所述事件选择列表生成测试选择用例集;
S2-5:所述测试服务器执行所述测试选择用例集以产生所述代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境。
在本实施例中,一般适用于窗体程序的可视化开发,具体而言,适用于在运行在浏览器上的集成开发环境进行可视化开发窗体程序的情形。
当开发者通过集成开发环境对窗体本身构建完毕之后,对窗体所涉及的事件进行相应的设置,即软件项目的用户选择的行为会触发什么样的事件,从而完成整个窗体的MVC架构中所涉及的M、V、C三个部分的构建过程,然后在集成开发环境上选择其中需要运行的事件并对事件被触发执行的顺序进行排列从而生成相应的事件选择列表,也就是说该事件选择列表是该窗体所涉及的所有的事件所形成的的集合的子集,然后通过集成开发环境将该事件选择列表和对应的窗体发送给测试服务器,测试服务器根据事件选择列表所规定的顺序进行执行,从而形成相应的代码运行报告,该代码运行报告显示了在事件选择列表所规定的执行顺序下,该窗体所涉及到的各个变量之间的变化关系。
具体而言,现在假设有一个窗体,用于根据用户输入的合同ID显示合同所对应的物品的类型、规格和数量,其中包含了一个输入控件,用于输入合同ID,还包括三个显示控件,用于显示内容,还包括两个按钮,一个按钮绑定提交事件、另一个按钮绑定关闭事件,提交事件根据用户的点击操作触发,当点击时,触发提交事件,执行SQL语句,SQL语句为“Select ID,NAME,GG,NUM from TS_DEMO_WHERE where ID=?”其中问号的内容对应于用于输入合同ID的文本控件所输入的内容,然后将获取到的类型、规格和数量的内容分别对应于相应的文本控件进行输出,然后将事件运行后的内容输出出来,假设本次提交首先执行,然后再关闭。而在代码运行报告中的Json文件中一般会体现以下内容:
projectID,用于表示这个运行所对应的项目ID;
formNo,用于表示这个窗体是哪个窗体;
eventID:用于表示所对应的事件是哪个事件,通过ID表示;
EventName:用于表示所对应的事件是哪个事件,通过名称表示;
begin:事件运行的开始时间;
end:事件运行的结束时间;
EventParam:即事件的入参,对于本实施例来说,其中包含着应当执行的Sql语句;
OrginalSql:表示已经读取用于输入合同ID的输入控件内容后合并产生的SQL语句内容;
Sql:表示尚未读取用于输入合同ID的输入控件内容的SQL语句;
result:表示最终在控件体内展示的数据所对应的控件体;
orginalResult:表示经过Sql语句查询后获得的原生数据;
Script:表示事件对应所执行的代码内容。
对于本窗体而言,假设输入的ID为110,对应的产品的类型为笔记本电脑,规格为HPG14,数量为1000台,对应的体现提交事件的Json内容为:
Figure BDA0002646199090000111
涉及关闭事件的Json文件内容与上述类似。
通过上述内容的判断,便可以对事件列表中运行的事件的输入输出是否与预期的输入输出一致进行判断。
本实施例通过在集成开发环境上仅对部分事件进行执行而不是全部事件,一方面减少了对于测试服务器的计算能力负担,另一方面通过对于事件运行的排列,可以有效地对由于事件的排列对窗体运行的影响作出准确的判断,譬如在本实施例中,由于提交事件所涉及到的Sql语句依赖于用户在输入控件中输入的内容,用户不再输入控件中输入内容,那么sql语句便没有办法变成最终的可执行的sql语句,故在实际的运行过程中,需要对事件执行的顺序进行相应排列,不同的排列便会有不同的结果,也就是不同的代码运行报告,通过对于事件运行的排列,可以有效地实现对于错误的排除。
实施例5:
本实施例包括:
S1:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
S1-2:所述集成开发环境向所述测试服务器发送所述事件选择列表;
S2-4:所述测试服务器根据所述事件选择列表生成测试选择用例集;
S2-5:所述测试服务器执行所述测试选择用例集以产生所述代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境;
S11-1:所述集成开发环境选择所述事件选择列表中的窗体事件生成事件断点请求;
S11-2:所述集成开发环境向所述测试服务器发送事件断点请求;
S11-3:所述测试服务器根据所述断点请求判断设置事件断点;
S11-4:当所述窗体运行到所述事件断点时,所述测试服务器采集所述窗体的运行状态并发送给所述集成开发环境;
S11-5:所述集成开发环境显示所述运行状态。
在本实施例中,在传统的开发过程中,由于可以直接调用开发工具的或者如Java虚拟机等提供的Debug功能,故可以非常顺利的进行Debug操作,但对于运行在浏览器上的集成开发环境而言,在进行如Java开发时,由于不能调用Debug功能,故无法进行Debug,故在本实施例中,测试服务器负责测试运行的同时,根据集成开发环境发送的事件断点请求,使用测试服务器的Java虚拟机提供的Debug功能来进行调试,当项目按照事件列表依次对事件进行运行时,当运行到对应的事件断点请求后,自动停止运行接下来的事件并立即生成相应的代码运行报告并发送给集成开发环境,由集成开发环境将该代码运行报告显示出来。
本实施例通过集成开发环境调用测试服务器的Debug功能,然后再将Debug的结果即软件项目的运行状态传输回集成开发环境,从而告知开发者当运行到指定的事件时软件项目的运行情况。
实施例6:
本实施例包括:S1:集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
S2:所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;
S2-3:当所述测试运行过程出现错误时,所述测试服务器生成代码错误日志;所述代码错误日志包括错误代码位置和错误代码类型;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境;
S12:所述测试服务器将代码错误日志发送给所述集成开发环境。
在本实施例中,当项目运行过程中产生错误时,其会产生相应的代码错误日志并发送给测试服务器,其中的内容包括错误代码位置和错误代码类型,告知开发者,哪一个代码出现了错误,代码的错误的类型是什么等。
比如说存在一段代码:
var a=1;
a=a+b;
其中,变量b没有经过定义,测试运行代码时会报错,比如其开始的时间为2020-08-1411:00:01,
那么其代码错误日志为:
Figure BDA0002646199090000141
当代码出现错误时,由于代码没有正常运行,即没有正常结束,故"end"会为null,,同时会显示出代码的内容,也就是
"eventParam":{
"diy_code_script":"var a=1;a=a+b;"
}
然后显示出代码错误的类型,即:
"ex":"cn.vjsp.form.exception.vjspException:cn.vjsp.form.util.jexl.Jexls.execJe xlExp@1:14 execDiyCode at cn.vjsp.form.util.jexl.Jexls.execJexlExp(Unknown Source)"
本实施例中,当代码在编译过程中出现错误时,测试服务器会产生相应的代码错误日志并发送给集成开发环境,从而告知开发者存在哪些错误,错误的类型是什么等,克服了B/S架构下由于不能使用Java运行环境而无法对代码编写错误实现快速查找,快速排除的问题,实现了快速排错,提高了开发效率的技术效果。
实施例7:
如图2所示,本实施例包括:
S1-1:所述集成开发环境建立事件选择列表;
S1-2:所述集成开发环境向所述测试服务器发送所述事件选择列表;
S2-3:当所述测试运行过程出现错误时,所述测试服务器生成代码错误日志;
S2-4:所述测试服务器根据所述事件选择列表生成测试选择用例集;
S2-5:所述测试服务器执行所述测试选择用例集以产生所述代码运行报告;
S3:所述测试服务器发送所述代码运行报告给所述集成开发环境;
S4:所述测试服务器发送窗体运行数据给所述集成开发环境;
S5:所述集成开发环境解析所述窗体运行数据并产生运行窗体;
S6:所述集成开发环境显示所述运行窗体;
S7:所述集成开发环境向所述测试服务器发送窗体参数;
S8:所述测试服务器根据所述窗体参数运行所述窗体;
S9:所述测试服务器产生窗体运行报告并发送所述窗体运行报告给所述集成开发环境;
S10:所述集成开发环境显示所述窗体运行报告;
S11-1:所述集成开发环境选择所述事件选择列表中的窗体事件生成事件断点请求;
S11-2:所述集成开发环境向所述测试服务器发送事件断点请求;
S11-3:所述测试服务器根据所述断点请求判断设置事件断点;
S11-4:当所述窗体运行到所述事件断点时,所述测试服务器采集所述窗体的运行状态并发送给所述集成开发环境;
S11-5:所述集成开发环境显示所述运行状态;
S12:所述测试服务器将代码错误日志发送给所述集成开发环境。
在本实施例中,开发者建立好窗体之后,建立事件选择列表,选择事件的运行的顺序,然后测试服务器根据该顺序进行排列,完后根据该排列去运行,若出现了错误,生成代码错误日志,然后将产生的代码运行报告发送给测试服务器,测试服务器在通过交互式的如S4-S10代码测试方式对窗体进行测试,然后通过如S11-1到S11-5的Debug方式对窗体进行排错并将代码错误日志发送给集成开发环境,从而完成了整个的过程。
实施例8:
本实施例提供一种基于WebIDE的软件测试装置,包括存储器和处理器以及存储在所述存储器上的计算机程序;
所述计算机程序被配置为由处理器调用时,实现所述的一种基于WebIDE的软件测试方法的步骤。
实施例9:
本实施例还提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被配置为由处理器调用时,实现一种基于WebIDE的软件测试方法的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (5)

1.一种基于WebIDE的软件测试方法,其特征在于,包括:
集成开发环境向测试服务器发送测试运行请求;所述集成开发环境运行在浏览器上;
所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告;
所述测试服务器发送所述代码运行报告给所述集成开发环境;
所述测试服务器发送窗体运行数据给所述集成开发环境;
所述集成开发环境解析所述窗体运行数据并产生运行窗体;
所述集成开发环境显示所述运行窗体;
所述集成开发环境建立事件选择列表;
所述集成开发环境向所述测试服务器发送所述事件选择列表;
由测试服务器对软件项目进行解析,将测试运行请求所对应的软件项目的所有的事件都解析出来,并根据每一个事件产生测试用例以形成测试用例集
所述测试服务器根据所述事件选择列表生成测试选择用例集;
所述测试服务器执行所述测试选择用例集以产生所述代码运行报告;
所述集成开发环境向所述测试服务器发送窗体参数;
所述测试服务器根据所述窗体参数运行所述窗体;
所述测试服务器产生窗体运行报告并发送所述窗体运行报告给所述集成开发环境;
所述集成开发环境显示所述窗体运行报告;
所述集成开发环境选择所述事件选择列表中的窗体事件生成事件断点请求;
所述集成开发环境向所述测试服务器发送事件断点请求;
所述测试服务器根据所述断点请求判断设置事件断点;
所述测试运行所述测试运行请求所对应的软件项目以产生代码运行报告还包括:
当所述窗体运行到所述事件断点时,所述测试服务器采集所述窗体的运行状态并发送给所述集成开发环境;
所述集成开发环境显示所述运行状态。
2.根据权利要求1所述的一种基于WebIDE的软件测试方法,其特征在于:所述测试服务器接收到所述测试运行请求后,测试运行所述测试运行请求所对应的软件项目以产生代码运行报告包括:
所述测试服务器解析所述软件项目并产生事件列表;
所述测试服务器根据所述事件列表产生测试用例集;
所述测试服务器执行所述测试用例集以产生代码运行报告。
3.根据权利要求1所述的一种基于WebIDE的软件测试方法,其特征在于:还包括:
当所述测试运行过程出现错误时,所述测试服务器生成代码错误日志;所述代码错误日志包括错误代码位置和错误代码类型;
所述测试服务器将代码错误日志发送给所述集成开发环境。
4.一种基于WebIDE的软件测试装置,其特征在于:包括存储器和处理器以及存储在所述存储器上的计算机程序;
所述计算机程序被配置为由处理器调用时,实现权利要求1-3任一所述的一种基于WebIDE的软件测试方法的步骤。
5.一种存储介质,其特征在于:所述存储介质中存储有计算机程序,所述计算机程序被配置为由处理器调用时,实现权利要求1-3任一所述的一种基于WebIDE的软件测试方法的步骤。
CN202010855260.2A 2020-08-24 2020-08-24 一种基于WebIDE的软件测试方法、存储介质、装置 Active CN111984537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010855260.2A CN111984537B (zh) 2020-08-24 2020-08-24 一种基于WebIDE的软件测试方法、存储介质、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010855260.2A CN111984537B (zh) 2020-08-24 2020-08-24 一种基于WebIDE的软件测试方法、存储介质、装置

Publications (2)

Publication Number Publication Date
CN111984537A CN111984537A (zh) 2020-11-24
CN111984537B true CN111984537B (zh) 2021-12-07

Family

ID=73444029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010855260.2A Active CN111984537B (zh) 2020-08-24 2020-08-24 一种基于WebIDE的软件测试方法、存储介质、装置

Country Status (1)

Country Link
CN (1) CN111984537B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116103A (zh) * 2021-11-29 2022-03-01 北京字节跳动网络技术有限公司 一种数据同步方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567003A (zh) * 2010-12-29 2012-07-11 上海邮电设计咨询研究院有限公司 一种电信增值业务开发环境中的业务调试实现方法
CN103324567A (zh) * 2012-03-22 2013-09-25 百度在线网络技术(北京)有限公司 一种应用引擎的调试方法和调试系统
CN103473177A (zh) * 2013-09-25 2013-12-25 北京大学 一种在线调试c/c++程序的方法
CN103593292A (zh) * 2013-11-19 2014-02-19 北京深思数盾科技有限公司 调试程序的系统及方法
CN103927222A (zh) * 2013-12-31 2014-07-16 瑞达信息安全产业股份有限公司 一种用于客户端与服务端的图形协同处理方法和系统
CN104009882A (zh) * 2014-04-29 2014-08-27 上海科梁信息工程有限公司 基于分布式架构的等效卫星电源系统的测试方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535823B2 (en) * 2011-02-28 2017-01-03 Typemock Ltd. Method and apparatus for detecting software bugs
CN108052326B (zh) * 2017-12-05 2020-11-20 北京工业大学 一种Xilinx FPGA支持Arduino IDE开发的实现方法
US10970193B2 (en) * 2018-05-23 2021-04-06 Dropbox, Inc. Debugging a client synchronization service
CN111221729B (zh) * 2019-12-31 2024-04-05 的卢技术有限公司 一种平台服务与测试服务分离的自动化测试方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567003A (zh) * 2010-12-29 2012-07-11 上海邮电设计咨询研究院有限公司 一种电信增值业务开发环境中的业务调试实现方法
CN103324567A (zh) * 2012-03-22 2013-09-25 百度在线网络技术(北京)有限公司 一种应用引擎的调试方法和调试系统
CN103473177A (zh) * 2013-09-25 2013-12-25 北京大学 一种在线调试c/c++程序的方法
CN103593292A (zh) * 2013-11-19 2014-02-19 北京深思数盾科技有限公司 调试程序的系统及方法
CN103927222A (zh) * 2013-12-31 2014-07-16 瑞达信息安全产业股份有限公司 一种用于客户端与服务端的图形协同处理方法和系统
CN104009882A (zh) * 2014-04-29 2014-08-27 上海科梁信息工程有限公司 基于分布式架构的等效卫星电源系统的测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HTML控件和验证控件;iSoftStone Holdings Ltd;《http://www.doc88.com/p-2002062979369.html》;20071231;第1-36页 *

Also Published As

Publication number Publication date
CN111984537A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
US6026362A (en) Tool and method for diagnosing and correcting errors in a computer program
KR100248376B1 (ko) 동적-비주얼 통합 병렬 디버깅 장치 및 디버깅 방법
US8789023B2 (en) Backward post-execution software debugger
US8914777B2 (en) Forward post-execution software debugger
US8584097B2 (en) Post-execution software debugger with event display
US8336032B2 (en) Implementing enhanced template debug
US7945900B2 (en) Debugging tool for debugging multi-threaded programs
US20140282415A1 (en) Method and system for debugging a program
JP2000132424A (ja) ソフトウェアインスツルメンテ―ション方法
CN110196809B (zh) 接口测试方法及装置
Laguna et al. Probabilistic diagnosis of performance faults in large-scale parallel applications
US9697107B2 (en) Testing applications
Dong et al. Flaky test detection in Android via event order exploration
Reiss The challenge of helping the programmer during debugging
CN111984537B (zh) 一种基于WebIDE的软件测试方法、存储介质、装置
CN110543429B (zh) 测试用例调试方法、装置及存储介质
EP3734460B1 (en) Probabilistic software testing via dynamic graphs
US8078590B2 (en) Data processing system
Wienke et al. Results of the survey: failures in robotics and intelligent systems
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
Poole Debugging and testing
Gao Quantifying flakiness and minimizing its effects on software testing
CN114968751A (zh) 一种无代码开发平台的程序调试方法和程序调试装置
JPH05265802A (ja) ソフトウェアデバッグ装置
CN112015650B (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