CN110874325A - 一种基于用户会话的Web应用测试用例扩充方法 - Google Patents
一种基于用户会话的Web应用测试用例扩充方法 Download PDFInfo
- Publication number
- CN110874325A CN110874325A CN201911056659.8A CN201911056659A CN110874325A CN 110874325 A CN110874325 A CN 110874325A CN 201911056659 A CN201911056659 A CN 201911056659A CN 110874325 A CN110874325 A CN 110874325A
- Authority
- CN
- China
- Prior art keywords
- user
- page
- uss
- behavior
- test 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 34
- 206010000117 Abnormal behaviour Diseases 0.000 claims abstract description 158
- 230000006399 behavior Effects 0.000 claims abstract description 124
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 description 15
- 238000000605 extraction Methods 0.000 description 11
- 241000287196 Asthenes Species 0.000 description 10
- 238000013075 data extraction Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 108091034117 Oligonucleotide Proteins 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- MJBPUQUGJNAPAZ-AWEZNQCLSA-N butin Chemical compound C1([C@@H]2CC(=O)C3=CC=C(C=C3O2)O)=CC=C(O)C(O)=C1 MJBPUQUGJNAPAZ-AWEZNQCLSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- MJBPUQUGJNAPAZ-UHFFFAOYSA-N Butine Natural products O1C2=CC(O)=CC=C2C(=O)CC1C1=CC=C(O)C(O)=C1 MJBPUQUGJNAPAZ-UHFFFAOYSA-N 0.000 description 1
- 230000007488 abnormal function Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
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
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于用户会话的Web应用测试用例扩充方法,包括有将用户会话与Web页面依赖关系进行用户行为识别分析,得到用户正常行为以及用户异常行为;将用户正常行为进行测试用例转换处理,得到用户正常行为的测试用例,并保存至应用服务器中;将用户异常行为进行测试用例转换处理,得到用户异常行为的测试用例,并保存至应用服务器中。本发明方法所要解决的是对用户行为进行识别分析;并将识别后的用户行为进行测试用例转换,得到扩充的Web应用测试用例。
Description
技术领域
本发明涉及对Web应用测试用例的扩充技术,更特别地说,是指一种基于用户会话的Web应用测试用例扩充方法。
背景技术
Web(world wide web,万维网)应用是全球信息化设施的重要基础组件,许多技术和工具被用来检验Web应用,然而这些技术很少涉及到Web应用的独特特征。与传统软件系统相比较,Web应用有以下几个特征:
1)Web应用往往面对庞大的用户群,使用方式多,各种新的使用方式可能超出开发者的原有预期,使得原有的测试未必充分。
2)Web应用的访问量常常变化迅速。例如当Web页面被搜索引擎抓取时往往会接收到突增的访问。但在其开发过程中,往往难以预见并有针对性的设计基于各种真实使用场景的强度测试。
3)Web应用的维护要求高,往往需要针对出现的故障或新需求立即做出响应,并用最短的时间完成版本的更新。Web维护经常带来细节的变动,频繁的小的维护使得强化测试成为必须。为此,有必要研究如何基于Web应用的访问历史记录,生成并扩充测试用例(Application Test Example,ATX),以强化针对用户(User) 使用方式的测试(Application),检查(an examination)其原有功能是否保持正常,更新部分是否产生负面影响等。
4)Web应用常常包含复杂的、多层的结构。例如Web服务、Web数据库、 Web中间件等。这导致测试Web应用比传统软件更加困难。
5)Web应用在具有高并发性,在同一时刻往往有多个用户同时访问,因此测试时需要考虑多用户并发和交互的情况。
随着Web的发展,依赖于因特网(Internet)处理日常事物的各种人群对安全、稳定、可用性强的Web需求越来越强烈。现存的Web应用分析和Web应用测试工具对Web应用潜在的结构和语义进行建模,然后使用白盒方式进行测试。然而白盒测试需要手工构造测试数据,这大大影响了测试效率。因此需要研究并开发适当的方法和支持工具,对持续演化的Web应用进行有针对性的自动化测试。但是不断改变的用户配置和频繁的小的维护使自动化测试变得复杂。
一种测试Web应用的方法是利用捕获(capture)和重放机制(Replay Mechanism)通过收集用户行为(Collect User Behavior),将用户行为(User Behavior)转化为测试脚本(Test Script),然后对所述Test Script进行测试。其中一个有效的办法是针对用户会话来测试Web应用程序,这种方法依赖于捕获和重放真实的用户会话(User session)过程。用户会话通常指用户打开浏览器,访问某Web应用直到关闭浏览器退出Web应用的过程,会话反应了用户的使用方式和习惯。应用程序在维护时有可能不小心引入其他软件缺陷,此时测试人员可以利用历史会话记录,强化针对用户常用方式的测试。在应用程序的生命周期中,一般而言,时间太久之前的用户使用方式不能反映当前系统的使用状况,所以当系统维护时,测试人员应该使用最近的用户会话进行测试。
发明内容
本发明提出的一种基于用户会话的Web应用测试用例扩充方法,该方法所要解决的是对用户行为进行识别分析;并将识别后的用户行为进行测试用例转换,得到扩充的Web应用测试用例。
本发明的一种基于用户会话的Web应用测试用例扩充方法,其特征在于包括有下列步骤:
步骤一,将用户会话与Web页面依赖关系进行用户行为识别分析,得到用户正常行为以及用户异常行为;
步骤二,将用户正常行为进行测试用例转换处理,得到用户正常行为的测试用例,并保存至应用服务器中;
步骤三,将用户异常行为进行测试用例转换处理,得到用户异常行为的测试用例,并保存至应用服务器中;
所述用户会话是指用户打开浏览器,访问某Web应用直到关闭浏览器退出Web 应用的过程。
所述页面间依赖关系包括有:任意两个页面的顺序依赖关系CR、任意两个页面的数据互用依赖关系DR和任意两个页面的顺序-数据依赖关系UAB。
本发明基于用户会话的Web应用测试用例扩充方法的优点在于:
①采用本发明方法生成的扩充至Web中的测试用例,利用页面之间的依赖关系来生成,能够强化针对用户使用方式的测试,检查其原有功能是否保持正常,降低更新部分是否产生负面影响。
②本发明方法中应用页面间依赖关系来进行不同用户会话的处理,并将所述用户会话判断分为用户正常行为和异常行为的识别,是为了使Web应用测试用例对比不同的多个页面更加完整,提高了测试用例的可靠性,同时也更符合Web的网络运行环境。
③本发明基于用户会话的测试用例扩充,能够满足随着Web(world wide web,万维网)的发展,依赖于因特网(Internet)处理日常事物的各种人群对安全、稳定、可用性强的Web需求。
具体实施方式
下面将对本发明做进一步的详细说明。
在本发明中,是将Web应用的用户会话进行数据信息的提取与分析。用户会话通常指用户(User)打开浏览器,访问某Web应用直到关闭浏览器退出Web应用的过程。
在本发明中,多条用户会话构成用户会话集,记为 USS={uss1,uss2,…,ussb,…,ussc…,ussB};其中:
uss1表示Web应用的第一条用户会话;
uss2表示Web应用的第二条用户会话;
ussb表示Web应用的任意一条用户会话;下角标b表示任意用户会话的标识号;
ussc表示Web应用的除所述ussb的另一任意条用户会话;
ussB表示Web应用的最后一条用户会话;下角标B表示用户会话的总条数。
本发明方法解决的技术问题是:由于Web应用的用户会话中含有的信息量往往很大且重复信息多,如果不进行选择会严重影响测试效率,因此本发明方法针对该技术问题提出了如何使用“页面间依赖关系”对这些Web应用的用户会话进行选择,并对提取的“用户行为采用测试用例转换处理”生成有效的测试用例,然后将这些测试用例扩充到当前的Web应用测试用例集中。
Web应用中往往包含了多个页面(page),这些页面不是孤立存在的,有些页面的访问满足一定的数据输入条件,有些页面的访问需要依赖某些页面。这说明Web 页面间存在联系,在本发明中将Web页面间存在的联系称为Web页面间的依赖关系,记为页面间依赖关系集Web_MP={CR,DR,UAB}。
Web应用中的多个页面采用集合形式表示为,页面集 MP={page1,page2,…,pagei,…,pagea,…,pagej,…,pageA};
page1表示Web应用中的第一个页面;
page2表示Web应用中的第二个页面;
pagea表示Web应用中的任意一个页面;下角标a为页面标识号;
pagei表示Web应用中的第二个任意页面;
pagej表示Web应用中的第三个任意页面;pagea、pagei和pagej表示Web 应用中的不同页面;
pageA表示Web应用中的最后一个页面;下角标A为总页面数。
在本发明中,页面间依赖关系集Web_MP={CR,DR,UAB}中的CR是指任意两个页面的顺序依赖关系。具体地说:
在本发明中,页面间依赖关系集Web_MP={CR,DR,UAB}中的DR是指任意两个页面的数据互用依赖关系。具体地说:
在本发明中,页面间依赖关系集Web_MP={CR,DR,UAB}中的UAB是指任意两个页面的顺序-数据依赖关系。具体地说:
在不同的权限下每个页面中所包含的链接是不一样的,而往往很多页面为了统一,将许多不同权限的页面放在一个页面框架下展示。基于这样的情况提出将用户正常行为转换为用户异常行为的策略。
利用链接挖掘,能够去网页的源代码当中不同权限的链接,这些链接是用户行为的内在表现。
比如页面集MP={page1,page2,…,pagei,…,pagea,…,pagej,…,pageA} 中pagei页面中包含了很多链接,但其实很多链接都不是它这个权限的,因此将其中的任何一个链接代替目前的这个链接,就会产生新的用户行为,只不过得到的用户行为是异常的用例的序列,即Web页面间依赖关系集Web_MP={CR,DR,UAB}异常的序列。
对于顺序结构,在不同的测试流程模型中寻找频繁模式。首先比较顺序结构的长度,即Web页面间依赖关系集Web_MP={CR,DR,UAB}的长度,如果长度不同,则不是一个频繁模式,并继续查找。如果长度相同,再通过依次比较顺序结构包含的测试用例是否相同,来判断模式是否相同。如果相同,则成为一个频繁模式。
对于复杂结构,在不同的测试流程模型中寻找频繁模式。首先比较Web页面间依赖关系集Web_MP={CR,DR,UAB}结构的类型,根据Exclusive、Parallel、 Loop关键字判断模式是否相同。如果类型相同,继续比较复杂结构的分支CR、DR、 UAB是否相同。对于选择结构的分支,既要比较所包含的测试用例或测试用例序列是否相同,又要比较对应的分支条件是否相同。对于并发结构,由于分支之间不存在顺序关系,故只需比较包含的测试用例或测试用例序列是否相同。对于循环结构,既要比较循环体所包含的测试用例或测试用例序列是否相同,又要比较循环次数。其中,测试用例序列是指选择结构、并发结构、循环结构的分支嵌套的顺序结构。如果选择结构、并发结构、循环结构的分支嵌套选择结构、并发结构、循环结构,则对其分支进行上述的比较,是一个递归的过程。而流程判定可以看作一个特殊的选择结构,即在满足判定条件时,设置测试通过。否则,设置测试失败。
比较完所有的顺序结构和复杂结构后,可以得到频繁模式的集合。
用户行为状态异常的具体表现为页面集 MP={page1,page2,…,pagei,…,pagea,…,pagej,…,pageA}中某个页面的状态码异常。HTTP状态码是用以表示服务器响应的状态信息的3位数字代码,在日志中通过特定的字段展示出来,是日志中体现系统响应用户请求的状态信息。HTTP状态码包括以下几大类别:
1)10X表示客户端请求已被接受,需要继续处理,属于临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
2)20X表示客户端请求已成功被服务器接收、理解并接受,例如200(OK) 状态码表示请求成功。但是服务器对客户端做出的200响应并不能从用户角度说明响应的正确性。在一个异常的功能点出现时,服务器往往通过回复200状态码表示提供给用户输入,而用户觉察到异常后往往通过重复请求的方式以寻求得到他所认可的响应。在这种情况下,会在日志中出现连续多条的相同访问记录。而这种记录的出现,有可能就是因为系统出现了异常并没有察觉而用户察觉到了这个异常。
3)30X表示客户端需要采取进一步的操作才能完成请求,通常用来重定向,例如301(Moved Permanently)表示将浏览器永久重定向到另一个在Location 消息头中指定的URL;302(Found)表示临时重定向;304(Not Modified)表示客户端所请求的内容自上次访问以来或者根据请求的条件没有改变。在日志中出现迁移状态时,并不影响用户的行为与感受,经常是由系统做出的重定向请求。这种请求也说明用户的请求被系统正常接收,不影响系统对用户访问做出的具体响应。
4)40X表示客户端可能发生了错误,妨碍了服务器的处理,例如400(Bad Request)表示客户端提交了一个无效的HTTP请求;403表示服务器已经理解请求,但是拒绝执行(Forbidden);404表示请求所希望得到的资源未被在服务器上发现(Not Found)。
当某一个用户访问某个页面出现404时可以认为是用户的非法访问,但当多个用户在t时间内访问这个页面都出现404错误时可认为是系统的某个功能出现异常,此时应提取出现404错误的功能点进行测试。
5)50X表示服务器在处理请求过程中有错误或者异常状态发生,例如500(Internal Server Error)表示服务器遇到未预料的状况导致无法完成对请求的处理;503(Service Unavailable)表示尽管服务器运转正常,但是Web应用还是无法做出响应。
如果用户会话中出现503错误,说明Web服务器过载,很有可能是某些Web 页面逻辑代码效率低下导致的。应该从中抽取HTTP状态码为503时的行为记录作为测试用例。
实施例1
一个用户会话在多个页面生成的Web测试用例的扩充处理步骤为:
步骤11,将用户会话与Web页面依赖关系进行用户行为识别分析,分别得到用户正常行为和用户异常行为,然后执行步骤12;
步骤11-1,将任意一个用户会话ussb在所述 MP={page1,page2,…,pagei,…,pagea,…,pagej,…,pageA}中至少2个及2 个页面以上存在的Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的用户会话ussb完全同时满足Web_MP={CR,DR,UAB},则将所述的用户会话ussb记为用户正常行为然后执行步骤12;
步骤11-2,将任意一个用户会话ussb在所述 MP={page1,page2,…,pagei,…,pagea,…,pagej,…,pageA}中至少2个及2 个页面以上存在的Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的用户会话ussb存在不满足Web_MP={CR,DR,UAB}中任意一个条件的,则将所述的用户会话ussb记为用户异常行为然后执行步骤13;
在本发明中,对任意一个用户会话ussb存在于不同页面进行Web页面间依赖关系集Web_MP={CR,DR,UAB}的对比处理,是为了使Web应用测试用例对比不同的多个页面更加完整,提高了测试用例的可靠性,同时也更符合Web的网络运行环境。
步骤12-1,在应用服务器上设置一个用户正常行为的测试用例UN_ATX的空集,然后执行步骤12-2;
步骤12-3-A,用户正常行为对应的用户会话ussb在访问页面pagei时需要用到页面pagej的数据信息,则认为用户正常行为存在互用数据依赖关系,记为并提取出所述对应的数据,记为所述作为访问页面的输入。
步骤12-3-B,用户正常行为对应的用户会话ussb在访问页面pagej时需要用到页面pagei的数据信息,则认为用户正常行为存在互用数据依赖关系,记为并提取出所述对应的数据,记为所述作为访问页面的输入。
步骤12-3-C,用户正常行为对应的用户会话ussb在访问页面pagea时需要用到页面pagej的安排信息,则认为用户正常行为存在互用数据依赖关系,记为并提取出所述对应的数据,记为所述作为访问页面的输入。
步骤12-3-D,用户正常行为对应的用户会话ussb在访问页面pagea时需要用到页面pageA的数据信息,则认为用户正常行为存在互用数据依赖关系,记为并提取出所述对应的数据,记为所述作为访问页面的输入。
步骤12-4,将步骤12-2得到的顺序依赖和步骤12-3得到的互用数据添加到正常行为-测试用例UN_ATX中;
步骤13-1,在应用服务器上设置一个用户异常行为的测试用例UAN_ATX的空集,然后执行步骤13-2;
所述的应用服务器可以是tomcat。
步骤13-4,将步骤13-2得到的顺序依赖和步骤13-3得到的互用数据添加至异常行为-测试用例UAN_ATX中,补充测试用例完成。;
实施例2
多个用户会话在一个页面生成的Web测试用例的扩充处理步骤为:
步骤21,将用户会话与Web页面依赖关系进行用户行为识别分析,分别得到用户正常行为和用户异常行为,然后执行步骤22;
步骤21-1,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话完全同时满足Web_MP={CR,DR,UAB},则将所述的任意一个用户会话记为用户正常行为,遍历完成所述 USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户正常行为集然后执行步骤22;
步骤31-2,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话存在不满足Web_MP={CR,DR,UAB}中任意一个条件的,则将所述的任意一个用户会话记为用户异常行为,遍历完成所述 USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户异常行为集然后执行步骤23;
步骤22,将用户正常行为集USSUN进行测试用例转换处理,得到用户正常行为的测试用例UN_ATX存储至应用服务器中,然后执行步骤23;
步骤22-1,在应用服务器上设置一个用户正常行为的测试用例UN_ATX的空集,然后执行步骤22-2;
步骤22-2-A,用户正常行为对应的用户会话uss1的页面pagei的执行顺序在用户正常行为对应的用户会话ussc的页面pagei的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤12-2-B,用户正常行为对应的用户会话uss2的页面pagej的执行顺序在用户正常行为对应的用户会话ussb的页面pagej的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤22-2-C,用户正常行为对应的用户会话ussb的页面pagei的执行顺序在用户正常行为对应的用户会话ussc的页面pagei的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-D,用户正常行为对应的用户会话uss1的页面pagea的执行顺序在用户正常行为对应的用户会话ussB的页面pagea的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-E,用户正常行为对应的用户会话ussb的页面pageA的执行顺序在用户正常行为对应的用户会话ussB的页面pageA的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤22-3-A,用户正常行为对应的用户会话uss1在访问页面pagei时需要用到用户正常行为对应的用户会话ussc在访问页面pagei的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤22-3-B,用户正常行为对应的用户会话uss2在访问页面pagej时需要用到用户正常行为对应的用户会话ussb在访问页面pagej的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤22-2-C,用户正常行为对应的用户会话ussb在访问页面pagei时需要用到用户正常行为对应的用户会话ussc在访问页面pagei的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤22-3-D,用户正常行为对应的用户会话uss1在访问页面pagea时需要用到用户正常行为对应的用户会话ussB在访问页面pagea的安排信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤22-3-E,用户正常行为对应的用户会话ussb在访问页面pageA时需要用到用户正常行为对应的用户会话ussB在访问页面pageA的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤22-4,将步骤22-2得到的顺序依赖和步骤22-3得到的互用数据添加至正常行为-测试用例UN_ATX中,执行步骤23;
步骤23,将用户异常行为集USSUAN进行测试用例转换处理,得到用户异常行为的测试用例UAN_ATX存储至应用服务器中;
步骤23-1,在应用服务器上设置一个用户异常行为的测试用例UAN_ATX的空集,然后执行步骤23-2;
所述的应用服务器可以是tomcat。
步骤23-2-A,用户异常行为对应的用户会话uss1的页面pagei的执行顺序在用户异常行为对应的用户会话ussc的页面pagei的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤23-2-B,用户异常行为对应的用户会话uss2的页面pagej的执行顺序在用户异常行为对应的用户会话ussb的页面pagej的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤23-2-C,用户异常行为对应的用户会话ussb的页面pagei的执行顺序在用户异常行为对应的用户会话ussc的页面pagei的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤23-2-D,用户异常行为对应的用户会话uss1的页面pagea的执行顺序在用户异常行为对应的用户会话ussB的页面pagea的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤23-2-E,用户异常行为对应的用户会话ussb的页面pageA的执行顺序在用户异常行为对应的用户会话ussB的页面pageA的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤23-3-A,用户异常行为对应的用户会话uss1在访问页面pagei时需要用到用户异常行为对应的用户会话ussc在访问页面pagei的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤23-3-B,用户异常行为对应的用户会话uss2在访问页面pagej时需要用到用户异常行为对应的用户会话ussb在访问页面pagej的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤23-2-C,用户异常行为对应的用户会话ussb在访问页面pagei时需要用到用户异常行为对应的用户会话ussc在访问页面pagei的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤23-3-D,用户异常行为对应的用户会话uss1在访问页面pagea时需要用到用户异常行为对应的用户会话ussB在访问页面pagea的安排信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤23-3-E,用户异常行为对应的用户会话ussb在访问页面pageA时需要用到用户异常行为对应的用户会话ussB在访问页面pageA的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤23-4,将步骤23-2得到的顺序依赖和步骤23-3得到的互用数据添加至异常行为-测试用例UAN_ATX中,补充测试用例完成。
实施例3
多个用户会话在多个页面生成的Web测试用例的扩充处理步骤为:
步骤31,将用户会话与Web页面依赖关系进行用户行为识别分析,分别得到用户正常行为和用户异常行为,然后执行步骤32;
步骤31-1,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话完全同时满足Web_MP={CR,DR,UAB},则将所述的任意一个用户会话记为用户正常行为,遍历完成所述USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户正常行为集然后执行步骤32;
步骤31-2,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话存在不满足Web_MP={CR,DR,UAB}中任意一个条件的,则将所述的任意一个用户会话记为用户异常行为,遍历完成所述 USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户异常行为集然后执行步骤33;表示用户会话uss1存在不满足Web_MP={CR,DR,UAB}中任意一个条件的用户异常行为,简称为第一个用户异常行为。
在本发明中,对用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}进行 Web页面间依赖关系集Web_MP={CR,DR,UAB}的对比处理,是为了使Web应用测试用例更加完整,提高了测试用例的可靠性,同时也更符合Web的网络运行环境。
步骤32,将用户正常行为集USSUN进行测试用例转换处理,得到用户正常行为的测试用例UN_ATX存储至应用服务器中,然后执行步骤33;
步骤32-1,在应用服务器上设置一个用户正常行为的测试用例UN_ATX的空集,然后执行步骤32-2;
所述的应用服务器可以是tomcat。
步骤32-2-A,用户正常行为对应的用户会话uss1的页面pagei的执行顺序在用户正常行为对应的用户会话ussc的页面pagej的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-B,用户正常行为对应的用户会话uss2的页面pagej的执行顺序在用户正常行为对应的用户会话ussb的页面pagei的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-C,用户正常行为对应的用户会话ussb的页面pagei的执行顺序在用户正常行为对应的用户会话ussc的页面pagej的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-D,用户正常行为对应的用户会话uss1的页面pagea的执行顺序在用户正常行为对应的用户会话ussB的页面pagej的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-2-E,用户正常行为对应的用户会话ussb的页面pagea的执行顺序在用户正常行为对应的用户会话ussB的页面pageA的执行顺序之前,则认为用户正常行为与用户正常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤32-3-A,用户正常行为对应的用户会话uss1在访问页面pagei时需要用到用户正常行为对应的用户会话ussc在访问页面pagej的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤32-3-B,用户正常行为对应的用户会话uss2在访问页面pagej时需要用到用户正常行为对应的用户会话ussb在访问页面pagei的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤32-2-C,用户正常行为对应的用户会话ussb在访问页面pagei时需要用到用户正常行为对应的用户会话ussc在访问页面pagej的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤32-3-D,用户正常行为对应的用户会话uss1在访问页面pagea时需要用到用户正常行为对应的用户会话ussB在访问页面pagej的安排信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤32-3-E,用户正常行为对应的用户会话ussb在访问页面pagea时需要用到用户正常行为对应的用户会话ussB在访问页面pageA的数据信息,则认为用户正常行为与用户正常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤32-4,将步骤32-2得到的顺序依赖和步骤32-3得到的互用数据依据属于同一页面的进行提取,得到正常行为-测试用例UN_ATX;
步骤32-4-D,将步骤32-4-C的正常行为-测试用例填入步骤32-1中 UN_ATX,补充测试用例完成。
步骤33,将用户异常行为集USSUAN进行测试用例转换处理,得到用户异常行为的测试用例UAN_ATX存储至应用服务器中;
步骤33-1,在应用服务器上设置一个用户异常行为的测试用例UAN_ATX的空集,然后执行步骤33-2;
所述的应用服务器可以是tomcat。
步骤33-2-A,用户异常行为对应的用户会话uss1的页面pagei的执行顺序在用户异常行为对应的用户会话ussc的页面pagej的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤33-2-B,用户异常行为对应的用户会话uss2的页面pagej的执行顺序在用户异常行为对应的用户会话ussb的页面pagei的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤33-2-C,用户异常行为对应的用户会话ussb的页面pagei的执行顺序在用户异常行为对应的用户会话ussc的页面pagej的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤33-2-D,用户异常行为对应的用户会话uss1的页面pagea的执行顺序在用户异常行为对应的用户会话ussB的页面pagej的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤33-2-E,用户异常行为对应的用户会话ussb的页面pagea的执行顺序在用户异常行为对应的用户会话ussB的页面pageA的执行顺序之前,则认为用户异常行为与用户异常行为之间存在顺序控制依赖关系,记为将的访问记录,记为
步骤33-3-A,用户异常行为对应的用户会话uss1在访问页面pagei时需要用到用户异常行为对应的用户会话ussc在访问页面pagej的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤33-3-B,用户异常行为对应的用户会话uss2在访问页面pagej时需要用到用户异常行为对应的用户会话ussb在访问页面pagei的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤33-2-C,用户异常行为对应的用户会话ussb在访问页面pagei时需要用到用户异常行为对应的用户会话ussc在访问页面pagej的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤33-3-D,用户异常行为对应的用户会话uss1在访问页面pagea时需要用到用户异常行为对应的用户会话ussB在访问页面pagej的安排信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤33-3-E,用户异常行为对应的用户会话ussb在访问页面pagea时需要用到用户异常行为对应的用户会话ussB在访问页面pageA的数据信息,则认为用户异常行为与用户异常行为之间存在互用数据依赖关系,记为并提取出所述对应的数据,记为
步骤33-4,将步骤33-2得到的顺序依赖和步骤33-3得到的互用数据依据属于同一页面的进行提取,得到异常行为-测试用例UAN_ATX;
步骤33-4-D,将步骤33-4-C的异常行为-测试用例填入步骤33-1中UAN_ATX,补充测试用例完成。
实施例4
多个用户会话在多个页面生成的Web测试用例的扩充处理步骤为:
步骤41,将用户会话与Web页面依赖关系进行用户行为识别分析,分别得到用户正常行为和用户异常行为,然后执行步骤42;
步骤41-1,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话完全同时满足Web_MP={CR,DR,UAB},则将所述的任意一个用户会话记为用户正常行为,遍历完成所述 USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户正常行为集然后执行步骤42;
步骤41-2,将用户会话集USS={uss1,uss2,…,ussb,…,ussc…,ussB}中的任意一个用户会话与Web页面间依赖关系集Web_MP={CR,DR,UAB}进行对比;若所述的任意一个用户会话存在不满足Web_MP={CR,DR,UAB}中任意一个条件的,则将所述的任意一个用户会话记为用户异常行为,遍历完成所述 USS={uss1,uss2,…,ussb,…,ussc…,ussB}后则有用户异常行为集然后执行步骤43;
步骤42,将用户正常行为集USSUN进行测试用例转换处理,得到用户正常行为的测试用例UN_ATX存储至应用服务器中,然后执行步骤33;
步骤42-1,在应用服务器上设置一个用户正常行为的测试用例UN_ATX的空集,然后执行步骤42-2;
步骤42-2-A,用户正常行为对应的用户会话uss1的页面pagei与用户正常行为对应的用户会话ussc的页面pagej之间,同时满足和则认为用户正常行为与用户正常行为之间存在控制顺序及互用数据依赖关系,记为一方面将的访问记录提取,记为另一方面将的数据提取,记为然后将添加到正常行为-测试用例UN_ATX中。
步骤42-2-B,用户正常行为对应的用户会话uss2的页面pagej与用户正常行为对应的用户会话ussb的页面pagei之间,同时满足和则认为用户正常行为与用户正常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到正常行为-测试用例UN_ATX中。
步骤42-2-C,用户正常行为对应的用户会话ussb的页面pagei与用户正常行为对应的用户会话ussc的页面pagej之间,同时满足和则认为用户正常行为与用户正常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到正常行为-测试用例UN_ATX中。
步骤42-2-D,用户正常行为对应的用户会话uss1的页面pagea与用户正常行为对应的用户会话ussB的页面pagej之间,同时满足和则认为用户正常行为与用户正常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到正常行为-测试用例UN_ATX中。
步骤42-2-E,用户正常行为对应的用户会话ussb的页面pagea与用户正常行为对应的用户会话ussB的页面pageA之间,同时满足和则认为用户正常行为与用户正常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到正常行为-测试用例UN_ATX中。
步骤43,将用户异常行为集USSUAN进行测试用例转换处理,得到用户异常行为的测试用例UAN_ATX存储至应用服务器中;
步骤43-1,在应用服务器上设置一个用户异常行为的测试用例UAN_ATX的空集,然后执行步骤43-2;
所述的应用服务器可以是tomcat。
步骤43-2-A,用户异常行为对应的用户会话uss1的页面pagei与用户异常行为对应的用户会话ussc的页面pagej之间,同时满足和则认为用户异常行为与用户异常行为之间存在控制顺序及互用数据依赖关系,记为一方面将的访问记录提取,记为另一方面将的数据提取,记为然后将添加到异常行为-测试用例UAN_ATX中。
步骤42-2-B,用户异常行为对应的用户会话uss2的页面pagej与用户异常行为对应的用户会话ussb的页面pagei之间,同时满足和则认为用户异常行为与用户异常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到异常行为-测试用例UAN_ATX中。
步骤42-2-C,用户异常行为对应的用户会话ussb的页面pagei与用户异常行为对应的用户会话ussc的页面pagej之间,同时满足和则认为用户异常行为与用户异常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到异常行为-测试用例UAN_ATX中。
步骤42-2-D,用户异常行为对应的用户会话uss1的页面pagea与用户异常行为对应的用户会话ussB的页面pagej之间,同时满足和则认为用户异常行为与用户异常行为之间存在控制顺序及互用数据依赖关系,记为将的访问记录提取,记为将的数据提取,记为然后将添加到异常行为-测试用例UAN_ATX中。
Claims (4)
1.一种基于用户会话的Web应用测试用例扩充方法,其特征在于包括有下列步骤:
步骤一,将用户会话与Web页面依赖关系进行用户行为识别分析,得到用户正常行为以及用户异常行为;
步骤二,将用户正常行为进行测试用例转换处理,得到用户正常行为的测试用例,并保存至应用服务器中;
步骤三,将用户异常行为进行测试用例转换处理,得到用户异常行为的测试用例,并保存至应用服务器中;
所述用户会话是指用户打开浏览器,访问某Web应用直到关闭浏览器退出Web应用的过程。
所述页面间依赖关系包括有:任意两个页面的顺序依赖关系CR、任意两个页面的数据互用依赖关系DR和任意两个页面的顺序-数据依赖关系UAB。
2.根据权利要求1所述的基于用户会话的Web应用测试用例扩充方法,其特征在于:步骤二和步骤三中的测试用例转换处理是指一个用户会话在多个页面生成的Web测试用例的扩充处理。
3.根据权利要求1所述的基于用户会话的Web应用测试用例扩充方法,其特征在于:步骤二和步骤三中的测试用例转换处理是指多个用户会话在一个页面生成的Web测试用例的扩充处理。
4.根据权利要求1所述的基于用户会话的Web应用测试用例扩充方法,其特征在于:步骤二和步骤三中的测试用例转换处理是指多个用户会话在多个页面生成的Web测试用例的扩充处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911056659.8A CN110874325B (zh) | 2019-10-31 | 2019-10-31 | 一种基于用户会话的Web应用测试用例扩充方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911056659.8A CN110874325B (zh) | 2019-10-31 | 2019-10-31 | 一种基于用户会话的Web应用测试用例扩充方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874325A true CN110874325A (zh) | 2020-03-10 |
CN110874325B CN110874325B (zh) | 2023-04-07 |
Family
ID=69717989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911056659.8A Active CN110874325B (zh) | 2019-10-31 | 2019-10-31 | 一种基于用户会话的Web应用测试用例扩充方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874325B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460004A (zh) * | 2020-04-06 | 2020-07-28 | 北方工业大学 | 一种融合用户行为及Web页面依赖关系的数据挖掘方法 |
CN116756453A (zh) * | 2023-08-16 | 2023-09-15 | 浙江飞猪网络技术有限公司 | 基于页面分析用户异常、模型训练的方法、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615535A (zh) * | 2015-01-29 | 2015-05-13 | 北方工业大学 | 一种基于扩展的数据流模型来生成测试用例的方法与装置 |
CN106815139A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 测试用例扩充方法与装置 |
US20170220456A1 (en) * | 2016-02-02 | 2017-08-03 | General Electric Company | System and method for coverage-based automated test case augmentation for design models |
US20190065345A1 (en) * | 2017-08-24 | 2019-02-28 | Salesforce.Com, Inc. | Runtime expansion of test cases |
-
2019
- 2019-10-31 CN CN201911056659.8A patent/CN110874325B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615535A (zh) * | 2015-01-29 | 2015-05-13 | 北方工业大学 | 一种基于扩展的数据流模型来生成测试用例的方法与装置 |
CN106815139A (zh) * | 2015-12-01 | 2017-06-09 | 北京奇虎科技有限公司 | 测试用例扩充方法与装置 |
US20170220456A1 (en) * | 2016-02-02 | 2017-08-03 | General Electric Company | System and method for coverage-based automated test case augmentation for design models |
US20190065345A1 (en) * | 2017-08-24 | 2019-02-28 | Salesforce.Com, Inc. | Runtime expansion of test cases |
Non-Patent Citations (2)
Title |
---|
钱忠胜;缪淮扣;: "面向用户会话的Web应用测试用例生成及其优化" * |
陈翔;顾庆;陈道蓄;: "回归测试中测试用例集扩充技术研究进展" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460004A (zh) * | 2020-04-06 | 2020-07-28 | 北方工业大学 | 一种融合用户行为及Web页面依赖关系的数据挖掘方法 |
CN111460004B (zh) * | 2020-04-06 | 2023-04-14 | 北方工业大学 | 一种融合用户行为及Web页面依赖关系的数据挖掘方法 |
CN116756453A (zh) * | 2023-08-16 | 2023-09-15 | 浙江飞猪网络技术有限公司 | 基于页面分析用户异常、模型训练的方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110874325B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021079B (zh) | 一种基于用户频繁访问序列模型的Web应用性能测试方法 | |
De Lucia et al. | Adams re-trace: traceability link recovery via latent semantic indexing | |
CN106506283B (zh) | 银行和企业对接系统的业务测试方法和装置 | |
Tonella et al. | Statistical testing of web applications | |
CN109660532A (zh) | 一种分布式网络数据采集方法及其采集系统 | |
Bayir et al. | Smart miner: a new framework for mining large scale web usage data | |
Kowal et al. | Towards efficient spl testing by variant reduction | |
JP5463717B2 (ja) | アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置 | |
CN110874325B (zh) | 一种基于用户会话的Web应用测试用例扩充方法 | |
Jiang et al. | Assuring the model evolution of protocol software specifications by regression testing process improvement | |
Rukoz et al. | Faceta*: Checkpointing for transactional composite web service execution based on petri-nets | |
CN109446441A (zh) | 一种通用的网络社区可信分布式采集存储系统 | |
Peng et al. | A new approach for session-based test case generation by GA | |
CN113918473B (zh) | 一种基于Swagger文档的RESTful APIs组合测试方法 | |
Granda et al. | Effectiveness assessment of an early testing technique using model-level mutants | |
CN110580215A (zh) | 一种基于用户会话的Web测试用例约简优化方法 | |
Guo et al. | A review of bad smells in cloud-based applications and microservices | |
CN107808097A (zh) | JavaScript 路径枚举 | |
CN111026631B (zh) | 接口自动化检测方法、装置和服务器 | |
Liu et al. | Test cases selection method of rapid regression testing | |
Long et al. | Experience applying the SPIN model checker to an industrial telecommunications system | |
CN102799517B (zh) | 一种快速的循环扩展检测方法 | |
Pu et al. | The validation and verification of wscdl | |
CN104809147A (zh) | 一种基于实证评价反馈的服务语义标注增强方法 | |
de Jesus et al. | Leveraging task-based data to support functional testing of web applications |
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 |