摘 要:现阶段,随着敏捷开发等软件编程方式的出现,为软件开发模式带来了新方式。本文根据以往工作经验,对软件测试变化流程和问题进行总结,并从测试策略及计划、测试设计和用例写作、测试的执行和测试的评估、运维问题反馈、测试管理系统的整体设计五方面,论述了测试流程设计和管理系统的实现方法。
关键词:敏捷开发;版本控制;测试流程;管理系统
中图分类号:TP311.52 文献标识码:A 文章编号:2096-4706(2019)13-0025-02
Implementation Analysis of Test Process Design and Management System Based on
Agile and Version Control
SUN Degang
(Shandong Huayu University of Technology,Dezhou 253034,China)
Abstract:At this stage,with the advent of software programming methods such as agile development,it has brought new ways to the software development model. Based on past work experience,this paper summarizes the software test change process and problems,and from five aspects of test strategy and planning,test design and use case writing,test execution and test evaluation,operation and maintenance problem feedback,and overall design of test management system. The implementation of the test process design and management system is discussed.
Keywords:agile development;version control;test process;management system
0 引 言
在具体敏捷和版本控制下进行测试流程设计和管理系统设计,相关工作人员首先要做的就是对软件测试流程进行全面分析,并以此为基础,与具体软件开发和测试流程相适应。后续管理中,人们需要引进具体的版本管理工具,确保管理和测试流程稳定进行。通过上述工作的开展,可以将测试管理工具的作用呈现出来。
1 软件测试变化流程和问题分析
1.1 测试计划阶段
从瀑布模型研究中可以看出,单个版本之中的软件开发周期可以达到几个月,有时还可能达到一年以上,延长了软件计划和需求分析的时间。在此过程中,需求分析师和项目经理等均需要有足够的时间去制定相关设计计划,测试经理则只需要根据实际情况设计测试计划。站在敏捷开发角度来说,一个版本只需要规划大致的开发范围即可,并根据用户体验情况,对开发列表进行补充和顺序调整,此时,软件测试工作也需要随之改变。各个测试经理也需要根据具体项目设计要求,参与到需求分析工作之中。这主要是由于测试经理对系统功能最为熟悉,容易看出系统中存在哪些缺陷,并对软件开发节奏进行有序调整。
1.2 测试设计阶段
一般情况下,瀑布模型中的软件设计在单个版本开发之中能够展示出稳定性特点,这也导致其设计周期进一步延长,为测试人员争取到更多测试用例集的设计时长。但在具体敏捷开发设计之中,往往需要经历设计、重构以及设计再重构,流程极为复杂。总的来说,软件设计本身属于不断进化的过程,这就要求相应的测试用例以及用例组成结构同样应该具备时刻变化的特点,否则无法满足系统的设计需求。
1.3 测试执行阶段和评估阶段
整个模型之中的软件开发工作开展,会留下大量时间让测试人员开展多轮次的测试操作,确保测试执行和问题回归。但从实际软件开发操作中可以看出,该项测试工作被划分到用户交付周期之中,在相关迭代操作结束之后,方可实现对系统的集成测试,在此过程中,各个测试工作人员需要在第一时间内融入开发过程之中。在自动化测试工具的作用之下,测试阶段可以节省大量的人力物力。整个测试评估的重点内容集中在系统稳定性展示以及模块质量上,具体稳定性等指标可以在测试工作全部结束之后,进行系统度量操作。站在敏捷开发角度来说,具体迭代操作应该根据实际用户情况,开展不同形式的质量评估操作,并将最终结果反馈给项目经理,实现用户资源的合理调配[1]。
2 基于敏捷和版本控制的测试流程设计和管理系统实现方法
2.1 测试策略及计划
在实际工作执行过程中,人们可以借助于测试策略,实现对无法预知的软件开发问题进行替代。一般来说,该种测试策略与传统测试计划存在很大不同,只是根据迭代周期进行迭代测试策略的制定,测试内容则不会出现任何改变。例如,当迭代达成之后,需要达成相应的指标,当收敛到一定数量的缺陷之后,才能为下一轮开发创造有利条件。除此之外,在测试计划的制定上,工作人员需要根据具体的迭代开发范围和用户故事,制定出合理的测试计划,此时,每个用户故事的测定时间大约在1天左右。由于测试周期有限,实际测试任务可以精确到半天左右,还要根据实际情况,确保交付工作可以在第一时间内得到全面更新。
2.2 测试设计和用例写作
这个测试设计工作的开展,主要开始于系统分析师对需求做何解释,而且系统分析师除了对设计和开发人员进行讲解之外,还应该参与到设计工作之中。另外,该项操作内容需要在讲解会议上,将用户要点、功能需求以及性能等指标提出来,辅助用户完成相关工作。站在用例写作角度来说,测试写作也属于其中之一,人们可以借助于用户故事需求,对用例写作进行深入性讲解。在该阶段之中,人们需要重点关注的内容是用例分层和原子化形态。所谓分层,主要是将ATC划分出来,而且在后续测试工作开展上,各个开发人员还需要自测试用例。从原子性展示角度来说,用例必须完成相应的功能测试,而且相关功能测试也只能完成一个,为了应对需求方面的变化,原子性中的部分用例同样可以被使用。例如,在很多时候,测试人员会向开发人员提出要求,让其提供某个具体模块的自动化测试用例,进而实现快速发现和回归,倘若自动化测试用例与相关要求不符,ATC自然也会存在很多问题。
2.3 测试的执行和测试的评估
由于人们对ATC自测试形式进行了深入应用,进而为自动化测试工作的执行奠定了基础,此时,人们可以借助于ATC回归测试和自动化测试,对用户故事的转测试进行全面检查,看其是否处于合理状态,如果该用户故事测试与相关要求不符,与之相对应的记录工作也无法通过次数的约束。倘若转测试通过,人们可以借助于完整的测试用例,开展有效的发散测试工作。测试评估过程中,在每个迭代操作时均应该执行,维护需求上线的合理性,并在每个版本工作结束之后,将测试报告提交给相关部门。相比之下,测试报告可以简单,也可以复杂,但在实际版本测试报告之中,需要将迭代测试内容更好地全面展示出来[2]。
2.4 运维问题反馈
当系统的迭代需求上线之后,人们可以借助于合理方法,以及合理的测试环境,确保所有功能均能得到测试,之后将测试结果上传到生产环境之中。此种情况之下,生产环境测试需要转移到线上,尤其是对于一些关键的功能点测试,否则将会对系统后续上线工作的开展带来相应影响,严重时还会导致系统服务中断时间过长。从以往工作中也可以看出,同一版本下的软件测试过程没有顺序规律,几乎每一个迭代都会重复进行,具体一个版本的软件测试过程如图1所示。
2.5 测试管理系统的整体设计
在该系统设计和实现过程中,可以为测试策略的管理和归档等操作提供支撑,每个用户都是测试经理。从问题单管理中也可以看出,主要涉及的流程内容有提交、审核和回归等等。其中,基础功能的建设显得极为重要,主要内容有用户管理、组织管理以及git关联等等,具体模块划分情况如图2所示。该系统的核心模块可以将用例管理和用户管理权限,直接划分给用户管理,将系统的整体性特点展示出来。但从具体敏捷开发角度来说,人们和系统的需求始终处于不断变化的状态之中,与之相对应的设计工作更是处于不同的重构状态。为此,在具体用例设计上,人们主要是根据实际迭代情况,对其进行深入性修改操作,最终形成多版本代码。由于不同迭代版本问题与不同的测试用例相互对应,具体测试用例维护不能一成不变。
3 结 论
综上所述,借助于敏捷开发,可以将具体系统对软件测试的影响全面展示出来,并提出具体的测试流程,确保整个设计和开发工作与测试管理系统的使用。一般来说,在实际软件开发过程中,会应用到git等版本控制工具,但与测试系统并不存在特殊关系,从这里也可以看出,版本关联显得极为重要。
参考文献:
[1] 王羿,洪津,骆冬根,等.基于ECRS分析法的光学载荷发射场测试流程设计和优化 [J].大气与环境光学学报,2019,14(2):123-128.
[2] 侯立刚,杨扬,叶彤旸,等.一种与2D物理设计流程兼容的3D测试基准电路的生成系统 [J].现代电子技术,2017,40(24):5-8.
作者简介:孙德刚(1978.04-),男,汉族,山东德州人,高级工程师,学士学位,研究方向:教育信息化、软件开发。