CN106021113A - 一种精准测试的实现方法 - Google Patents

一种精准测试的实现方法 Download PDF

Info

Publication number
CN106021113A
CN106021113A CN201610377242.1A CN201610377242A CN106021113A CN 106021113 A CN106021113 A CN 106021113A CN 201610377242 A CN201610377242 A CN 201610377242A CN 106021113 A CN106021113 A CN 106021113A
Authority
CN
China
Prior art keywords
test
code
analysis
design
implementation method
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
Application number
CN201610377242.1A
Other languages
English (en)
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610377242.1A priority Critical patent/CN106021113A/zh
Publication of CN106021113A publication Critical patent/CN106021113A/zh
Pending legal-status Critical Current

Links

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/3676Test management for coverage analysis
    • 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

Abstract

本发明公开了一种精准测试的实现方法,具体实现过程为:首先进行测试用例设计;生成并提高测试覆盖率;查找测试的漏测与测试范围评估错误;最后进行回归测试与冒烟测试。该一种精准测试的实现方法与现有技术相比,可以很大程度的增大版本测试的覆盖程度,并且从该工作过程中也锻炼了测试发现问题的能力和判断问题的分析能力,对产品内部程序的逻辑有更深刻的接触和了解,达到精准测试,减少不必要的工作量,保证产品质量,无高风险的测试漏洞,上线更稳定,实用性强,易于推广。

Description

一种精准测试的实现方法
技术领域
本发明涉及产品测试技术领域,具体地说是一种实用性强、精准测试的实现方法。
背景技术
在传统的测试项目中,很多时候测试工作无法像开发一样有一个产品的产出,更大程度增加了对测试工作质量的考核,也就造成了对产品测试完成后无法有一个可靠依据去判断是都能够保证产品在市场中稳定的运行,测试过程中也必然存在着各种各样的问题和困难。精准测试可以将测试过程可视化,数字化,标准化,从而达到被测产品稳定性和质量。
传统测试项目中的问题:
1、测试范围不足、漏测。
经常出现开发改动测试不知道、或者测试范围评估不足以及测试人员对产品没有足够的了解等都会导致测试漏洞风险高,成为线上事故的导火线,并期望能够通过代码覆盖率工具提高覆盖度。
2、进度、时间赶,上线心里没底。
测试:“时间太紧,感觉没测试全就上线,再有几天就好了。”时间紧迫,根本无法规划自己的测试思路和范围,感觉自己没有测全,心里没有底儿。如果可以有工具帮助做测试的筛选和统计就好了,通过代码覆盖率判断产品是否能够达到上线标准。
3、测试回归范围大、成本高。
有时候开发给出的回归范围太大,导致测试回归测试成本很高。时间上和人员上都需要大量的资源投入,还是希望能够通过代码覆盖率工具做到精准测试,从而降低不必要资源的投入,提高工作的效率。
4、测试与开发关系沟通问题。
测试和开发在后期交流中因人为交际因素往往产生各种不可预计的状况。
基于此,在对某一项目整理出来的事故范围进行分析后得知,整个事故中一大半都是因为开发与测试沟通或测试对业务不了解,遗漏而产生的故障。要避免这样的事故,首先需要把占比高的问题解决,就可以从很大程度上提升产品的质量。基于此,现设计了一种精准测试的实现方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、精准测试的实现方法。
一种精准测试的实现方法,具体实现过程为:
首先进行测试用例设计;
生成并提高测试覆盖率;
查找测试的漏测与测试范围评估错误;
最后进行回归测试与冒烟测试。
所述测试用例设计是指采用边界值分析法、正交分析、因果图以及等价类划分的方法进行测试用例的设计。
上述测试用例设计过程中,对于输入框字符长度有限制的采用限制字符数的边界值进行测试用例设计;对于搜索项进行因果图方法设计测试用例;对于列表筛选进行正交分析法进行测试用例的设计;根据用户的体验习惯进行探索性测试;其具体设计过程包括:
正向设计,包括采用特性树的方式进行产品业务分析、通过分层分析和复杂代码识别的方式进行产品代码分析;
测试技术,包括采用边界值分析法、错误推测的方式进行测试设计,设置性能测试和压力测试的测试类型;
逆向设计,即进行缺陷分析,包括缺陷的触发条件、问题根源和检测方法。
生成覆盖率是指使用覆盖率工具进行黑盒测试,具体为:
对待测代码进行插桩;
按模块进行黑盒测试;
获得生成代码覆盖率原始数据文件;
将原始数据文件进行处理并生成最终的测试报告。
提高覆盖率的具体过程为:执行测试用例,一个模块的测试用例执行完毕后,对该模块测试完成后生成的代码覆盖率进行分析,对没有覆盖到的代码进行进一步的分析,即确定该分支是否未被覆盖或是开发的冗余代码,对没有覆盖到的分支补充测试用例并再次测试,生成覆盖率报告直到所有逻辑代码都被执行到。
通过覆盖率报告、测试用例、代码、模块的追溯关联,查看某条代码对应的测试用例,完成测试的漏测检查,查找测试范围评估错误。
所述回归测试与冒烟测试是指:首先根据之前步骤生成的覆盖率的报告,通过测试用例、代码、模块的追溯关联,与要回归的版本进行比对,分析出开发改动所影响最大的回归测试用例;同时新迭代的冒烟测试也根据之前的版本分析的影响范围作为测试的依据。
本发明的一种精准测试的实现方法,具有以下优点:
本发明的一种精准测试的实现方法,可以很大程度的增大版本测试的覆盖程度,并且从该工作过程中也锻炼了测试发现问题的能力和判断问题的分析能力,对产品内部程序的逻辑有更深刻的接触和了解,达到精准测试,减少不必要的工作量,保证产品质量,无高风险的测试漏洞,上线更稳定,实用性强,易于推广。
附图说明
附图1为本发明的测试设计示意图。
附图2为本发明的覆盖率具体执行示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,本发明提供一种精准测试的实现方法,具体实现过程为:
首先进行测试用例设计;
生成并提高测试覆盖率;
查找测试的漏测与测试范围评估错误;
最后进行回归测试与冒烟测试。
测试准备期,基于完善的测试分析及测试用例的设计,为执行期的精准测试打下基础。
采用常规的边界值分析法,正交分析,因果图以及等价类划分等多种方法进行测试用例的设计,例如:
对于输入框字符长度有限制的采用限制字符数的边界值进行测试用例设计;
对于搜索项进行因果图方法设计测试用例;
对于列表筛选进行正交分析法进行测试用例的设计;
根据用户的体验习惯进行探索性测试等。
其具体设计过程如附图1所示:
正向设计,包括采用特性树的方式进行产品业务分析、通过分层分析和复杂代码识别的方式进行产品代码分析;
测试技术,包括采用边界值分析法、错误推测的方式进行测试设计,设置性能测试和压力测试的测试类型;
逆向设计,即进行缺陷分析,包括缺陷的触发条件、问题根源和检测方法。
如附图2所示,生成覆盖率是指使用基于主流开发语言的代码覆盖率工具,本发明以java的覆盖率工具emma为例,进行黑盒测试,具体为:
对待测代码进行插桩;
按模块进行黑盒测试;
获得生成代码覆盖率原始数据文件;
将原始数据文件进行处理并生成最终的测试报告。
提高覆盖率的具体过程为:执行测试用例,一个模块的测试用例执行完毕后,对该模块测试完成后生成的代码覆盖率进行分析,对没有覆盖到的代码进行进一步的分析,即确定该分支是否未被覆盖或是开发的冗余代码,对没有覆盖到的分支补充测试用例并再次测试,生成覆盖率报告直到所有逻辑代码都被执行到。
在传统的测试中,开发人员改动某个功能后,因开发人员不知道该功能会影响多少其它的调用功能,导致在和测试交代改动功能时候,往往会出现遗漏,以至于测试范围评估错误,通过覆盖率报告、测试用例、代码、模块的追溯关联,测试人员可以明确的看出某条代码对应的测试用例,以至可以督促开发修改过程中更多的考虑一致性修改。
所述回归测试与冒烟测试是指:
正常的回归测试一般会被要求做全量的回归,但是因为时间紧等因素导致测试不全。精准测试根据之前生成的覆盖率的报告可以通过测试用例、代码、模块的追溯关联,与要回归的版本进行比对。分析出开发改动所影响最大的回归测试用例。新迭代的冒烟测试也可以根据之前的版本分析的影响范围作为测试的依据。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种精准测试的实现方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (7)

1.一种精准测试的实现方法,其特征在于,具体实现过程为:
首先进行测试用例设计;
生成并提高测试覆盖率;
查找测试的漏测与测试范围评估错误;
最后进行回归测试与冒烟测试。
2.根据权利要求1所述的一种精准测试的实现方法,其特征在于,所述测试用例设计是指采用边界值分析法、正交分析、因果图以及等价类划分的方法进行测试用例的设计。
3.根据权利要求2所述的一种精准测试的实现方法,其特征在于,上述测试用例设计过程中,对于输入框字符长度有限制的采用限制字符数的边界值进行测试用例设计;对于搜索项进行因果图方法设计测试用例;对于列表筛选进行正交分析法进行测试用例的设计;根据用户的体验习惯进行探索性测试;其具体设计过程包括:
正向设计,包括采用特性树的方式进行产品业务分析、通过分层分析和复杂代码识别的方式进行产品代码分析;
测试技术,包括采用边界值分析法、错误推测的方式进行测试设计,设置性能测试和压力测试的测试类型;
逆向设计,即进行缺陷分析,包括缺陷的触发条件、问题根源和检测方法。
4.根据权利要求1所述的一种精准测试的实现方法,其特征在于,生成覆盖率是指使用覆盖率工具进行黑盒测试,具体为:
对待测代码进行插桩;
按模块进行黑盒测试;
获得生成代码覆盖率原始数据文件;
将原始数据文件进行处理并生成最终的测试报告。
5.根据权利要求4所述的一种精准测试的实现方法,其特征在于,提高覆盖率的具体过程为:执行测试用例,一个模块的测试用例执行完毕后,对该模块测试完成后生成的代码覆盖率进行分析,对没有覆盖到的代码进行进一步的分析,即确定该分支是否未被覆盖或是开发的冗余代码,对没有覆盖到的分支补充测试用例并再次测试,生成覆盖率报告直到所有逻辑代码都被执行到。
6.根据权利要求5所述的一种精准测试的实现方法,其特征在于,通过覆盖率报告、测试用例、代码、模块的追溯关联,查看某条代码对应的测试用例,完成测试的漏测检查,查找测试范围评估错误。
7.根据权利要求5所述的一种精准测试的实现方法,其特征在于,所述回归测试与冒烟测试是指:首先根据之前步骤生成的覆盖率的报告,通过测试用例、代码、模块的追溯关联,与要回归的版本进行比对,分析出开发改动所影响最大的回归测试用例;同时新迭代的冒烟测试也根据之前的版本分析的影响范围作为测试的依据。
CN201610377242.1A 2016-05-31 2016-05-31 一种精准测试的实现方法 Pending CN106021113A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610377242.1A CN106021113A (zh) 2016-05-31 2016-05-31 一种精准测试的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610377242.1A CN106021113A (zh) 2016-05-31 2016-05-31 一种精准测试的实现方法

Publications (1)

Publication Number Publication Date
CN106021113A true CN106021113A (zh) 2016-10-12

Family

ID=57092888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610377242.1A Pending CN106021113A (zh) 2016-05-31 2016-05-31 一种精准测试的实现方法

Country Status (1)

Country Link
CN (1) CN106021113A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388545A (zh) * 2018-01-26 2018-08-10 浪潮软件集团有限公司 一种文本输入框测试数据的生成方法及工具
CN109800176A (zh) * 2019-02-26 2019-05-24 盛科网络(苏州)有限公司 芯片代码覆盖率交付方法和系统
CN110750459A (zh) * 2019-10-23 2020-02-04 天津汇缘诚信科技有限公司 基于白盒分析的测试用例自动生成和测试进程管理方法
CN111597121A (zh) * 2020-07-24 2020-08-28 四川新网银行股份有限公司 一种基于历史测试用例挖掘的精准测试方法
CN114281056A (zh) * 2021-11-16 2022-04-05 大运汽车股份有限公司 一种整车控制器功能测试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593145A (zh) * 2008-05-29 2009-12-02 福建升腾资讯有限公司 高效性高覆盖率功能测试用例设计方法
CN101996130A (zh) * 2009-08-13 2011-03-30 上海杉达学院 软件测试系统
CN101996069A (zh) * 2009-08-13 2011-03-30 上海杉达学院 用于软件测试的测试代码生成系统
CN102043710A (zh) * 2009-10-22 2011-05-04 上海杉达学院 可视化软件测试系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593145A (zh) * 2008-05-29 2009-12-02 福建升腾资讯有限公司 高效性高覆盖率功能测试用例设计方法
CN101996130A (zh) * 2009-08-13 2011-03-30 上海杉达学院 软件测试系统
CN101996069A (zh) * 2009-08-13 2011-03-30 上海杉达学院 用于软件测试的测试代码生成系统
CN102043710A (zh) * 2009-10-22 2011-05-04 上海杉达学院 可视化软件测试系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388545A (zh) * 2018-01-26 2018-08-10 浪潮软件集团有限公司 一种文本输入框测试数据的生成方法及工具
CN109800176A (zh) * 2019-02-26 2019-05-24 盛科网络(苏州)有限公司 芯片代码覆盖率交付方法和系统
CN110750459A (zh) * 2019-10-23 2020-02-04 天津汇缘诚信科技有限公司 基于白盒分析的测试用例自动生成和测试进程管理方法
CN110750459B (zh) * 2019-10-23 2023-10-20 天津汇缘诚信科技有限公司 基于白盒分析的测试用例自动生成和测试进程管理方法
CN111597121A (zh) * 2020-07-24 2020-08-28 四川新网银行股份有限公司 一种基于历史测试用例挖掘的精准测试方法
CN114281056A (zh) * 2021-11-16 2022-04-05 大运汽车股份有限公司 一种整车控制器功能测试方法

Similar Documents

Publication Publication Date Title
Jan et al. An innovative approach to investigate various software testing techniques and strategies
Perez et al. A test-suite diagnosability metric for spectrum-based fault localization approaches
CN106021113A (zh) 一种精准测试的实现方法
Khan Different forms of software testing techniques for finding errors
Acharya et al. Bridge between black box and white box–gray box testing technique
Neto et al. A regression testing approach for software product lines architectures
Singh et al. A systematic review on fault based mutation testing techniques and tools for Aspect-J programs
CN105760299A (zh) 一种基于智能变电站全自动脚本测试方法
Aho et al. Murphy tools: Utilizing extracted gui models for industrial software testing
CN104635144A (zh) 一种不依赖基准曲线的硬件木马检测方法
González et al. Test data generation for model transformations combining partition and constraint analysis
Brown et al. Software testing
Nouman et al. Software testing: A survey and tutorial on white and black-box testing of C/C++ programs
CN105183658A (zh) 测试软件代码的方法及装置
Tran et al. Assessing test artifact quality—A tertiary study
Vanciu et al. Hidden dependencies in software systems
CN103309805A (zh) xUnit框架下面向对象软件中测试目标的自动化选择方法
CN105550110B (zh) 软件图形用户人机接口测试用例的自动生成方法
Burrows et al. Reasoning about faults in aspect-oriented programs: a metrics-based evaluation
Gegick et al. Toward the use of automated static analysis alerts for early identification of vulnerability-and attack-prone components
Chauhan Smoke testing
CN106294174B (zh) 测试充分性的多维度度量方法及装置
CN104572470B (zh) 一种基于蜕变关系的整数溢出故障检测方法
CN104536880A (zh) 基于符号执行的gui程序测试用例扩增方法
CN107402883B (zh) 一种数据测试处理方法和装置

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

Application publication date: 20161012

RJ01 Rejection of invention patent application after publication