CN103810107A - web项目的自动化测试方法 - Google Patents
web项目的自动化测试方法 Download PDFInfo
- Publication number
- CN103810107A CN103810107A CN201410081687.6A CN201410081687A CN103810107A CN 103810107 A CN103810107 A CN 103810107A CN 201410081687 A CN201410081687 A CN 201410081687A CN 103810107 A CN103810107 A CN 103810107A
- Authority
- CN
- China
- Prior art keywords
- stage
- test
- testing
- steps
- mistake
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种web项目的自动化测试方法,包括:按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序编写测试用例;对于测试用例的各步骤,按照优先选择实现步骤最少的执行方式的原则,配置执行方式;执行测试用例,当在执行数据准备阶段中的步骤出现错误时,执行环境恢复阶段的步骤,将跳过测试验证阶段作为当前的测试结果;当测试验证阶段的步骤在执行时出现错误时,转入执行环境恢复阶段的步骤,将测试失败作为当前的测试结果;当测试验证阶段的所有步骤执行完毕并未出现错误时,将测试成功作为当前的测试结果;当在执行环境恢复阶段的步骤出现错误时,结束本次测试并返回当前的测试结果。采用本发明可以增强测试的可靠性、提高测试准确度。
Description
技术领域
本发明涉及测试技术,特别是涉及一种web项目的自动化测试方法。
背景技术
在目前的web项目自动化测试方法中,常常将一个自动化测试用例划分为若干个测试步骤,然后在一个脚本里用同一种工具实现整个用例。例如,对于一个登陆测试用例,可以包括如下七个步骤:
步骤a1、打开浏览器。
步骤a2、找开登录页面。
步骤a3、输入用户名。
步骤a4、输入密码。
步骤a5、点击提交。
步骤a6、验证登陆成功。
步骤a7、关闭浏览器。
上述方法中脚本步骤琐碎,数量庞大,如此会导致运行时间长,出错的概率较大。另外,上述web项目的测试方法中只要有一个步骤发生错误即认为整个测试用例失败,这样,当测试用例中用于环境准备和环境恢复的步骤发生错误时,将会被认为测试失败。例如,在上述步骤中,步骤a1和a2为准备测试环境的步骤,步骤a3~a5为进行测试的检查点执行步骤,步骤a6和a7为环境恢复的步骤。如果步骤a1、a2、a6或a7出现问题,则会在测试报告中记录为整个测试用例失败。而在上述情况下,进行测试的检查点并不一定存在问题,因此上述web项目的测试方法将存在测试结果误判的问题,从而降低测试的准确度。上述示例中登录用例共分为7个步骤,将这7个步骤用同一个自动化测试工具在一个脚本中实现。
由此可见,现有的web项目自动化测试方法存在运行可靠性低、测试结果准确等问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种web项目的自动化测试方法,该方法具有较高的可靠性,并且可以提高测试结果的准确度。
为了达到上述目的,本发明提出的技术方案为:
一种web项目的自动化测试方法,包括:
a、依次按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序,编写测试用例;
b、对于所述测试用例中的每个步骤,根据其所属阶段,按照优先选择实现步骤最少的执行方式的原则,配置相应的执行方式;
c、执行所述测试用例,其中,当所述数据准备阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将跳过测试验证阶段作为当前的测试结果;当所述测试验证阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将测试失败作为当前的测试结果;当所述测试验证阶段中的所有步骤执行完毕并未出现错误时,将测试成功作为当前的测试结果;当所述环境恢复阶段中的步骤在执行时出现错误时,结束所述自动化测试过程,并返回当前的所述测试结果。
综上所述,本发明提出的web项目的自动化测试方法,按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序,编写测试用例,分阶段编写测试用例,可以根据不同阶段在测试过程中的作用,准确定位测试结果,提高测试结果的准确性,避免由于非测试验证阶段的步骤的错误所致的测试误判的问题。另外,方法中对于每个阶段的步骤,按照优先选择实现步骤最少的执行方式的原则,配置相应的执行方式,可以减少测试的步骤,进而可以大幅度地提高测试可靠性。
附图说明
图1为本发明实施例一的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是,将测试用例按照数据准备阶段、测试验证阶段和环境恢复阶段三个阶段进行编写,对于每个阶段的步骤采用最大限度减少步骤数量的方式进行测试,并在运行测试用例时根据所属的阶段确定测试结果,以避免由于非测试验证阶段的步骤的错误所致的测试误判的问题,以提高测试结果的准确度。
图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
步骤101、依次按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序,编写测试用例。
本步骤中,通过将测试过程划分为数据准备阶段、测试验证阶段和环境恢复阶段三个阶段,可以区别不同阶段在测试过程中的作用,对测试结果进行定位。例如,数据准备阶段和环境恢复阶段不属于测试验证的过程,仅为测试环境的准备和恢复阶段,在这两个阶段执行步骤时如果出现错误,不应将该错误视为测试的失败。这样,通过采用上述分阶段的方式编写测试用例,可以在执行测试用例时清楚地确定出测试错误是否是测试验证点的错误,即可以排除非测试验证点的错误对测试结果的影响。因此,采用本步骤可以提高测试结果的准确性,避免由于非测试验证阶段的步骤的错误所致的测试误判问题。
在实际应用中,对于一个测试用例,具体如何按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序进行编写,为本领域进行人员所掌握,在此不再赘述。
步骤102、对于所述测试用例中的每个步骤,根据其所属阶段,按照优先选择实现步骤最少的执行方式的原则,配置相应的执行方式。
本步骤中,对于每个阶段的步骤,按照优先选择实现步骤最少的执行方式的原则,配置相应的执行方式,如此,可以大幅度减少测试步骤的数量,进而可以大幅度提高测试可靠性。
例如,对于数据准备阶段和环境恢复阶段的步骤,可以采用项目接口、构造请求等快速、稳定且步骤较少的方式;对于测试验证阶段测试验证点的步骤,可以利用传统的web自动化测试工具执行。
步骤103、执行所述测试用例,其中,当所述数据准备阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将跳过测试验证阶段作为当前的测试结果;当所述测试验证阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将测试失败作为当前的测试结果;当所述测试验证阶段中的所有步骤执行完毕并未出现错误时,将测试成功作为当前的测试结果;当所述环境恢复阶段中的步骤在执行时出现错误时,结束所述自动化测试过程,并返回当前的所述测试结果。
本步骤中,与现有方案所不同的是,在执行所述测试用例时,如果出现错误,则不会再一概认为是测试失败,而是区别所处的阶段,对测试结果进行定位。
这里,当所述数据准备阶段中的步骤在执行时出现错误时,将不再执行该阶段的后续步骤,并跳过测试验证阶段直接转入执行所述环境恢复阶段的步骤,以将应用环境恢复到测试前的状态,在该种情况下需要将“跳过测试验证阶段”作为当前的测试结果。
当测试验证阶段中的步骤在执行时出现错误时,则会认为测试失败,即将“测试失败”作为当前的测试结果,并直接转入执行所述环境恢复阶段的步骤。
当测试验证阶段中的所有步骤执行完毕并未出现错误时,可以认为测试是成功的,即将“测试成功”作为当前的测试结果。
当所述环境恢复阶段中的步骤在执行时出现错误时,不再因此而认为测试失败,直接结束本次自动化测试过程,并返回当前的所述测试结果即可。
较佳地,为了便于测试人员的维护,如果环境恢复阶段中的步骤在执行时出现错误,可以将该错误记录在相应的测试日志中,即以测试日志的形式记录下来,以供测试脚本维护人员对测试用例的出错步骤进行定位。
为了进一步对本发明的技术效果进行阐述,下面以一用户列表分页功能的自动化测试用例的编写和执行为例,对此进行说明。
如果采用传统的测试用例编写方法编写用户列表分页功能的自动化测试用例,则该用例所包括的步骤及各步骤的执行方法如下表1所示:
表1
从表1可以看出采用传统的方案用户列表分页功能的自动化测试用例包含了61个步骤,利用一种测试工具(即webdriver测试软件)实现。
如果采用本发明的测试用例编写方法编写用户列表分页功能的自动化测试用例,则该用例所包括的步骤及各步骤的执行方法如下表2所示:
具体步骤 | 脚本执行方式 |
步骤1:利用接口创建11个用户 | 接口 |
步骤2:打开登录页面 | webdriver |
步骤3:输入用户名 | webdriver |
步骤4:输入密码 | webdriver |
步骤5:点击提交 | webdriver |
步骤6:到达用户列表页面 | webdriver |
步骤7:点击下一页 | webdriver |
步骤8:检查点1 | webdriver |
步骤9:检查点2 | sikuli |
步骤10:利用接口删除10个用户 | 接口 |
步骤11:关闭浏览器 | webdriver |
表2
从表2可以看出采用本发明的方案用户列表分页功能的自动化测试用例包含了11个步骤,其中步骤1-2为数据准备阶段,步骤3-9为测试验证阶段,步骤10-11为环境恢复阶段。上述步骤中组合使用了3种工具,其中,步骤1和10采用接口的方式执行,相比较表1所示的传统方法减少了50个步骤,从而可以减少测试过程中出错的概率,因此大幅度地提高了测试的可靠性。另外,本发明采用多种测试方式的组合进行执行测试用例,可以有效避免由于单一测试工具所支持web控件的有限性而致的部分检测点无法测试的问题。例如,对于步骤9的检查点2,通过sikuli工具,解决了webdriver无法进行测试的问题。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种web项目的自动化测试方法,其特征在于,包括:
a、依次按照数据准备阶段、测试验证阶段和环境恢复阶段的顺序,编写测试用例;
b、对于所述测试用例中的每个步骤,根据其所属阶段,按照优先选择实现步骤最少的执行方式的原则,配置相应的执行方式;
c、执行所述测试用例,其中,当所述数据准备阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将跳过测试验证阶段作为当前的测试结果;当所述测试验证阶段中的步骤在执行时出现错误时,直接转入执行所述环境恢复阶段的步骤,并将测试失败作为当前的测试结果;当所述测试验证阶段中的所有步骤执行完毕并未出现错误时,将测试成功作为当前的测试结果;当所述环境恢复阶段中的步骤在执行时出现错误时,结束所述自动化测试过程,并返回当前的所述测试结果。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
如果所述环境恢复阶段中的步骤在执行时出现错误,则将该错误记录在相应的测试日志中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410081687.6A CN103810107A (zh) | 2014-03-07 | 2014-03-07 | web项目的自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410081687.6A CN103810107A (zh) | 2014-03-07 | 2014-03-07 | web项目的自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103810107A true CN103810107A (zh) | 2014-05-21 |
Family
ID=50706903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410081687.6A Pending CN103810107A (zh) | 2014-03-07 | 2014-03-07 | web项目的自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103810107A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984769A (zh) * | 2014-06-04 | 2014-08-13 | 成都美美臣科技有限公司 | 一种用例数据管理存储方法 |
CN111240756A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 应用程序的执行方法、装置、电子设备及存储介质 |
CN111737138A (zh) * | 2020-06-28 | 2020-10-02 | 杭州迪普科技股份有限公司 | 测试环境的自动恢复系统及其方法 |
CN112445670A (zh) * | 2019-08-27 | 2021-03-05 | 合肥格易集成电路有限公司 | 一种eMMC测试方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882107A (zh) * | 2010-06-28 | 2010-11-10 | 山东中创软件商用中间件股份有限公司 | 一种web应用自动化测试的方法及装置 |
CN102012857A (zh) * | 2009-09-08 | 2011-04-13 | 中国工商银行股份有限公司 | 一种对Web页面进行自动化测试的装置及方法 |
-
2014
- 2014-03-07 CN CN201410081687.6A patent/CN103810107A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012857A (zh) * | 2009-09-08 | 2011-04-13 | 中国工商银行股份有限公司 | 一种对Web页面进行自动化测试的装置及方法 |
CN101882107A (zh) * | 2010-06-28 | 2010-11-10 | 山东中创软件商用中间件股份有限公司 | 一种web应用自动化测试的方法及装置 |
Non-Patent Citations (1)
Title |
---|
呼晓黎: "软件自动化测试技术的研究与实现", 《中国优秀硕士学位论文全文数据库·信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984769A (zh) * | 2014-06-04 | 2014-08-13 | 成都美美臣科技有限公司 | 一种用例数据管理存储方法 |
CN112445670A (zh) * | 2019-08-27 | 2021-03-05 | 合肥格易集成电路有限公司 | 一种eMMC测试方法和装置 |
CN112445670B (zh) * | 2019-08-27 | 2023-06-02 | 合肥格易集成电路有限公司 | 一种eMMC测试方法和装置 |
CN111240756A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 应用程序的执行方法、装置、电子设备及存储介质 |
CN111240756B (zh) * | 2019-12-31 | 2023-05-16 | 西安翔腾微电子科技有限公司 | 一种图形功能的处理模式可配置的应用程序的执行方法 |
CN111737138A (zh) * | 2020-06-28 | 2020-10-02 | 杭州迪普科技股份有限公司 | 测试环境的自动恢复系统及其方法 |
CN111737138B (zh) * | 2020-06-28 | 2023-05-26 | 杭州迪普科技股份有限公司 | 测试环境的自动恢复系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529653B2 (en) | Message packet logging in a distributed simulation system | |
CN105138461A (zh) | 一种应用程序的接口测试方法及装置 | |
CN103778030B (zh) | 日志子系统写入方法、错误追踪方法及处理器 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN103810107A (zh) | web项目的自动化测试方法 | |
CN104569794A (zh) | 一种基于边界扫描结构的fpga在线测试仪及测试方法 | |
CN108664388A (zh) | 动态字段数据返回接口的测试系统、方法、电子设备和可读存储介质 | |
CN113343617B (zh) | 软硬件协同仿真方法 | |
CN104699617A (zh) | 一种游戏用自动化测试方法 | |
CN103678116A (zh) | 用于促进自动化程序测试的方法和系统 | |
CN105183641B (zh) | 一种内核模块的数据一致性校验方法及系统 | |
CN106326046B (zh) | 存储器控制器的验证环境平台 | |
CN104765671A (zh) | 一种用可重用性层次化验证平台进行uart模块验证的方法 | |
CN103810090A (zh) | 核电站数字化规程安装调试验证的方法、升版方法和平台 | |
US8589734B2 (en) | Verifying correctness of processor transactions | |
CN107832176A (zh) | 一种Windows下硬盘压力自动测试方法及系统 | |
Silva et al. | A view on the past and future of fault injection | |
US11132286B1 (en) | Dynamic reordering of test case execution | |
US20140281719A1 (en) | Explaining excluding a test from a test suite | |
US8601418B1 (en) | Instruction-by-instruction checking on acceleration platforms | |
US10546080B1 (en) | Method and system for identifying potential causes of failure in simulation runs using machine learning | |
US20140143745A1 (en) | Techniques for segmenting of hardware trace and verification of individual trace segments | |
CN104536878A (zh) | 一种验证并发程序中违反原子性错误是否被正确修复的方法 | |
CN104361012A (zh) | 一种城市轨道交通工程线路数据的测试方法及装置 | |
CN105630663B (zh) | 基于任务备份的并行cfd计算容错方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140521 |