面向微服务架构的软件自动化测试方法研究

被引量 : 0次 | 上传用户:siyang2003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着云计算技术的成熟与流行,软件服务的架构与开发模式趋向于以云计算平台为核心。以分布式独立运行的微服务作为组成软件基本单元的微服务架构因为能充分利用云计算平台的优势迅速成为了现代软件生态的主流。全球数字化转型带来的井喷的需求以及云计算平台提供的高效的部署能力,使得主流的开发模式转向了频繁发布、快速迭代的持续交付模式。软件架构与开发模式的革新给软件自动化测试带来了全新的挑战。在微服务架构中,单个服务的执行极易受到执行环境的影响,导致测试结果不可控,对测试效果以及后续的问题分析造成了不利的影响。被测服务输入数据中存在的大量与被测服务无关的数据字段以及缺乏描述的字段间约束关系也显著地影响了自动化测试的效果和效率。从另一方面来说,微服务架构软件的技术底座也为软件自动化测试创造了不少有利条件。典型地,云计算平台提供的基础设施使得测试人员能够更加方便地获取被测服务的执行记录,用于问题分析和指导自动化测试过程;而高效便捷的多实例部署能力使得差异测试等方法的施行变得更加容易。本文立足于上述挑战与机遇,通过与业界一线金融科技企业的深入合作,以现代金融科技软件为典型研究对象,致力于设计一系列适用于微服务架构软件及开发模式的自动化测试方法,主要目标是提高被测服务的测试覆盖率,对被测服务的健壮性和安全性进行更加完备的测试,主要工作和创新点为:·Fin Fuzzer:结合执行环境模拟与字段相关性鉴别的自动化测试方法。该方法使用执行环境模拟以及字段相关性鉴别这两种优化方法弥补了由测试结果不可控以及输入数据中存在大量与被测服务无关的字段两大问题对测试效果与效率带来的损失。实验结果显示应用执行环境模拟后在代码覆盖率上能够获得最高7.9%的提升,使用字段相关性鉴别方法能使达成相同测试覆盖率所需的时间降低27%至74%不等。·Fin Hunter:基于多源信息与搜索的测试数据生成方法。该方法以被测服务的线上执行记录作为基础,结合基于搜索的软件测试的思想,利用遗传算法进行测试数据的完全自动化生成。该方法使用了基因池扩充技术,利用源代码以及其他相似服务等多个来源的信息解决线上执行记录中用户历史输入数据的偏向性带来的数据不充分的问题,并使用多级交叉策略以降低生成异常数据的概率。在实验中,该方法相比于工业界目前常用的录制-重放方法在代码覆盖率上获得了12.8%左右的提升。·Fin Expert:基于领域知识的测试数据生成方法。该方法针对被测服务尚未上线运行或出于性能考虑未集成遥测功能等线上执行记录难以获取的场景,设计了一种不依赖执行记录的测试数据生成方法。该方法提供一种领域专有语言,供领域专家表达有关被测服务输入数据的领域知识,并以此为依据进行测试数据生成。相比于完全由人工编写测试数据的情况,该方法能够大幅降低人力成本需求,并获得较好的测试覆盖率。在实际应用中,该方法使得测试人员在测试环节消耗的工时降低了69.5%,而分支覆盖率相比以往的方法最高可以提升16%。·Hydra:基于多版本执行结果对比的测试结果评估方法。该方法为软件重构与新功能开发同步进行的场景提供了一种版本兼容性验证的手段,通过交叉对比多个版本在输入同一测试数据时的执行结果,筛选出最有可能暴露兼容性问题的测试数据,降低了测试人员对执行结果进行评估的成本,提高了效率。我们在实验中将多组错误注入到被测软件服务中,结果显示能暴露兼容性问题的测试数据都能被以较高的优先级筛选出来,验证了方法的有效性。本文的工作有助于软件自动化测试在微服务架构下得到更好的应用,进一步提高软件的开发效率。
其他文献
初中数学的系统性以及抽象性相对更强,需要学生具备一定的逻辑思维以及空间思维能力,但是在传统课堂教学过程中,教师占用的时间较长,课堂教学模式单一,学生的主体性以及自主性往往无法得到充分发挥,这种情况的出现导致课堂教学效率和质量较低。另外,教师会利用课下练习的方式去提升学生对数学知识的掌握与运用能力,这就会导致初中生在学习数学时出现不适应以及疲惫感等情况,数学课堂教学效率低下,学生学习负担加重,学生对
会议
新兴技术区块链,具备颠覆现有许多传统行业的潜力。区块链基本版本1.0诞生以来,逐渐在各个领域得到应用,获得大量交易数据。随着技术更新迭代,以太网为代表的合同区块链技术2.0诞生,区块链数据类型进一步丰富。区块链技术的不断发展为技术创新提供技术支撑,为研究人员通过分析区块链数据解决相关问题带来新机遇的同时,在应用中也伴随着一些新的问题和风险。因此,分析总结目前区块链技术的优劣、在实际应用中风险的评估
期刊
随着"双减"政策的实施,教师和学校都必须重视课堂教学,以缓解学生的学习压力。在新的教育环境和新的教学需要下,学校要抓住这个原则,加强教育和教学的管理,采取有针对性的、有针对性的、有成效的教学手段,从而实现"减负","不降低学习的质量"的新要求。
会议
依据中学数学教学工作的特点,对构建“双减”下初中数学教学的重要环节,如预习、信息化课堂、课后作业等方面的优化进行了研究,并提出相关具体措施。同时建立了多层次的教学评价因素体系,对评价因素进行了具体分析,使评价体系能贴近中学生学情特点,使评价结果更趋合理,从而以新的数学教学模式,提高教学实效,成就学生的多元化发展。
期刊
为了更好地促进学生的健康发展,"双减"是中国新一轮教育改革的重要内容。"双减"不仅强调要减少学生的课业负担,还强调要提高教育质量,为学生提供高品质的教育。在"双减"的大环境下,中学数学教师要想在课堂上更好地开展课堂教学,更好地发挥自己的作用,就必须从"减负""增效""高效"三个方面进行探讨。
会议
近年来,随着素质教育的深入开展,双减政策也在此环境下提出,这对初中教学的改革和创新提出了更高的要求。为了减轻学生的学习负担,如何在保证课堂教学质量的前提下,减轻学生的学习压力。鉴于此,论文着重分析了双减背景下初中数学教学现状,提出了具体的优化策略。
会议
随着素质教育改革理念的不断深化以及教学体制改革进程的加快,对学生身心发展的关注度也在不断提升,为了降低学生的学习压力和课业负担,保障学生心理的健康发展,国务院出台了"双减"正常,各级教育部门以及教育机构也在教育教学的过程中进行落实。这一政策的出台为初中数学教学改革提供了方向,需要在减负的同时,做到提质增效,为学生提供更加优质的数学的课堂教学服务,促进学生学习主动性和积极性的提升,提升数学教学质量、
会议
温室效应导致全球气候变暖,随之产生较多的环境问题,能源大量消耗导致碳排放加速,经济社会发展的同时,过度碳排放导致的环境恶化引起了高度重视,文章选用2003—2017年的中国能源消费数据,利用IPCC清单编制法,从能源消费结构、碳排放现状、能源消费强度、行业碳排放进行分析,得出相关的结论。
期刊
"双减"是指学生在"双减"制度下的主要学习地点,"双减"可以缓解学生的学习压力,矫正"课外辅导"的泛滥,提高课堂教学的效率和质量,让学生在课堂上学会正确的学习方式,让学生对数学产生了浓厚的兴趣。同时,"双减法"的出台,也改变了老师和父母的错误观念,使我们的教育走向合理化、科学化,并从整体上促进了学生的身体和心理的健康发展。在初中数学教学中,老师要对学生进行有计划的数学探究,使学生在做初中、在学中做
会议
"双减"的实施给初中数学带来了新的挑战,当前,在"双减"政策的指导下,如何准确把握好教学方向,是当前初中数学教育面临的一个重大问题,也是每个一线老师都必须认真思考的问题。初中数学教师要根据"双减"的要求,制定适合自己的教学策略,把新的课程观和学科素养的培养目标贯彻到课堂上,让学生轻松地进入数学课堂,帮助他们掌握数学知识和技巧,促进他们养成良好的数学学习习惯,从而提高他们的数学素养。
会议