高效测试之测试左移的方法与流程

文档序号:31714423发布日期:2022-10-04 21:08阅读:246来源:国知局
高效测试之测试左移的方法与流程

1.本发明涉及软件工程技术领域,特别涉及高效测试之测试左移的方法。


背景技术:

2.在软件开发过程中,软件测试是一项必不可少的工作,目的是减少上线的缺陷,减少上线的风险,但是现在很多测试人员的目光聚焦在功能测试和性能测试,本质上还是以“缺陷发现者”的角色来开展测试工作,这样的做法发现的缺陷数量有限、缺陷种类也有限,还有无法统计代码的覆盖率,导致生产上遗留了很多“不可见”的缺陷。故此,我们提出了高效测试之测试左移的方法。


技术实现要素:

3.本发明的主要目的在于提供高效测试之测试左移的方法,可以有效解决背景技术中的问题。
4.为实现上述目的,本发明采取的技术方案为:
5.高效测试之测试左移的方法,项目启动开始就进入了测试阶段,提前发现问题,防微杜渐,避免积重难返,包括以下步骤:
6.s1:需求分析:测试人员对客户提出的需求信息进行分析,转化成软件人员能够看的懂的软件需求,另外形成测试点,为后续的测试用例编写打好框架;
7.s2:原型评估:产品经理把客户的需求转化成了软件需求(原型),这个阶段,测试人员比对产品的原型和自己整理的软件需求,看是否一致,项目团队成员对需求的理解是否一致,对后续的工作起着至关重要的作用;
8.s3:系统设计评估和数据库评估:开发人员根据产品的原型设计系统的业务架构图,那么测试人员在这个阶段对开发的架构图进行审核,审核业务架构是否适用于当前业务,审核当前业务架构的扩展性。审核数据库的字段类型设计是否合理;
9.s4:测试环境搭建:在开发还在编码的过程中,和运维申请服务器搭建测试环境,形成部署文档,可供后期上线运维人员快速部署生产环境;
10.s5:测试方案和测试用例设计:在软件需求以及产品原型的辅助下,快速编写测试方案和测试用例,方案对内部来说是后续测试工作开展的方向,对外来说,是为客户提供一种信心,向客户交代有关测试过程、人员的技能、资源等信息,测试用例是执行测试的依据,测试用例可以避免盲目测试并且提高测试效率;
11.s6:用例执行:根据用例来对接口、系统功能进行全方位的测试;
12.s7:生产验证:部署生产环境的时候,运维验证测试人员输出的部署文档,部署成功后,测试人员利用冒烟用例验证系统的主要功能。
13.优选的,所述s1中,所述需求分析具体包括以下步骤:
14.s101:根据待测软件相关的各种文档、背景、培训资料或通过常识和以往的工作经验等方式采集测试需求;
15.s102:根据采集的数据信息,将采集到的测试需求进行划分整理,核对测试需求是否完整,并对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;
16.s103:根据生成的测试需求列表进行完整性以及准确性审查,根据测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
17.s104:根据得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分,根据测试任务划分结果反馈软件可测试需求是否准确、全面。
18.优选的,所述s101中,所述采集测试需求具体包括以下步骤:
19.s1011:根据待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;
20.s1012:提取采集数据信息数据特征,建立相应的分类对象,建立相对应的分类对象距离模型;
21.s1013:将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;
22.s1014:将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类。
23.优选的,所述s102中,所述挖掘隐含需求具体包括以下步骤:
24.s1021:根据测试需求划分结果对采集到的相关需求进行测试需求的分析过程中,对所分析的软件可测试需求的数据进行数据预处理,数据清理,数据集成,数据归约,数据变换或者数据离散化;
25.s1022:根据数据变换完成的数据,选择合适最佳模型,再利用最佳模型对变换完成的数据进行结果分析和改进,实现隐含需求数据的挖掘。
26.优选的,所述s6中,所述的用例执行包括接口测试、单元测试、集成测试和回归测试。
27.优选的,所述接口测试,主要是从代码层面验证接口的入参和出参是否合法、完整以及正确;结合测试需求来验证接口的完整性、正确性,主要包括以下步骤:
28.a1:从测试用例中抽取接口测试的用例;
29.a2:测试开发提供的接口文档;
30.a3:根据接口测试用例,结合开发提供的接口文档和现有的接口测试工具对单个接口进行黑盒测试,主要验证入参和出参的合法性、完整性和正确性;另外还要对接口进行性能测试和安全测试;
31.a4:对多个接口进行场景化的测试;
32.a5:形成接口测试报告,后续集成在总的测试报告中。
33.优选的,所述单元测试,主要是从测试点来分析,把系统拆分多个功能模块,每个功能模块拆分成多个测试点,那么测试点就是测试人员所指的最小单元。包括以下步骤:
34.a1:把测试用例以测试点(测试单元)来划分成n个单元的用例;
35.a2:在测试方案的前提下,根据单元测试用例对谋个功能模块进行黑盒测试,验证当前这个功能是否符合需求;
36.a3:对测试过程中产生的bug进行验证,直至单元测试通过。
37.优选的,所述集成测试就是指把测试通过的单元合并在一个形成一个大的单元,逐渐迭代多个单元,形成了一个整体,之后对这个整体进行集成测试,前提是单元测试通过。主要包括以下步骤:
38.a1:把测试通过的软件单元的代码合并在一起;
39.a2:根据测试用例,采用黑盒测试方法进行手工执行用例验证单元之间的衔接点是否正确;
40.a3:重复a1和a2的步骤,直至把所有的单元合并成一个系统测试通过之后进行回归测试。
41.优选的,所述回归测试,就是把之前的旧版本的代码合并到当前集成测试通过的代码中,然后进行测试,确保当前版本的代码不会对之前版本的代码形成致命错误,回归测试包括以下步骤:
42.a1:开发合并生产上跑的代码到当前版本的分支上;
43.a2:接口层面的回归利用自动化框架编写自动化测试脚本,此脚本可在迭代版本期间复用;
44.a3:系统层面的回归,利用黑盒测试方法,手工执行测试用例,确保系统合并了新的代码之后不会产生致命错误;
45.a4:对开发修复的bug进行验证修复;
46.a5:测试通过之后,输出测试报告,此报告是当前版本予以上线的标准。
47.与现有技术相比,本发明具有如下有益效果:
48.1、本发明可提高软件测试需求分析的充分性,并减少和避免测试需求变更给测试工作带来的困难和损失,为敏捷开发测试提供流程上的支持,易于实现,易于推广,且本发明测试得到的软件需求清晰,完整。
49.2、本发明通过测试左移对缺陷类型的掌控更加全面,对缺陷的类型把控更细致,可提高软件测试需求分析的充分性,减少和避免因为需求变更而给开发、测试工作带来困难和损失,提高了整体的质量、缩短了交付时间、减少了交付过程中耗费的变更成本,真正做到了保质保量地交付产品,提升了企业的市场竞争力。
50.3、本发明强调项目参与人员的角色分工,细分测试人员角色,各司其职,测试驱动开发,且明确敏捷开发中测试自动化的层级,从不同粒度保证自动化测试的质量。
附图说明
51.图1为本发明高效测试之测试左移的方法的流程图。
具体实施方式
52.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
53.在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”“前端”、“后端”、“两端”、“一端”、“另一端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的
方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
54.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
55.实施例
56.高效测试之测试左移的方法,项目启动开始就进入了测试阶段,提前发现问题,防微杜渐,避免积重难返,包括以下步骤:
57.s1:需求分析:测试人员对客户提出的需求信息进行分析,转化成软件人员能够看的懂的软件需求,另外形成测试点,为后续的测试用例编写打好框架;
58.需求分析具体包括以下步骤:
59.s101:根据待测软件相关的各种文档、背景、培训资料或通过常识和以往的工作经验等方式采集测试需求;
60.采集测试需求具体包括以下步骤:
61.s1011:根据待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;
62.s1012:提取采集数据信息数据特征,建立相应的分类对象,建立相对应的分类对象距离模型;
63.挖掘隐含需求具体包括以下步骤:
64.s1021:根据测试需求划分结果对采集到的相关需求进行测试需求的分析过程中,对所分析的软件可测试需求的数据进行数据预处理,数据清理,数据集成,数据归约,数据变换或者数据离散化;
65.s1022:根据数据变换完成的数据,选择合适最佳模型,再利用最佳模型对变换完成的数据进行结果分析和改进,实现隐含需求数据的挖掘;
66.s1013:将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;
67.s1014:将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类;
68.s102:根据采集的数据信息,将采集到的测试需求进行划分整理,核对测试需求是否完整,并对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;
69.s103:根据生成的测试需求列表进行完整性以及准确性审查,根据测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
70.s104:根据得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分,根据测试任务划分结果反馈软件可测试需求是否准确、全面;
71.s2:原型评估:产品经理把客户的需求转化成了软件需求(原型),这个阶段,测试
人员比对产品的原型和自己整理的软件需求,看是否一致,项目团队成员对需求的理解是否一致,对后续的工作起着至关重要的作用;
72.s3:系统设计评估和数据库评估:开发人员根据产品的原型设计系统的业务架构图,那么测试人员在这个阶段对开发的架构图进行审核,审核业务架构是否适用于当前业务,审核当前业务架构的扩展性。审核数据库的字段类型设计是否合理;
73.s4:测试环境搭建:在开发还在编码的过程中,和运维申请服务器搭建测试环境,形成部署文档,可供后期上线运维人员快速部署生产环境;
74.s5:测试方案和测试用例设计:在软件需求以及产品原型的辅助下,快速编写测试方案和测试用例,方案对内部来说是后续测试工作开展的方向,对外来说,是为客户提供一种信心,向客户交代有关测试过程、人员的技能、资源等信息,测试用例是执行测试的依据,测试用例可以避免盲目测试并且提高测试效率;
75.s6:用例执行:根据用例来对接口、系统功能进行全方位的测试;的用例执行包括接口测试、单元测试、集成测试和回归测试;
76.接口测试,主要是从代码层面验证接口的入参和出参是否合法、完整以及正确;结合测试需求来验证接口的完整性、正确性,主要包括以下步骤:
77.a1:从测试用例中抽取接口测试的用例;
78.a2:测试开发提供的接口文档;
79.a3:根据接口测试用例,结合开发提供的接口文档和现有的接口测试工具对单个接口进行黑盒测试,主要验证入参和出参的合法性、完整性和正确性;另外还要对接口进行性能测试和安全测试;
80.a4:对多个接口进行场景化的测试;
81.a5:形成接口测试报告,后续集成在总的测试报告中;
82.单元测试,主要是从测试点来分析,把系统拆分多个功能模块,每个功能模块拆分成多个测试点,那么测试点就是测试人员所指的最小单元。包括以下步骤:
83.a1:把测试用例以测试点(测试单元)来划分成n个单元的用例;
84.a2:在测试方案的前提下,根据单元测试用例对谋个功能模块进行黑盒测试,验证当前这个功能是否符合需求;
85.a3:对测试过程中产生的bug进行验证,直至单元测试通过;
86.集成测试就是指把测试通过的单元合并在一个形成一个大的单元,逐渐迭代多个单元,形成了一个整体,之后对这个整体进行集成测试,前提是单元测试通过。主要包括以下步骤:
87.a1:把测试通过的软件单元的代码合并在一起;
88.a2:根据测试用例,采用黑盒测试方法进行手工执行用例验证单元之间的衔接点是否正确;
89.a3:重复a1和a2的步骤,直至把所有的单元合并成一个系统测试通过之后进行回归测试;
90.回归测试,就是把之前的旧版本的代码合并到当前集成测试通过的代码中,然后进行测试,确保当前版本的代码不会对之前版本的代码形成致命错误,回归测试包括以下步骤:
91.a1:开发合并生产上跑的代码到当前版本的分支上;
92.a2:接口层面的回归利用自动化框架编写自动化测试脚本,此脚本可在迭代版本期间复用;
93.a3:系统层面的回归,利用黑盒测试方法,手工执行测试用例,确保系统合并了新的代码之后不会产生致命错误;
94.a4:对开发修复的bug进行验证修复;
95.a5:测试通过之后,输出测试报告,此报告是当前版本予以上线的标准;
96.s7:生产验证:部署生产环境的时候,运维验证测试人员输出的部署文档,部署成功后,测试人员利用冒烟用例验证系统的主要功能。
97.本发明可提高软件测试需求分析的充分性,并减少和避免测试需求变更给测试工作带来的困难和损失,为敏捷开发测试提供流程上的支持,易于实现,易于推广,且本发明测试得到的软件需求清晰,完整;通过测试左移对缺陷类型的掌控更加全面,对缺陷的类型把控更细致,可提高软件测试需求分析的充分性,减少和避免因为需求变更而给开发、测试工作带来困难和损失,提高了整体的质量、缩短了交付时间、减少了交付过程中耗费的变更成本,真正做到了保质保量地交付产品,提升了企业的市场竞争力;强调项目参与人员的角色分工,细分测试人员角色,各司其职,测试驱动开发,且明确敏捷开发中测试自动化的层级,从不同粒度保证自动化测试的质量。
98.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1